[JVM] Drop boxingInterpreter constructor parameter from BoxingFrame

This commit is contained in:
Ivan Kylchik
2023-09-06 12:21:41 +02:00
committed by Space Team
parent 6d57cbe23c
commit 38dd75c6c8
2 changed files with 3 additions and 2 deletions
@@ -10,12 +10,13 @@ import org.jetbrains.org.objectweb.asm.tree.analysis.BasicValue
import org.jetbrains.org.objectweb.asm.tree.analysis.Frame
import org.jetbrains.org.objectweb.asm.tree.analysis.Interpreter
class BoxingFrame(nLocals: Int, nStack: Int, private val boxingInterpreter: BoxingInterpreter) : Frame<BasicValue>(nLocals, nStack) {
class BoxingFrame(nLocals: Int, nStack: Int) : Frame<BasicValue>(nLocals, nStack) {
override fun merge(frame: Frame<out BasicValue>, interpreter: Interpreter<BasicValue>): Boolean {
if (stackSize != frame.stackSize) {
throw AnalyzerException(null, "Incompatible stack heights")
}
val boxingInterpreter = interpreter as BoxingInterpreter
var changed = false
for (i in 0 until locals) {
val local = getLocal(i)
@@ -44,7 +44,7 @@ class RedundantBoxingMethodTransformer(private val generationState: GenerationSt
val interpreter = RedundantBoxingInterpreter(node, generationState)
val analyzer = FastMethodAnalyzer<BasicValue>(
internalClassName, node, interpreter, pruneExceptionEdges = false
) { nLocals, nStack -> BoxingFrame(nLocals, nStack, interpreter) }
) { nLocals, nStack -> BoxingFrame(nLocals, nStack) }
val frames = analyzer.analyze()
interpretPopInstructionsForBoxedValues(interpreter, node, frames)