diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/SpilledVariableFieldTypesAnalysis.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/SpilledVariableFieldTypesAnalysis.kt index 3e6f6a66b15..94ab962bd94 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/SpilledVariableFieldTypesAnalysis.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/SpilledVariableFieldTypesAnalysis.kt @@ -37,6 +37,10 @@ internal open class SpilledVariableFieldTypeValue(open var type: Type?, val insn private class MergedSpilledVariableFieldTypeValue( val values: Set ) : SpilledVariableFieldTypeValue(null, null) { + init { + require(values.none { it is MergedSpilledVariableFieldTypeValue }) + } + override var type: Type? get() = values.first().type set(newType) { @@ -155,13 +159,6 @@ private class SpilledVariableFieldTypesInterpreter( v != null && v.type == null -> w w != null && w.type == null -> v v?.type == w?.type -> v - v?.type?.sort == Type.OBJECT && w?.type?.sort == Type.OBJECT -> { - when { - v.type == AsmTypes.OBJECT_TYPE -> v - w.type == AsmTypes.OBJECT_TYPE -> w - else -> SpilledVariableFieldTypeValue(AsmTypes.OBJECT_TYPE, v.insn) - } - } else -> SpilledVariableFieldTypeValue(null, v?.insn ?: w?.insn) } diff --git a/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java index 9f79e0b011b..d81ca83c42d 100644 --- a/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/ir/FirBlackBoxCodegenTestGenerated.java @@ -7495,11 +7495,6 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/i2bResult.kt", "kotlin.coroutines"); } - @TestMetadata("listThrowablePairInOneSlot.kt") - public void testListThrowablePairInOneSlot() throws Exception { - runTest("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/listThrowablePairInOneSlot.kt"); - } - @TestMetadata("loadFromBooleanArray.kt") public void testLoadFromBooleanArray_1_3() throws Exception { runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/loadFromBooleanArray.kt", "kotlin.coroutines"); diff --git a/compiler/testData/codegen/box/coroutines/intLikeVarSpilling/listThrowablePairInOneSlot.kt b/compiler/testData/codegen/box/coroutines/intLikeVarSpilling/listThrowablePairInOneSlot.kt deleted file mode 100644 index 9e6853a32a7..00000000000 --- a/compiler/testData/codegen/box/coroutines/intLikeVarSpilling/listThrowablePairInOneSlot.kt +++ /dev/null @@ -1,34 +0,0 @@ -// WITH_RUNTIME -// WITH_COROUTINES -// FULL_RUNTIME -// KJS_WITH_FULL_RUNTIME - -class JarFile { - fun entries() = listOf() -} - -private fun scriptTemplatesDiscoverySequence(): Sequence { - return sequence { - for (dep in listOf()) { - try { - val jar = JarFile() - try { - jar.entries().map { it } - val (loadedDefinitions, notFoundClasses) = listOf() to listOf() - listOf().forEach { - yield(it) - } - } catch (e: Throwable) { - e.message - } - } catch (e: Exception) { - e.message - } - } - yield("OK") - } -} - -fun box(): String { - return scriptTemplatesDiscoverySequence().first() -} diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java index 0e00d7aac65..0088016a203 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java @@ -8300,11 +8300,6 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/i2bResult.kt", "kotlin.coroutines"); } - @TestMetadata("listThrowablePairInOneSlot.kt") - public void testListThrowablePairInOneSlot() throws Exception { - runTest("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/listThrowablePairInOneSlot.kt"); - } - @TestMetadata("loadFromBooleanArray.kt") public void testLoadFromBooleanArray_1_2() throws Exception { runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/loadFromBooleanArray.kt", "kotlin.coroutines.experimental"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 73608a839c6..99a62659675 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -8300,11 +8300,6 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/i2bResult.kt", "kotlin.coroutines"); } - @TestMetadata("listThrowablePairInOneSlot.kt") - public void testListThrowablePairInOneSlot() throws Exception { - runTest("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/listThrowablePairInOneSlot.kt"); - } - @TestMetadata("loadFromBooleanArray.kt") public void testLoadFromBooleanArray_1_2() throws Exception { runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/loadFromBooleanArray.kt", "kotlin.coroutines.experimental"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java index 59d5533e3dd..2d1a9e830c7 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java @@ -7495,11 +7495,6 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/i2bResult.kt", "kotlin.coroutines"); } - @TestMetadata("listThrowablePairInOneSlot.kt") - public void testListThrowablePairInOneSlot() throws Exception { - runTest("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/listThrowablePairInOneSlot.kt"); - } - @TestMetadata("loadFromBooleanArray.kt") public void testLoadFromBooleanArray_1_3() throws Exception { runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/loadFromBooleanArray.kt", "kotlin.coroutines"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java index 20adc83f508..72931a149e8 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java @@ -6390,11 +6390,6 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/i2bResult.kt", "kotlin.coroutines"); } - @TestMetadata("listThrowablePairInOneSlot.kt") - public void testListThrowablePairInOneSlot() throws Exception { - runTest("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/listThrowablePairInOneSlot.kt"); - } - @TestMetadata("loadFromBooleanArray.kt") public void testLoadFromBooleanArray_1_3() throws Exception { runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/loadFromBooleanArray.kt", "kotlin.coroutines"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java index 22a127fd9d8..5c67036d400 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java @@ -6400,11 +6400,6 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/i2bResult.kt", "kotlin.coroutines"); } - @TestMetadata("listThrowablePairInOneSlot.kt") - public void testListThrowablePairInOneSlot() throws Exception { - runTest("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/listThrowablePairInOneSlot.kt"); - } - @TestMetadata("loadFromBooleanArray.kt") public void testLoadFromBooleanArray_1_3() throws Exception { runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/loadFromBooleanArray.kt", "kotlin.coroutines"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index dc4032bdd9b..3955ca5e0e2 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -6400,11 +6400,6 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/i2bResult.kt", "kotlin.coroutines"); } - @TestMetadata("listThrowablePairInOneSlot.kt") - public void testListThrowablePairInOneSlot() throws Exception { - runTest("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/listThrowablePairInOneSlot.kt"); - } - @TestMetadata("loadFromBooleanArray.kt") public void testLoadFromBooleanArray_1_3() throws Exception { runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/intLikeVarSpilling/loadFromBooleanArray.kt", "kotlin.coroutines");