Fix 64 bit portability problem in rec_ret().

This commit is contained in:
Mike Pall 2010-02-24 05:29:46 +01:00
parent 13a9d7e135
commit e46f4c8a11

View File

@ -534,11 +534,11 @@ static void rec_ret(jit_State *J, BCReg rbase, ptrdiff_t gotresults)
if (--J->framedepth < 0) if (--J->framedepth < 0)
lj_trace_err(J, LJ_TRERR_NYIRETL); lj_trace_err(J, LJ_TRERR_NYIRETL);
lua_assert(J->baseslot > 1); lua_assert(J->baseslot > 1);
J->base[--rbase] = TREF_TRUE; /* Prepend true to results. */
gotresults++; gotresults++;
rbase += cbase; rbase += cbase;
J->baseslot -= (BCReg)cbase; J->baseslot -= (BCReg)cbase;
J->base -= cbase; J->base -= cbase;
J->base[--rbase] = TREF_TRUE; /* Prepend true to results. */
frame = frame_prevd(frame); frame = frame_prevd(frame);
} }
if (frame_islua(frame)) { /* Return to Lua frame. */ if (frame_islua(frame)) { /* Return to Lua frame. */