Avoid dependency on frame layout for LJ_POST_FIXCOMP.
The auxiliary value in u32.lo wasn't used, anyway.
This commit is contained in:
parent
881f48f980
commit
c6130e68eb
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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. */
|
||||||
|
Loading…
Reference in New Issue
Block a user