Closed
Description
For tier2 optimization, the VM replaces the JUMP_BACKWARD
instruction with ENTER_EXECUTOR
.
If the executor does not execute the whole loop it may not check the eval-breaker, resulting in uninterruptable loops.
The obvious fix is to add an eval-breaker check to ENTER_EXECUTOR
.
I think that is also the correct fix.
Adding extra checks of the eval break is always correct. The effect on performance should be low, as we hope that transfers of control from the interpreter to optimized code will be relatively rare.
Discovered here