[JS IR] Keep box and unbox intrinsics in call args after decomposing

^KT-59717 Fixed
This commit is contained in:
Alexander Korepanov
2023-06-28 17:20:39 +02:00
committed by Space Team
parent 148d8c9246
commit 4695dca056
7 changed files with 112 additions and 10 deletions
+5 -5
View File
@@ -141,8 +141,8 @@ fun testUnderlyingInline() {
}
caseJsEq()
// CHECK_CALLED_IN_SCOPE: scope=testUnderlyingInline$caseEquals function=equals
// CHECK_NEW_COUNT: function=testUnderlyingInline$caseEquals count=4
// CHECK_NOT_CALLED_IN_SCOPE: scope=testUnderlyingInline$caseEquals function=equals
// CHECK_NEW_COUNT: function=testUnderlyingInline$caseEquals count=2
fun caseEquals() {
assertTrue(c1_1 == ClassUnderlayingInline(x1!!))
assertTrue(ClassUnderlayingInline(x1!!) == c1_2)
@@ -256,8 +256,8 @@ fun testNullableUnderlyingInlineClass() {
}
caseJsEq()
// CHECK_CALLED_IN_SCOPE: scope=testNullableUnderlyingInlineClass$caseEquals function=equals
// CHECK_NEW_COUNT: function=testNullableUnderlyingInlineClass$caseEquals count=3
// CHECK_NOT_CALLED_IN_SCOPE: scope=testNullableUnderlyingInlineClass$caseEquals function=equals
// CHECK_NEW_COUNT: function=testNullableUnderlyingInlineClass$caseEquals count=1
fun caseEquals() {
assertTrue(ClassNullableUnderlayingInline(i1_1) == ClassNullableUnderlayingInline(i1_2!!))
}
@@ -265,7 +265,7 @@ fun testNullableUnderlyingInlineClass() {
}
// CHECK_CALLED_IN_SCOPE: scope=testInlineClassWithInterface function=equals
// CHECK_NEW_COUNT: function=testInlineClassWithInterface count=14
// CHECK_NEW_COUNT: function=testInlineClassWithInterface count=10
fun testInlineClassWithInterface() {
val xi_1_1: InterfaceForInlineClass = ClassIntWithInterface(1)
val xi_1_2: InterfaceForInlineClass = ClassIntWithInterface(1)