Browse Source

Fix 64 bit portability problem in rec_ret().

Mike Pall 15 years ago
parent
commit
e46f4c8a11
1 changed files with 1 additions and 1 deletions
  1. 1 1
      src/lj_record.c

+ 1 - 1
src/lj_record.c

@@ -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. */