|
@@ -2470,8 +2470,9 @@ void lj_record_ins(jit_State *J)
|
|
|
#undef rbv
|
|
|
#undef rcv
|
|
|
|
|
|
- /* Limit the number of recorded IR instructions. */
|
|
|
- if (J->cur.nins > REF_FIRST+(IRRef)J->param[JIT_P_maxrecord])
|
|
|
+ /* Limit the number of recorded IR instructions and constants. */
|
|
|
+ if (J->cur.nins > REF_FIRST+(IRRef)J->param[JIT_P_maxrecord] ||
|
|
|
+ J->cur.nk < REF_BIAS-(IRRef)J->param[JIT_P_maxirconst])
|
|
|
lj_trace_err(J, LJ_TRERR_TRACEOV);
|
|
|
}
|
|
|
|