Files
kotlin/compiler/testData/codegen/box/controlStructures
Dmitry Petrov ba933fa887 KT-15112, KT-15631
Revert changes for "tolerant to uninitialized values" in OptimizationBasicInterpreter:
this approach doesn't converge for some specific cases where local variable is reused
(e.g., in several inlined functions - see https://youtrack.jetbrains.com/issue/KT-15112).

Instead, treat fake always-false conditional jump in the beginning of the post-condition loop as a "reference point" for stack on loop break / continue.
This requires an extra abstraction layer in FixStackAnalyzer, since we can't perform fine-grain manipulations on Frames
(such as "combine frame C from local variables of frame A and stack of frame B").

NB additional NOPs will be generated for post-condition loops.
Should make a separate bytecode postprocessing pass to get rid of unnecessary NOPs
(several YT issues for perceived quality of the generated bytecode are about such NOPs).
2017-01-13 10:31:07 +03:00
..
2016-11-16 19:50:10 +03:00
2016-11-09 21:41:12 +03:00
2016-11-09 21:41:12 +03:00
2016-11-09 21:41:12 +03:00
2016-11-21 18:20:33 +03:00
2016-11-09 21:41:12 +03:00
2016-11-09 21:41:12 +03:00
2016-11-09 21:41:12 +03:00