JVM replace redundant GOTOs with NOPs to preserve debugging behavior

This commit is contained in:
Dmitry Petrov
2021-09-28 10:16:35 +03:00
committed by teamcityserver
parent 0a67ab54fe
commit ca7ee75f88
6 changed files with 37 additions and 7 deletions
@@ -30,4 +30,4 @@ suspend fun ApplicationCall.test(authenticationService: AuthenticationService) {
// 0 ILOAD 3
// 0 ILOAD 2
// 1 \$i\$f\$receiveJSON I .* 2
// 2 \$i\$f\$respond I .* 3
// 3 \$i\$f\$respond I .* 3
@@ -10,4 +10,4 @@ inline fun lookAtMe(f: (String) -> Unit) {
f(a) // Should be no unneeded nops on this line, that might be generated for zero-parameters lambda
}
// 0 NOP
// 2 NOP
@@ -0,0 +1,21 @@
// FILE: test.kt
fun box() {
lookAtMe {
val c = "c"
}
}
inline fun lookAtMe(f: (String) -> Unit) {
val a = "a"
f(a)
}
// LINENUMBERS
// test.kt:4 box
// test.kt:10 box
// test.kt:11 box
// test.kt:5 box
// test.kt:6 box
// test.kt:12 box
// test.kt:7 box