From fb9f43c1190a1f1dbe7131ec11b8264bf2df4366 Mon Sep 17 00:00:00 2001 From: pyos Date: Wed, 6 Nov 2019 16:42:42 +0100 Subject: [PATCH] JVM_IR: fix load check in inliner (should accept primitives too) --- .../src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt | 2 +- compiler/testData/codegen/boxInline/capture/captureInlinable.kt | 2 -- .../codegen/boxInline/capture/captureInlinableAndOther.kt | 2 -- .../boxInline/lambdaTransformation/regeneratedLambdaName.kt | 2 -- 4 files changed, 1 insertion(+), 7 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt index 582da911cff..d5080254a81 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt @@ -901,7 +901,7 @@ class MethodInliner( var cur: AbstractInsnNode? = node.instructions.first while (cur != null) { - if (cur is VarInsnNode && cur.opcode == Opcodes.ALOAD && map.contains(cur.`var`)) { + if (cur is VarInsnNode && cur.opcode in Opcodes.ILOAD..Opcodes.ALOAD && map.contains(cur.`var`)) { val varIndex = cur.`var` val capturedParamDesc = map[varIndex]!! diff --git a/compiler/testData/codegen/boxInline/capture/captureInlinable.kt b/compiler/testData/codegen/boxInline/capture/captureInlinable.kt index 956a6a0acf9..0e55f8165c5 100644 --- a/compiler/testData/codegen/boxInline/capture/captureInlinable.kt +++ b/compiler/testData/codegen/boxInline/capture/captureInlinable.kt @@ -1,5 +1,3 @@ -// IGNORE_BACKEND: JVM_IR -// IGNORE_BACKEND_MULTI_MODULE: JVM_IR // FILE: 1.kt package test diff --git a/compiler/testData/codegen/boxInline/capture/captureInlinableAndOther.kt b/compiler/testData/codegen/boxInline/capture/captureInlinableAndOther.kt index d78847d89b3..222c0cabea3 100644 --- a/compiler/testData/codegen/boxInline/capture/captureInlinableAndOther.kt +++ b/compiler/testData/codegen/boxInline/capture/captureInlinableAndOther.kt @@ -1,5 +1,3 @@ -// IGNORE_BACKEND: JVM_IR -// IGNORE_BACKEND_MULTI_MODULE: JVM_IR // FILE: 1.kt package test diff --git a/compiler/testData/codegen/boxInline/lambdaTransformation/regeneratedLambdaName.kt b/compiler/testData/codegen/boxInline/lambdaTransformation/regeneratedLambdaName.kt index 5a0b800ab50..80e630ccc3b 100644 --- a/compiler/testData/codegen/boxInline/lambdaTransformation/regeneratedLambdaName.kt +++ b/compiler/testData/codegen/boxInline/lambdaTransformation/regeneratedLambdaName.kt @@ -1,5 +1,3 @@ -// IGNORE_BACKEND: JVM_IR -// IGNORE_BACKEND_MULTI_MODULE: JVM_IR // FILE: 1.kt package test