Fix bytecode text tests for language version 1.4

New null check assertions are generated a bit more efficiently, with a
call to `checkNotNull` instead of IFNONNULL+jump.
This commit is contained in:
Alexander Udalov
2020-01-20 15:52:10 +01:00
parent 1ef5e25c60
commit 6a90dc2efe
9 changed files with 21 additions and 27 deletions
@@ -16,13 +16,12 @@ fun box() {
}
// 0 IFNULL
// 0 checkNotNull
// 0 IFNONULL
// 0 throwNpe
// 0 ATHROW
// JVM_TEMPLATES:
// 1 IFNONNULL
// 1 throwNpe
// 1 checkNotNull \(Ljava/lang/Object;\)V
// JVM_IR_TEMPLATES:
// 0 IFNONULL
// 0 throwNpe
// 0 checkNotNull \(Ljava/lang/Object;\)V
@@ -16,7 +16,7 @@ fun box(u: Int) {
}
// 0 IFNULL
// 1 IFNONNULL
// 1 throwNpe
// 0 IFNONNULL
// 0 throwNpe
// 0 ATHROW
// 0 checkNotNull
// 1 checkNotNull \(Ljava/lang/Object;\)V
@@ -13,12 +13,7 @@ fun box() {
}
// 0 IFNULL
// 0 ATHROW
// 0 checkNotNull
// 1 throwNpe
// JVM_TEMPLATES:
// 1 IFNONNULL
// JVM_IR_TEMPLATES:
// 0 IFNONNULL
// 0 ATHROW
// 1 checkNotNull \(Ljava/lang/Object;\)V
// 0 throwNpe
@@ -13,7 +13,7 @@ fun box(u: Int) {
}
// 0 IFNULL
// 1 IFNONNULL
// 1 throwNpe
// 0 IFNONNULL
// 0 throwNpe
// 1 checkNotNull \(Ljava/lang/Object;\)V
// 0 ATHROW
// 0 checkNotNull
@@ -18,5 +18,5 @@ fun asNullableReference(c: AsNonNullReference?) {}
// 6 checkNotNullParameter
// JVM_IR_TEMPLATES
// 4 checkParameterIsNotNull
// 0 checkNotNullParameter
// 0 checkParameterIsNotNull
// 4 checkNotNullParameter
@@ -2,4 +2,4 @@ val a : Int? = 10
fun foo() = a!!.toString()
// 1 IFNONNULL
// 1 checkNotNull \(Ljava/lang/Object;\)V
@@ -6,5 +6,5 @@ fun test3() {
val p = 1
}
}
// 2 IFNONNULL
// 3 IF
// 2 checkNotNull \(Ljava/lang/Object;\)V
// 1 IF_ICMP
@@ -6,5 +6,5 @@ fun test3() {
val p = 1
}
}
// 2 IFNONNULL
// 3 IF
// 2 checkNotNull \(Ljava/lang/Object;\)V
// 1 IF_ICMP
@@ -20,5 +20,5 @@ fun test() {
// @KKt.class:
// 0 IFNULL
// 1 IFNONNULL
// 1 checkNotNull \(Ljava/lang/Object;\)V
// 0 NULL-1