JVM IR: Move direct invoke optimization into a separate pass
This also changes the transformation to inline the body of a directly invoked lambda rather than producing a call to an anonymous local function. The latter is unsupported in inline functions and problematic from an ABI perspective, since it results in functions whose name depends on the entire source code up to this point.
This commit is contained in:
committed by
Alexander Udalov
parent
7d59c7689c
commit
f0760e0550
@@ -7,11 +7,11 @@ fun box() {
|
||||
}
|
||||
|
||||
// EXPECTATIONS
|
||||
// test.kt:4 box
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:5 invoke
|
||||
// EXPECTATIONS JVM_IR
|
||||
// test.kt:5 box$lambda$0
|
||||
// EXPECTATIONS
|
||||
// test.kt:5 box
|
||||
// EXPECTATIONS JVM
|
||||
// test.kt:4 box
|
||||
// test.kt:5 invoke
|
||||
// test.kt:4 box
|
||||
// EXPECTATIONS
|
||||
// test.kt:7 box
|
||||
|
||||
Reference in New Issue
Block a user