JVM_IR: Enable loopVarInterval and forInReversedCollectionIndices
bytecode text tests.
This commit is contained in:
committed by
max-kammerer
parent
934cbcbbec
commit
de333c18fc
Vendored
+11
-3
@@ -1,5 +1,3 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
// NOTE: Enable once Collection.indices is handled
|
|
||||||
import kotlin.test.*
|
import kotlin.test.*
|
||||||
|
|
||||||
fun box(): String {
|
fun box(): String {
|
||||||
@@ -13,6 +11,9 @@ fun box(): String {
|
|||||||
return "OK"
|
return "OK"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// JVM non-IR uses while.
|
||||||
|
// JVM IR uses if + do-while.
|
||||||
|
|
||||||
// 0 reversed
|
// 0 reversed
|
||||||
// 0 iterator
|
// 0 iterator
|
||||||
// 0 getStart
|
// 0 getStart
|
||||||
@@ -20,5 +21,12 @@ fun box(): String {
|
|||||||
// 0 getFirst
|
// 0 getFirst
|
||||||
// 0 getLast
|
// 0 getLast
|
||||||
// 0 getStep
|
// 0 getStep
|
||||||
// 1 IF(_ICMPG|L)T
|
|
||||||
|
// JVM_TEMPLATES
|
||||||
|
// 1 IFLT
|
||||||
// 1 IF
|
// 1 IF
|
||||||
|
|
||||||
|
// JVM_IR_TEMPLATES
|
||||||
|
// 1 IF_ICMPGT
|
||||||
|
// 1 IF_ICMPLE
|
||||||
|
// 2 IF
|
||||||
@@ -1,10 +1,17 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
fun f() {
|
fun f() {
|
||||||
for (c in "123") {
|
for (c in "123") {
|
||||||
print(c)
|
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 ISTORE 0\s+L3
|
||||||
// 1 ILOAD 0\s+INVOKEVIRTUAL java/io/PrintStream.print \(C\)V
|
// 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
|
||||||
Reference in New Issue
Block a user