Avoid dependency on frame layout for LJ_POST_FIXCOMP.

The auxiliary value in u32.lo wasn't used, anyway.
This commit is contained in:
Mike Pall 2014-12-15 02:45:40 +01:00
parent 881f48f980
commit c6130e68eb
2 changed files with 2 additions and 3 deletions

View File

@ -1484,8 +1484,7 @@ void LJ_FASTCALL recff_cdata_arith(jit_State *J, RecordFFData *rd)
!irt_isguard(J->guardemit)) { !irt_isguard(J->guardemit)) {
const BCIns *pc = frame_contpc(J->L->base-1) - 1; const BCIns *pc = frame_contpc(J->L->base-1) - 1;
if (bc_op(*pc) <= BC_ISNEP) { if (bc_op(*pc) <= BC_ISNEP) {
setframe_pc(&J2G(J)->tmptv, pc); J2G(J)->tmptv.u64 = (uint64_t)(uintptr_t)pc;
J2G(J)->tmptv.u32.lo = ((tref_istrue(tr) ^ bc_op(*pc)) & 1);
J->postproc = LJ_POST_FIXCOMP; J->postproc = LJ_POST_FIXCOMP;
} }
} }

View File

@ -1793,7 +1793,7 @@ void lj_record_ins(jit_State *J)
if (LJ_UNLIKELY(J->postproc != LJ_POST_NONE)) { if (LJ_UNLIKELY(J->postproc != LJ_POST_NONE)) {
switch (J->postproc) { switch (J->postproc) {
case LJ_POST_FIXCOMP: /* Fixup comparison. */ 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))); rec_comp_fixup(J, pc, (!tvistruecond(&J2G(J)->tmptv2) ^ (bc_op(*pc)&1)));
/* fallthrough */ /* fallthrough */
case LJ_POST_FIXGUARD: /* Fixup and emit pending guard. */ case LJ_POST_FIXGUARD: /* Fixup and emit pending guard. */