summaryrefslogtreecommitdiff
path: root/src/lj_record.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_record.c')
-rw-r--r--src/lj_record.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lj_record.c b/src/lj_record.c
index 36425086..41b2221a 100644
--- a/src/lj_record.c
+++ b/src/lj_record.c
@@ -521,7 +521,9 @@ static void rec_loop_interp(jit_State *J, const BCIns *pc, LoopEvent ev)
521 */ 521 */
522 if (!innerloopleft(J, pc)) 522 if (!innerloopleft(J, pc))
523 lj_trace_err(J, LJ_TRERR_LINNER); /* Root trace hit an inner loop. */ 523 lj_trace_err(J, LJ_TRERR_LINNER); /* Root trace hit an inner loop. */
524 if ((J->loopref && J->cur.nins - J->loopref > 8) || --J->loopunroll < 0) 524 if ((J->loopref && J->cur.nins - J->loopref >
525 ((IRRef)J->param[JIT_P_maxrecord] >> 5)) ||
526 --J->loopunroll < 0)
525 lj_trace_err(J, LJ_TRERR_LUNROLL); /* Limit loop unrolling. */ 527 lj_trace_err(J, LJ_TRERR_LUNROLL); /* Limit loop unrolling. */
526 J->loopref = J->cur.nins; 528 J->loopref = J->cur.nins;
527 } 529 }