From bddfd086f617f6f85736e7a0a51f5d033f8cbfd7 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Mon, 16 Aug 2021 13:03:51 +0300 Subject: [PATCH] JVM minor reuse updateMaxStack in CoroutineTransformerMethodVisitor --- .../CoroutineTransformerMethodVisitor.kt | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/CoroutineTransformerMethodVisitor.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/CoroutineTransformerMethodVisitor.kt index 40437f9f729..4976b4ef34b 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/CoroutineTransformerMethodVisitor.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/CoroutineTransformerMethodVisitor.kt @@ -83,7 +83,7 @@ class CoroutineTransformerMethodVisitor( RedundantLocalsEliminationMethodTransformer(suspensionPoints) .transform(containingClassInternalName, methodNode) ChangeBoxingMethodTransformer.transform(containingClassInternalName, methodNode) - updateMaxStack(methodNode) + methodNode.updateMaxStack() checkForSuspensionPointInsideMonitor(methodNode, suspensionPoints) @@ -119,7 +119,7 @@ class CoroutineTransformerMethodVisitor( } // Actual max stack might be increased during the previous phases - updateMaxStack(methodNode) + methodNode.updateMaxStack() UninitializedStoresProcessor(methodNode, shouldPreserveClassInitialization).run() @@ -428,20 +428,6 @@ class CoroutineTransformerMethodVisitor( ) } - private fun updateMaxStack(methodNode: MethodNode) { - methodNode.instructions.resetLabels() - methodNode.accept( - MaxStackFrameSizeAndLocalsCalculator( - Opcodes.API_VERSION, methodNode.access, methodNode.desc, - object : MethodVisitor(Opcodes.API_VERSION) { - override fun visitMaxs(maxStack: Int, maxLocals: Int) { - methodNode.maxStack = maxStack - } - } - ) - ) - } - private fun prepareMethodNodePreludeForNamedFunction(methodNode: MethodNode) { val objectTypeForState = Type.getObjectType(classBuilderForCoroutineState.thisName) val continuationArgumentIndex = getLastParameterIndex(methodNode.desc, methodNode.access)