diff options
Diffstat (limited to '')
-rw-r--r-- | src/lj_opt_loop.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lj_opt_loop.c b/src/lj_opt_loop.c index f9a2a808..90ab1b6f 100644 --- a/src/lj_opt_loop.c +++ b/src/lj_opt_loop.c | |||
@@ -310,7 +310,13 @@ static void loop_unroll(jit_State *J) | |||
310 | /* Undo any partial changes made by the loop optimization. */ | 310 | /* Undo any partial changes made by the loop optimization. */ |
311 | static void loop_undo(jit_State *J, IRRef ins) | 311 | static void loop_undo(jit_State *J, IRRef ins) |
312 | { | 312 | { |
313 | ptrdiff_t i; | ||
313 | lj_ir_rollback(J, ins); | 314 | lj_ir_rollback(J, ins); |
315 | for (i = 0; i < BPROP_SLOTS; i++) { /* Remove backprop. cache entries. */ | ||
316 | BPropEntry *bp = &J->bpropcache[i]; | ||
317 | if (bp->val >= ins) | ||
318 | bp->key = 0; | ||
319 | } | ||
314 | for (ins--; ins >= REF_FIRST; ins--) { /* Remove flags. */ | 320 | for (ins--; ins >= REF_FIRST; ins--) { /* Remove flags. */ |
315 | IRIns *ir = IR(ins); | 321 | IRIns *ir = IR(ins); |
316 | irt_clearphi(ir->t); | 322 | irt_clearphi(ir->t); |