[JVM] Drop boxingInterpreter constructor parameter from BoxingFrame
This commit is contained in:
+2
-1
@@ -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.Frame
|
||||||
import org.jetbrains.org.objectweb.asm.tree.analysis.Interpreter
|
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 {
|
override fun merge(frame: Frame<out BasicValue>, interpreter: Interpreter<BasicValue>): Boolean {
|
||||||
if (stackSize != frame.stackSize) {
|
if (stackSize != frame.stackSize) {
|
||||||
throw AnalyzerException(null, "Incompatible stack heights")
|
throw AnalyzerException(null, "Incompatible stack heights")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val boxingInterpreter = interpreter as BoxingInterpreter
|
||||||
var changed = false
|
var changed = false
|
||||||
for (i in 0 until locals) {
|
for (i in 0 until locals) {
|
||||||
val local = getLocal(i)
|
val local = getLocal(i)
|
||||||
|
|||||||
+1
-1
@@ -44,7 +44,7 @@ class RedundantBoxingMethodTransformer(private val generationState: GenerationSt
|
|||||||
val interpreter = RedundantBoxingInterpreter(node, generationState)
|
val interpreter = RedundantBoxingInterpreter(node, generationState)
|
||||||
val analyzer = FastMethodAnalyzer<BasicValue>(
|
val analyzer = FastMethodAnalyzer<BasicValue>(
|
||||||
internalClassName, node, interpreter, pruneExceptionEdges = false
|
internalClassName, node, interpreter, pruneExceptionEdges = false
|
||||||
) { nLocals, nStack -> BoxingFrame(nLocals, nStack, interpreter) }
|
) { nLocals, nStack -> BoxingFrame(nLocals, nStack) }
|
||||||
val frames = analyzer.analyze()
|
val frames = analyzer.analyze()
|
||||||
|
|
||||||
interpretPopInstructionsForBoxedValues(interpreter, node, frames)
|
interpretPopInstructionsForBoxedValues(interpreter, node, frames)
|
||||||
|
|||||||
Reference in New Issue
Block a user