Invalidate SCEV entry when returning to lower frame.

Thanks to Zhongwei Yao. #1115
This commit is contained in:
Mike Pall 2023-11-09 11:02:36 +01:00
parent 433d7e8d8d
commit 65c8493907

View File

@ -755,6 +755,7 @@ void lj_record_ret(jit_State *J, BCReg rbase, ptrdiff_t gotresults)
emitir(IRTG(IR_RETF, IRT_P32), trpt, trpc);
J->retdepth++;
J->needsnap = 1;
J->scev.idx = REF_NIL;
lua_assert(J->baseslot == 1);
/* Shift result slots up and clear the slots of the new frame below. */
memmove(J->base + cbase, J->base-1, sizeof(TRef)*nresults);