[JVM] Drop StoreLoadInterpreter class
This commit is contained in:
+2
-4
@@ -42,8 +42,6 @@ import org.jetbrains.org.objectweb.asm.tree.analysis.Frame
|
||||
import org.jetbrains.org.objectweb.asm.tree.analysis.Interpreter
|
||||
import org.jetbrains.org.objectweb.asm.tree.analysis.Value
|
||||
|
||||
abstract class StoreLoadInterpreter<V : Value> : Interpreter<V>(API_VERSION)
|
||||
|
||||
class StoreLoadFrame<V : Value>(val maxLocals: Int) : Frame<V>(maxLocals, 0) {
|
||||
override fun execute(insn: AbstractInsnNode, interpreter: Interpreter<V>) {
|
||||
when (insn.opcode) {
|
||||
@@ -66,8 +64,8 @@ class StoreLoadFrame<V : Value>(val maxLocals: Int) : Frame<V>(maxLocals, 0) {
|
||||
class FastStoreLoadAnalyzer<V : Value>(
|
||||
owner: String,
|
||||
method: MethodNode,
|
||||
interpreter: StoreLoadInterpreter<V>
|
||||
) : FastAnalyzer<V, StoreLoadInterpreter<V>, StoreLoadFrame<V>>(owner, method, interpreter) {
|
||||
interpreter: Interpreter<V>
|
||||
) : FastAnalyzer<V, Interpreter<V>, StoreLoadFrame<V>>(owner, method, interpreter) {
|
||||
private val isMergeNode = FastMethodAnalyzer.findMergeNodes(method)
|
||||
|
||||
override fun analyzeInstruction(
|
||||
|
||||
+3
-1
@@ -10,10 +10,12 @@ import org.jetbrains.kotlin.codegen.optimization.common.isMeaningful
|
||||
import org.jetbrains.kotlin.codegen.optimization.common.isStoreOperation
|
||||
import org.jetbrains.kotlin.utils.SmartSet
|
||||
import org.jetbrains.org.objectweb.asm.Opcodes
|
||||
import org.jetbrains.org.objectweb.asm.Opcodes.API_VERSION
|
||||
import org.jetbrains.org.objectweb.asm.Type
|
||||
import org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode
|
||||
import org.jetbrains.org.objectweb.asm.tree.MethodNode
|
||||
import org.jetbrains.org.objectweb.asm.tree.VarInsnNode
|
||||
import org.jetbrains.org.objectweb.asm.tree.analysis.Interpreter
|
||||
import org.jetbrains.org.objectweb.asm.tree.analysis.Value
|
||||
|
||||
|
||||
@@ -155,7 +157,7 @@ class TemporaryValsAnalyzer {
|
||||
|
||||
private class StoreTrackingInterpreter(
|
||||
private val storeInsnToStoreData: Map<VarInsnNode, StoreData>
|
||||
) : StoreLoadInterpreter<StoredValue>() {
|
||||
) : Interpreter<StoredValue>(API_VERSION) {
|
||||
|
||||
override fun newEmptyValue(local: Int): StoredValue = StoredValue.Unknown
|
||||
|
||||
|
||||
Reference in New Issue
Block a user