diff options
author | Mike Pall <mike> | 2009-12-08 20:35:29 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2009-12-08 20:35:29 +0100 |
commit | 3f1f9e11f4f699ae94182d4cba158092f434a7f6 (patch) | |
tree | 88fbb674a21a1d554d4b1ee9d4ef2c5fed6a1d88 /src/lj_opt_loop.c | |
parent | 5287b9326479ea2b7dddd6f642673e58e5a7f354 (diff) | |
download | luajit-3f1f9e11f4f699ae94182d4cba158092f434a7f6.tar.gz luajit-3f1f9e11f4f699ae94182d4cba158092f434a7f6.tar.bz2 luajit-3f1f9e11f4f699ae94182d4cba158092f434a7f6.zip |
Fast forward to sync public repo.
Compile math.sinh(), math.cosh(), math.tanh() and math.random().
Compile various io.*() functions.
Drive the GC forward on string allocations in the parser.
Improve KNUM fuse vs. load heuristics.
Add abstract C call handling to IR.
Diffstat (limited to 'src/lj_opt_loop.c')
-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); |