aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lj_record.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/lj_record.c b/src/lj_record.c
index b7832752..f24c287d 100644
--- a/src/lj_record.c
+++ b/src/lj_record.c
@@ -1529,13 +1529,10 @@ static void rec_ret(jit_State *J, BCReg rbase, int gotresults)
1529 J->base -= cbase+1; 1529 J->base -= cbase+1;
1530 } else if (frame_iscont(frame)) { 1530 } else if (frame_iscont(frame)) {
1531 ASMFunction cont = frame_contf(frame); 1531 ASMFunction cont = frame_contf(frame);
1532 BCReg i, cbase = (BCReg)frame_delta(frame); 1532 BCReg cbase = (BCReg)frame_delta(frame);
1533 J->pc = frame_contpc(frame)-1; 1533 J->pc = frame_contpc(frame)-1;
1534 J->baseslot -= (BCReg)cbase; 1534 J->baseslot -= (BCReg)cbase;
1535 J->base -= cbase; 1535 J->base -= cbase;
1536 /* Shrink maxslot as much as possible after return from continuation. */
1537 for (i = cbase-2; i > 0 && J->base[i] == 0; i--) ;
1538 J->maxslot = i;
1539 if (cont == lj_cont_ra) { 1536 if (cont == lj_cont_ra) {
1540 /* Copy result to destination slot. */ 1537 /* Copy result to destination slot. */
1541 BCReg dst = bc_a(*J->pc); 1538 BCReg dst = bc_a(*J->pc);