]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Avoid dependency on frame layout for LJ_POST_FIXCOMP.
authorMike Pall <mike>
Mon, 15 Dec 2014 01:45:40 +0000 (02:45 +0100)
committerMike Pall <mike>
Mon, 15 Dec 2014 01:45:40 +0000 (02:45 +0100)
The auxiliary value in u32.lo wasn't used, anyway.

src/lj_crecord.c
src/lj_record.c

index acd786f5193f99af2f60d080da5a9c79017c36b1..eb37597ae083ce02a02a176b7dff21e930ed6791 100644 (file)
@@ -1484,8 +1484,7 @@ void LJ_FASTCALL recff_cdata_arith(jit_State *J, RecordFFData *rd)
        !irt_isguard(J->guardemit)) {
       const BCIns *pc = frame_contpc(J->L->base-1) - 1;
       if (bc_op(*pc) <= BC_ISNEP) {
-       setframe_pc(&J2G(J)->tmptv, pc);
-       J2G(J)->tmptv.u32.lo = ((tref_istrue(tr) ^ bc_op(*pc)) & 1);
+       J2G(J)->tmptv.u64 = (uint64_t)(uintptr_t)pc;
        J->postproc = LJ_POST_FIXCOMP;
       }
     }
index 982966331b6c707f324e2640bdb0ee6a543d856c..10d764689a3a39b5b31520fcf71b036a8fba2569 100644 (file)
@@ -1793,7 +1793,7 @@ void lj_record_ins(jit_State *J)
   if (LJ_UNLIKELY(J->postproc != LJ_POST_NONE)) {
     switch (J->postproc) {
     case LJ_POST_FIXCOMP:  /* Fixup comparison. */
-      pc = frame_pc(&J2G(J)->tmptv);
+      pc = (const BCIns *)(uintptr_t)J2G(J)->tmptv.u64;
       rec_comp_fixup(J, pc, (!tvistruecond(&J2G(J)->tmptv2) ^ (bc_op(*pc)&1)));
       /* fallthrough */
     case LJ_POST_FIXGUARD:  /* Fixup and emit pending guard. */