diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedCollectionIndices.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedCollectionIndices.kt index 6657046c488..34f55e94d6f 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedCollectionIndices.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedCollectionIndices.kt @@ -1,5 +1,3 @@ -// IGNORE_BACKEND: JVM_IR -// NOTE: Enable once Collection.indices is handled import kotlin.test.* fun box(): String { @@ -13,6 +11,9 @@ fun box(): String { return "OK" } +// JVM non-IR uses while. +// JVM IR uses if + do-while. + // 0 reversed // 0 iterator // 0 getStart @@ -20,5 +21,12 @@ fun box(): String { // 0 getFirst // 0 getLast // 0 getStep -// 1 IF(_ICMPG|L)T -// 1 IF \ No newline at end of file + +// JVM_TEMPLATES +// 1 IFLT +// 1 IF + +// JVM_IR_TEMPLATES +// 1 IF_ICMPGT +// 1 IF_ICMPLE +// 2 IF \ No newline at end of file diff --git a/compiler/testData/codegen/bytecodeText/forLoop/loopVarInterval.kt b/compiler/testData/codegen/bytecodeText/forLoop/loopVarInterval.kt index 6dbc95b5818..ce743722168 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/loopVarInterval.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/loopVarInterval.kt @@ -1,10 +1,17 @@ -// IGNORE_BACKEND: JVM_IR fun f() { for (c in "123") { print(c) } } +// Different locals slot numbers are used in JVM vs JVM IR for loop and induction variables. + +// JVM_TEMPLATES // 1 ISTORE 0\s+L3 // 1 ILOAD 0\s+INVOKEVIRTUAL java/io/PrintStream.print \(C\)V -// 1 LOCALVARIABLE c C L3 L.* 0 +// 1 LOCALVARIABLE c C L3 L\d+ 0 + +// JVM_IR_TEMPLATES +// 1 ISTORE 2\s+L5 +// 1 ILOAD 2\s+INVOKEVIRTUAL java/io/PrintStream.print \(C\)V +// 1 LOCALVARIABLE c C L5 L\d+ 2 \ No newline at end of file