JVM_IR KT-45103 optimize direct invoke for lambdas and callable refs

This commit is contained in:
Dmitry Petrov
2021-04-26 17:17:25 +03:00
committed by teamcityserver
parent bfb1a06f3d
commit 851980e36f
124 changed files with 1340 additions and 324 deletions
@@ -10,17 +10,19 @@ inline fun test(s: () -> Unit) {
import test.*
fun <T> eval(f: () -> T) = f()
fun box() {
var s1 = ""
var s2 = ""
test {
{
eval {
val p = object {}
s1 = p.toString();
{
eval {
val q = object {}
s2 = q.toString()
}()
}()
}
}
}
}
@@ -48,6 +48,7 @@ final class _2Kt$box$$inlined$test$lambda$1 {
public final class _2Kt {
// source: '2.kt'
public final static method box(): void
public final static method eval(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.Object
}
@kotlin.Metadata
@@ -49,6 +49,7 @@ public final class _2Kt {
// source: '2.kt'
inner (anonymous) class _2Kt$box$1$1
public final static method box(): void
public final static method eval(@org.jetbrains.annotations.NotNull p0: kotlin.jvm.functions.Function0): java.lang.Object
}
@kotlin.Metadata