From ce79fc77c97ed7cf99c457e73c485fcf5d740782 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Wed, 28 Jul 2021 17:40:04 +0300 Subject: [PATCH] JVM minor cleanup in bytecode analyzers --- .../optimization/common/FastMethodAnalyzer.kt | 33 ------------------- .../fixStack/FastStackAnalyzer.kt | 2 +- 2 files changed, 1 insertion(+), 34 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/FastMethodAnalyzer.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/FastMethodAnalyzer.kt index fba70b929f7..d6d48dbfe69 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/FastMethodAnalyzer.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/FastMethodAnalyzer.kt @@ -33,7 +33,6 @@ package org.jetbrains.kotlin.codegen.optimization.common -import org.jetbrains.kotlin.codegen.inline.insnOpcodeText import org.jetbrains.kotlin.codegen.inline.insnText import org.jetbrains.kotlin.utils.SmartList import org.jetbrains.org.objectweb.asm.Opcodes @@ -174,7 +173,6 @@ open class FastMethodAnalyzer( } } } - // Every try-catch block handler entry point is SPB entry point for (tcb in method.tryCatchBlocks) { isMergeNode[tcb.handler.indexOf()] = true } @@ -254,35 +252,4 @@ open class FastMethodAnalyzer( queue[top++] = dest } } - - @Suppress("unused") - private fun dumpBlocksInfo() { - fun LabelNode?.labelText() = - if (this != null) "L#${indexOf()}" else "L" - - println("===== ${method.name} ${method.signature} ======") - for ((i, insn) in insnsArray.withIndex()) { - val insnText = when (insn) { - is LabelNode -> - "L#$i" - is JumpInsnNode -> - "${insn.insnOpcodeText} ${insn.label.labelText()}" - is TableSwitchInsnNode -> - "${insn.insnOpcodeText} min=${insn.min} max=${insn.max} \n\t\t\t" + - "[${insn.labels.joinToString { it.labelText() }}] \n\t\t\t" + - "dflt:${insn.dflt.labelText()}" - is LookupSwitchInsnNode -> - "${insn.insnOpcodeText} \n\t\t\t" + - "[${insn.keys.zip(insn.labels).joinToString { (key, label) -> "$key: ${label.labelText()}" }}] \n\t\t\t" + - "dflt:${insn.dflt.labelText()}" - else -> - insn.insnText - } - println("$i\t$insnText") - } - for (tcb in method.tryCatchBlocks) { - println("\tTCB start:${tcb.start.labelText()} end:${tcb.end.labelText()} handler:${tcb.handler.labelText()}") - } - println() - } } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/fixStack/FastStackAnalyzer.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/fixStack/FastStackAnalyzer.kt index a228fc738c8..8fbf44cff55 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/fixStack/FastStackAnalyzer.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/fixStack/FastStackAnalyzer.kt @@ -174,7 +174,7 @@ internal open class FastStackAnalyzer( } private fun visitJumpInsnNode(insnNode: JumpInsnNode, current: Frame, insn: Int, insnOpcode: Int) { - if (insnOpcode != Opcodes.GOTO && insnOpcode != Opcodes.JSR) { + if (insnOpcode != Opcodes.GOTO) { processControlFlowEdge(current, insn, insn + 1) } val jump = insnNode.label.indexOf()