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 IFNULL
// 0 checkNotNull // 0 IFNONULL
// 0 throwNpe
// 0 ATHROW // 0 ATHROW
// JVM_TEMPLATES: // JVM_TEMPLATES:
// 1 IFNONNULL // 1 checkNotNull \(Ljava/lang/Object;\)V
// 1 throwNpe
// JVM_IR_TEMPLATES: // JVM_IR_TEMPLATES:
// 0 IFNONULL // 0 checkNotNull \(Ljava/lang/Object;\)V
// 0 throwNpe
@@ -16,7 +16,7 @@ fun box(u: Int) {
} }
// 0 IFNULL // 0 IFNULL
// 1 IFNONNULL // 0 IFNONNULL
// 1 throwNpe // 0 throwNpe
// 0 ATHROW // 0 ATHROW
// 0 checkNotNull // 1 checkNotNull \(Ljava/lang/Object;\)V
@@ -13,12 +13,7 @@ fun box() {
} }
// 0 IFNULL // 0 IFNULL
// 0 ATHROW
// 0 checkNotNull
// 1 throwNpe
// JVM_TEMPLATES:
// 1 IFNONNULL
// JVM_IR_TEMPLATES:
// 0 IFNONNULL // 0 IFNONNULL
// 0 ATHROW
// 1 checkNotNull \(Ljava/lang/Object;\)V
// 0 throwNpe
@@ -13,7 +13,7 @@ fun box(u: Int) {
} }
// 0 IFNULL // 0 IFNULL
// 1 IFNONNULL // 0 IFNONNULL
// 1 throwNpe // 0 throwNpe
// 1 checkNotNull \(Ljava/lang/Object;\)V
// 0 ATHROW // 0 ATHROW
// 0 checkNotNull
@@ -18,5 +18,5 @@ fun asNullableReference(c: AsNonNullReference?) {}
// 6 checkNotNullParameter // 6 checkNotNullParameter
// JVM_IR_TEMPLATES // JVM_IR_TEMPLATES
// 4 checkParameterIsNotNull // 0 checkParameterIsNotNull
// 0 checkNotNullParameter // 4 checkNotNullParameter
@@ -2,4 +2,4 @@ val a : Int? = 10
fun foo() = a!!.toString() fun foo() = a!!.toString()
// 1 IFNONNULL // 1 checkNotNull \(Ljava/lang/Object;\)V
@@ -6,5 +6,5 @@ fun test3() {
val p = 1 val p = 1
} }
} }
// 2 IFNONNULL // 2 checkNotNull \(Ljava/lang/Object;\)V
// 3 IF // 1 IF_ICMP
@@ -6,5 +6,5 @@ fun test3() {
val p = 1 val p = 1
} }
} }
// 2 IFNONNULL // 2 checkNotNull \(Ljava/lang/Object;\)V
// 3 IF // 1 IF_ICMP
@@ -20,5 +20,5 @@ fun test() {
// @KKt.class: // @KKt.class:
// 0 IFNULL // 0 IFNULL
// 1 IFNONNULL // 1 checkNotNull \(Ljava/lang/Object;\)V
// 0 NULL-1 // 0 NULL-1