Shrink and split LVT records of variables according to their liveness

Otherwise, debugger will show uninitialized values of dead variables
after resume.
 #KT-16222
 #KT-28016 Fixed
 #KT-20571 Fixed
This commit is contained in:
Ilmir Usmanov
2020-07-22 19:18:16 +02:00
parent e5995f0c12
commit 70e91bd5db
9 changed files with 130 additions and 79 deletions
@@ -1478,6 +1478,11 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest {
runTest("compiler/testData/codegen/bytecodeText/coroutines/debug/probeCoroutineSuspended.kt");
}
@TestMetadata("shrinkLvtTopLevel.kt")
public void testShrinkLvtTopLevel() throws Exception {
runTest("compiler/testData/codegen/bytecodeText/coroutines/debug/shrinkLvtTopLevel.kt");
}
@TestMetadata("thisAndResultInLvt.kt")
public void testThisAndResultInLvt() throws Exception {
runTest("compiler/testData/codegen/bytecodeText/coroutines/debug/thisAndResultInLvt.kt");