diff options
Diffstat (limited to 'src/lj_record.c')
-rw-r--r-- | src/lj_record.c | 4 |
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 | } |