Optimize JVM byte code generation for conditional conjunction
Implement an intrinsic method for boolean.and operation, and replace ANDAND condition with a call to such intrinsic method.
This commit is contained in:
committed by
max-kammerer
parent
53493657ff
commit
4b99d85322
-1
@@ -1,4 +1,3 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
val a = false
|
||||
val b = false
|
||||
val c = false
|
||||
@@ -0,0 +1,16 @@
|
||||
val a = false
|
||||
val b = false
|
||||
val c = false
|
||||
|
||||
fun main() {
|
||||
do {
|
||||
"loop"
|
||||
} while (a && b && c)
|
||||
}
|
||||
|
||||
// 0 ICONST_0
|
||||
// 0 ICONST_1
|
||||
// 2 IFEQ
|
||||
// 1 IFNE
|
||||
// 3 IF
|
||||
// 0 GOTO
|
||||
@@ -0,0 +1,16 @@
|
||||
val a = false
|
||||
val b = false
|
||||
val c = false
|
||||
|
||||
fun main() {
|
||||
while (a && b && c) {
|
||||
"loop"
|
||||
}
|
||||
}
|
||||
|
||||
// 0 ICONST_0
|
||||
// 0 ICONST_1
|
||||
// 3 IFEQ
|
||||
// 0 IFNE
|
||||
// 3 IF
|
||||
// 1 GOTO
|
||||
@@ -1,4 +1,3 @@
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
val a = false
|
||||
val b = false
|
||||
val c = false
|
||||
|
||||
Reference in New Issue
Block a user