JVM remove dead code during constant condition elimination

This avoids an extra call to 'analyze', which is rather costly.

Update debugger testData: Constant condition
elimination now performs DCE more consistently.
This commit is contained in:
Dmitry Petrov
2021-06-01 17:16:27 +03:00
committed by TeamCityServer
parent 1fd94d1bc2
commit 7a43c2de79
18 changed files with 357 additions and 13 deletions
+1 -2
View File
@@ -16,7 +16,7 @@ fun box(): String {
}
} finally {
return "OK"
} // TODO: why do we go to this line before going to the line above for the finally block.
}
return "FAIL"
}
@@ -33,5 +33,4 @@ fun box(): String {
// test.kt:10 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:11 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String
// test.kt:14 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:19 box:
// test.kt:18 box:
+1 -2
View File
@@ -16,7 +16,7 @@ fun box(): String {
}
} finally {
return "OK"
} // TODO: why stop here before the line above for the finally block?
}
return "FAIL"
}
@@ -33,6 +33,5 @@ fun box(): String {
// test.kt:10 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:11 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String
// test.kt:14 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:19 box:
// test.kt:18 box: