Minor: use IntrinsicMethods.INTRINSICS_CLASS_NAME where appropriate
This commit is contained in:
+2
-1
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.codegen.optimization.boxing
|
|||||||
import com.google.common.collect.ImmutableSet
|
import com.google.common.collect.ImmutableSet
|
||||||
import org.jetbrains.kotlin.codegen.AsmUtil
|
import org.jetbrains.kotlin.codegen.AsmUtil
|
||||||
import org.jetbrains.kotlin.codegen.RangeCodegenUtil
|
import org.jetbrains.kotlin.codegen.RangeCodegenUtil
|
||||||
|
import org.jetbrains.kotlin.codegen.intrinsics.IntrinsicMethods
|
||||||
import org.jetbrains.kotlin.codegen.optimization.common.OptimizationBasicInterpreter
|
import org.jetbrains.kotlin.codegen.optimization.common.OptimizationBasicInterpreter
|
||||||
import org.jetbrains.kotlin.codegen.optimization.common.StrictBasicValue
|
import org.jetbrains.kotlin.codegen.optimization.common.StrictBasicValue
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
@@ -228,7 +229,7 @@ fun areSameTypedBoxedValues(values: List<BasicValue>): Boolean {
|
|||||||
fun AbstractInsnNode.isAreEqualIntrinsic() =
|
fun AbstractInsnNode.isAreEqualIntrinsic() =
|
||||||
isMethodInsnWith(Opcodes.INVOKESTATIC) {
|
isMethodInsnWith(Opcodes.INVOKESTATIC) {
|
||||||
name == "areEqual" &&
|
name == "areEqual" &&
|
||||||
owner == "kotlin/jvm/internal/Intrinsics" &&
|
owner == IntrinsicMethods.INTRINSICS_CLASS_NAME &&
|
||||||
desc == "(Ljava/lang/Object;Ljava/lang/Object;)Z"
|
desc == "(Ljava/lang/Object;Ljava/lang/Object;)Z"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.codegen.optimization.boxing
|
|||||||
|
|
||||||
import com.intellij.openapi.util.Pair
|
import com.intellij.openapi.util.Pair
|
||||||
import org.jetbrains.kotlin.codegen.inline.InlineCodegenUtil
|
import org.jetbrains.kotlin.codegen.inline.InlineCodegenUtil
|
||||||
|
import org.jetbrains.kotlin.codegen.intrinsics.IntrinsicMethods
|
||||||
import org.jetbrains.kotlin.codegen.optimization.common.StrictBasicValue
|
import org.jetbrains.kotlin.codegen.optimization.common.StrictBasicValue
|
||||||
import org.jetbrains.kotlin.codegen.optimization.common.*
|
import org.jetbrains.kotlin.codegen.optimization.common.*
|
||||||
import org.jetbrains.kotlin.codegen.optimization.fixStack.peek
|
import org.jetbrains.kotlin.codegen.optimization.fixStack.peek
|
||||||
@@ -455,7 +456,7 @@ class RedundantBoxingMethodTransformer : MethodTransformer() {
|
|||||||
|
|
||||||
else -> {
|
else -> {
|
||||||
// Can't fuse with branching instruction. Use Intrinsics#compare(int, int).
|
// Can't fuse with branching instruction. Use Intrinsics#compare(int, int).
|
||||||
set(insn, MethodInsnNode(Opcodes.INVOKESTATIC, "kotlin/jvm/internal/Intrinsics", "compare", "(II)I", false))
|
set(insn, MethodInsnNode(Opcodes.INVOKESTATIC, IntrinsicMethods.INTRINSICS_CLASS_NAME, "compare", "(II)I", false))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-3
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.codegen.optimization.nullCheck
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.codegen.coroutines.withInstructionAdapter
|
import org.jetbrains.kotlin.codegen.coroutines.withInstructionAdapter
|
||||||
import org.jetbrains.kotlin.codegen.inline.ReifiedTypeInliner
|
import org.jetbrains.kotlin.codegen.inline.ReifiedTypeInliner
|
||||||
|
import org.jetbrains.kotlin.codegen.intrinsics.IntrinsicMethods
|
||||||
import org.jetbrains.kotlin.codegen.optimization.DeadCodeEliminationMethodTransformer
|
import org.jetbrains.kotlin.codegen.optimization.DeadCodeEliminationMethodTransformer
|
||||||
import org.jetbrains.kotlin.codegen.optimization.common.OptimizationBasicInterpreter
|
import org.jetbrains.kotlin.codegen.optimization.common.OptimizationBasicInterpreter
|
||||||
import org.jetbrains.kotlin.codegen.optimization.common.StrictBasicValue
|
import org.jetbrains.kotlin.codegen.optimization.common.StrictBasicValue
|
||||||
@@ -403,21 +404,21 @@ internal fun AbstractInsnNode.isInstanceOfOrNullCheck() =
|
|||||||
|
|
||||||
internal fun AbstractInsnNode.isCheckParameterIsNotNull() =
|
internal fun AbstractInsnNode.isCheckParameterIsNotNull() =
|
||||||
isInsn<MethodInsnNode>(Opcodes.INVOKESTATIC) {
|
isInsn<MethodInsnNode>(Opcodes.INVOKESTATIC) {
|
||||||
owner == "kotlin/jvm/internal/Intrinsics" &&
|
owner == IntrinsicMethods.INTRINSICS_CLASS_NAME &&
|
||||||
name == "checkParameterIsNotNull" &&
|
name == "checkParameterIsNotNull" &&
|
||||||
desc == "(Ljava/lang/Object;Ljava/lang/String;)V"
|
desc == "(Ljava/lang/Object;Ljava/lang/String;)V"
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun AbstractInsnNode.isCheckExpressionValueIsNotNull() =
|
internal fun AbstractInsnNode.isCheckExpressionValueIsNotNull() =
|
||||||
isInsn<MethodInsnNode>(Opcodes.INVOKESTATIC) {
|
isInsn<MethodInsnNode>(Opcodes.INVOKESTATIC) {
|
||||||
owner == "kotlin/jvm/internal/Intrinsics" &&
|
owner == IntrinsicMethods.INTRINSICS_CLASS_NAME &&
|
||||||
name == "checkExpressionValueIsNotNull" &&
|
name == "checkExpressionValueIsNotNull" &&
|
||||||
desc == "(Ljava/lang/Object;Ljava/lang/String;)V"
|
desc == "(Ljava/lang/Object;Ljava/lang/String;)V"
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun AbstractInsnNode.isThrowNpeIntrinsic() =
|
internal fun AbstractInsnNode.isThrowNpeIntrinsic() =
|
||||||
isInsn<MethodInsnNode>(Opcodes.INVOKESTATIC) {
|
isInsn<MethodInsnNode>(Opcodes.INVOKESTATIC) {
|
||||||
owner == "kotlin/jvm/internal/Intrinsics" &&
|
owner == IntrinsicMethods.INTRINSICS_CLASS_NAME &&
|
||||||
name == "throwNpe" &&
|
name == "throwNpe" &&
|
||||||
desc == "()V"
|
desc == "()V"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user