Use GETFIELD instead of unbox-impl inside inline classes
#KT-36783 Fixed
This commit is contained in:
+7
-5
@@ -1,7 +1,4 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TODO KT-36783 Consider generating GETFIELD instructions instead of unbox-impl calls in special methods of inline classes in JVM_IR
|
||||
|
||||
inline class Foo(val x: Int) {
|
||||
fun empty() {}
|
||||
@@ -19,7 +16,12 @@ inline class Foo(val x: Int) {
|
||||
// 1 INVOKESTATIC Foo\.withParam-impl \(ILjava/lang/String;\)V
|
||||
// 1 INVOKESTATIC Foo\.withInlineClassParam-GWb7d6U \(II\)V
|
||||
// 5 INVOKEVIRTUAL
|
||||
// 2 INVOKEVIRTUAL java/lang/StringBuilder\.append \(Ljava/lang/String;\)Ljava/lang/StringBuilder;
|
||||
// 1 INVOKEVIRTUAL java/lang/StringBuilder\.append \(I\)Ljava/lang/StringBuilder;
|
||||
// 1 INVOKEVIRTUAL java/lang/StringBuilder.toString \(\)Ljava/lang/String;
|
||||
// 1 INVOKEVIRTUAL Foo.unbox-impl \(\)I
|
||||
// 1 INVOKEVIRTUAL Foo.unbox-impl \(\)I
|
||||
|
||||
// JVM_TEMPLATES:
|
||||
// 2 INVOKEVIRTUAL java/lang/StringBuilder\.append \(Ljava/lang/String;\)Ljava/lang/StringBuilder;
|
||||
|
||||
// JVM_IR_TEMPLATES:
|
||||
// 1 INVOKEVIRTUAL java/lang/StringBuilder\.append \(Ljava/lang/String;\)Ljava/lang/StringBuilder;
|
||||
Reference in New Issue
Block a user