Make CHECKCAST Object not break tail-call optimization

Since CHECKCAST Object does nothing for return value of suspend
function - the function returns references only, this is safe.
 #KT-49157 Fixed
This commit is contained in:
Ilmir Usmanov
2021-10-08 17:20:27 +02:00
committed by Space
parent 4a99f04b41
commit f760cd6736
6 changed files with 65 additions and 5 deletions
@@ -9784,6 +9784,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/coroutines/tailCallOptimizations/crossinline.kt");
}
@TestMetadata("deferredAwaitSuspendImpl.kt")
public void testDeferredAwaitSuspendImpl() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/tailCallOptimizations/deferredAwaitSuspendImpl.kt");
}
@TestMetadata("inlineWithStateMachine.kt")
public void testInlineWithStateMachine() throws Exception {
runTest("compiler/testData/codegen/box/coroutines/tailCallOptimizations/inlineWithStateMachine.kt");