|
@@ -1961,7 +1961,7 @@ static void rec_varg(jit_State *J, BCReg dst, ptrdiff_t nresults)
|
|
|
emitir(IRTGI(IR_EQ), fr,
|
|
|
lj_ir_kint(J, (int32_t)frame_ftsz(J->L->base-1)));
|
|
|
vbase = emitir(IRT(IR_SUB, IRT_IGC), REF_BASE, fr);
|
|
|
- vbase = emitir(IRT(IR_ADD, IRT_PGC), vbase, lj_ir_kint(J, frofs-8));
|
|
|
+ vbase = emitir(IRT(IR_ADD, IRT_PGC), vbase, lj_ir_kint(J, frofs-8*(1+LJ_FR2)));
|
|
|
for (i = 0; i < nload; i++) {
|
|
|
IRType t = itype2irt(&J->L->base[i-1-LJ_FR2-nvararg]);
|
|
|
J->base[dst+i] = lj_record_vload(J, vbase, i, t);
|