aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lj_record.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_record.c b/src/lj_record.c
index 3f442088..c14a9e86 100644
--- a/src/lj_record.c
+++ b/src/lj_record.c
@@ -1510,12 +1510,13 @@ static void rec_ret(jit_State *J, BCReg rbase, int gotresults)
1510 J->tailcalled = 0; 1510 J->tailcalled = 0;
1511 while (frame_ispcall(frame)) { 1511 while (frame_ispcall(frame)) {
1512 BCReg cbase = (BCReg)frame_delta(frame); 1512 BCReg cbase = (BCReg)frame_delta(frame);
1513 if (J->framedepth-- <= 0)
1514 lj_trace_err(J, LJ_TRERR_NYIRETL);
1513 lua_assert(J->baseslot > 1); 1515 lua_assert(J->baseslot > 1);
1514 J->baseslot -= (BCReg)cbase; 1516 J->baseslot -= (BCReg)cbase;
1515 J->base -= cbase; 1517 J->base -= cbase;
1516 *--res = TREF_TRUE; /* Prepend true to results. */ 1518 *--res = TREF_TRUE; /* Prepend true to results. */
1517 gotresults++; 1519 gotresults++;
1518 J->framedepth--;
1519 frame = frame_prevd(frame); 1520 frame = frame_prevd(frame);
1520 } 1521 }
1521 if (J->framedepth-- <= 0) 1522 if (J->framedepth-- <= 0)