Use stricter assertions in for-loop bytecode text tests.

This commit is contained in:
Mark Punzalan
2019-04-03 13:22:16 -07:00
committed by max-kammerer
parent dd65e0876f
commit a0940b1342
22 changed files with 82 additions and 31 deletions
@@ -1,8 +1,11 @@
const val M = Char.MIN_VALUE const val M = Char.MIN_VALUE
fun f(a: Char) { fun f(a: Char): Int {
var n = 0
for (i in a downTo M) { for (i in a downTo M) {
n++
} }
return n
} }
// 0 iterator // 0 iterator
@@ -1,8 +1,11 @@
const val M = Int.MIN_VALUE const val M = Int.MIN_VALUE
fun f(a: Int) { fun f(a: Int): Int {
var n = 0
for (i in a downTo M) { for (i in a downTo M) {
n++
} }
return n
} }
// 0 iterator // 0 iterator
@@ -11,4 +14,5 @@ fun f(a: Int) {
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 2 IF_ICMP // 2 IF_ICMP
// 2 IF
@@ -1,8 +1,11 @@
const val M = Long.MIN_VALUE const val M = Long.MIN_VALUE
fun f(a: Long) { fun f(a: Long): Int {
var n = 0
for (i in a downTo M) { for (i in a downTo M) {
n++
} }
return n
} }
// 0 iterator // 0 iterator
@@ -10,5 +10,5 @@ fun test() {
// 0 getEnd // 0 getEnd
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 1 IF_ICMPGE
// 1 IF_ICMP // 1 IF
@@ -10,5 +10,5 @@ fun test() {
// 0 getEnd // 0 getEnd
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 1 IF_ICMPGE
// 1 IF_ICMP // 1 IF
@@ -1,11 +1,15 @@
fun array() = arrayOfNulls<Any>(4) fun array() = arrayOfNulls<Any>(4)
fun f() { fun f(): Int {
var n = 0
for (i in array()) { for (i in array()) {
n++
} }
return n
} }
// 0 iterator // 0 iterator
// 1 INVOKESTATIC .*\.array \(\) // 1 INVOKESTATIC .*\.array \(\)
// 1 ARRAYLENGTH // 1 ARRAYLENGTH
// 1 IF_ICMP // 1 IF_ICMPGE
// 1 IF
@@ -1,16 +1,21 @@
fun intArray() = intArrayOf(0, 0, 0, 0) fun intArray() = intArrayOf(0, 0, 0, 0)
fun longArray() = longArrayOf(0, 0, 0, 0) fun longArray() = longArrayOf(0, 0, 0, 0)
fun f() { fun f(): Int {
var n = 0
for (i in intArray()) { for (i in intArray()) {
n++
} }
for (i in longArray()) { for (i in longArray()) {
n++
} }
return n
} }
// 0 iterator // 0 iterator
// 1 INVOKESTATIC .*\.intArray \(\) // 1 INVOKESTATIC .*\.intArray \(\)
// 1 INVOKESTATIC .*\.longArray \(\) // 1 INVOKESTATIC .*\.longArray \(\)
// 2 ARRAYLENGTH // 2 ARRAYLENGTH
// 2 IF_ICMP // 2 IF_ICMPGE
// 2 IF
@@ -14,4 +14,5 @@ fun test(): Int {
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 1 IF_ICMP // 1 IF_ICMPGT
// 1 IF
@@ -1,8 +1,11 @@
const val M = Char.MAX_VALUE const val M = Char.MAX_VALUE
fun f(a: Char) { fun f(a: Char): Int {
var n = 0
for (i in a..M) { for (i in a..M) {
n++
} }
return n
} }
// 0 iterator // 0 iterator
@@ -11,4 +14,5 @@ fun f(a: Char) {
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 2 IF_ICMP // 2 IF_ICMP
// 2 IF
@@ -14,4 +14,5 @@ fun test(): Int {
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 1 IF_ICMP // 1 IF_ICMPGT
// 1 IF
@@ -1,8 +1,11 @@
const val M = Int.MAX_VALUE const val M = Int.MAX_VALUE
fun f(a: Int) { fun f(a: Int): Int {
var n = 0
for (i in a..M) { for (i in a..M) {
n++
} }
return n
} }
// 0 iterator // 0 iterator
@@ -11,4 +14,5 @@ fun f(a: Int) {
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 2 IF_ICMP // 2 IF_ICMP
// 2 IF
@@ -15,7 +15,7 @@ fun test(): Long {
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 1 LCMP // 1 LCMP
// 0 IFEQ
// 1 IFGT // 1 IFGT
// 1 IF
// 0 L2I // 0 L2I
// 0 I2L // 0 I2L
@@ -1,8 +1,11 @@
const val M = Long.MAX_VALUE const val M = Long.MAX_VALUE
fun f(a: Long) { fun f(a: Long): Int {
var n = 0
for (i in a..M) { for (i in a..M) {
n++
} }
return n
} }
// 0 iterator // 0 iterator
@@ -17,4 +17,5 @@ fun test(): Int {
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 1 IF_ICMP // 1 IF_ICMPGT
// 1 IF
@@ -11,4 +11,6 @@ fun Int.digitsUpto(end: Int): Int {
// 0 getEnd // 0 getEnd
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 2 IF_ICMP
// 2 IF
@@ -12,4 +12,5 @@ fun test(a: Int, b: Int): Int {
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 1 IF_ICMP // 1 IF_ICMPGE
// 1 IF
@@ -1,8 +1,11 @@
const val M = Char.MAX_VALUE const val M = Char.MAX_VALUE
fun f(a: Char) { fun f(a: Char): Int {
var n = 0
for (i in a until M) { for (i in a until M) {
n++
} }
return n
} }
// 0 iterator // 0 iterator
@@ -11,4 +14,5 @@ fun f(a: Char) {
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 1 IF_ICMP // 1 IF_ICMPGE
// 1 IF
@@ -1,8 +1,11 @@
const val M = Int.MAX_VALUE const val M = Int.MAX_VALUE
fun f(a: Int) { fun f(a: Int): Int {
var n = 0
for (i in a until M) { for (i in a until M) {
n++
} }
return n
} }
// 0 iterator // 0 iterator
@@ -11,4 +14,5 @@ fun f(a: Int) {
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 1 IF_ICMP // 1 IF_ICMPGE
// 1 IF
@@ -1,8 +1,11 @@
const val M = Long.MAX_VALUE const val M = Long.MAX_VALUE
fun f(a: Long) { fun f(a: Long): Int {
var n = 0
for (i in a until M) { for (i in a until M) {
n++
} }
return n
} }
// 0 iterator // 0 iterator
@@ -12,4 +15,5 @@ fun f(a: Long) {
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 1 LCMP // 1 LCMP
// 1 IFGE
// 1 IF // 1 IF
@@ -11,4 +11,5 @@ fun test(): Int {
// 0 getEnd // 0 getEnd
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 1 IF_ICMP // 1 IF_ICMP
// 1 IF
@@ -9,4 +9,5 @@ fun f() {
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 1 IF_ICMP // 1 IF_ICMPGT
// 1 IF
@@ -9,4 +9,5 @@ fun f(a: Int, b: Int) {
// 0 getFirst // 0 getFirst
// 0 getLast // 0 getLast
// 0 getStep // 0 getStep
// 2 IF_ICMP // 2 IF_ICMP
// 2 IF