diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_crecord.c | 3 | ||||
| -rw-r--r-- | src/lj_record.c | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/src/lj_crecord.c b/src/lj_crecord.c index acd786f5..eb37597a 100644 --- a/src/lj_crecord.c +++ b/src/lj_crecord.c | |||
| @@ -1484,8 +1484,7 @@ void LJ_FASTCALL recff_cdata_arith(jit_State *J, RecordFFData *rd) | |||
| 1484 | !irt_isguard(J->guardemit)) { | 1484 | !irt_isguard(J->guardemit)) { |
| 1485 | const BCIns *pc = frame_contpc(J->L->base-1) - 1; | 1485 | const BCIns *pc = frame_contpc(J->L->base-1) - 1; |
| 1486 | if (bc_op(*pc) <= BC_ISNEP) { | 1486 | if (bc_op(*pc) <= BC_ISNEP) { |
| 1487 | setframe_pc(&J2G(J)->tmptv, pc); | 1487 | J2G(J)->tmptv.u64 = (uint64_t)(uintptr_t)pc; |
| 1488 | J2G(J)->tmptv.u32.lo = ((tref_istrue(tr) ^ bc_op(*pc)) & 1); | ||
| 1489 | J->postproc = LJ_POST_FIXCOMP; | 1488 | J->postproc = LJ_POST_FIXCOMP; |
| 1490 | } | 1489 | } |
| 1491 | } | 1490 | } |
diff --git a/src/lj_record.c b/src/lj_record.c index 98296633..10d76468 100644 --- a/src/lj_record.c +++ b/src/lj_record.c | |||
| @@ -1793,7 +1793,7 @@ void lj_record_ins(jit_State *J) | |||
| 1793 | if (LJ_UNLIKELY(J->postproc != LJ_POST_NONE)) { | 1793 | if (LJ_UNLIKELY(J->postproc != LJ_POST_NONE)) { |
| 1794 | switch (J->postproc) { | 1794 | switch (J->postproc) { |
| 1795 | case LJ_POST_FIXCOMP: /* Fixup comparison. */ | 1795 | case LJ_POST_FIXCOMP: /* Fixup comparison. */ |
| 1796 | pc = frame_pc(&J2G(J)->tmptv); | 1796 | pc = (const BCIns *)(uintptr_t)J2G(J)->tmptv.u64; |
| 1797 | rec_comp_fixup(J, pc, (!tvistruecond(&J2G(J)->tmptv2) ^ (bc_op(*pc)&1))); | 1797 | rec_comp_fixup(J, pc, (!tvistruecond(&J2G(J)->tmptv2) ^ (bc_op(*pc)&1))); |
| 1798 | /* fallthrough */ | 1798 | /* fallthrough */ |
| 1799 | case LJ_POST_FIXGUARD: /* Fixup and emit pending guard. */ | 1799 | case LJ_POST_FIXGUARD: /* Fixup and emit pending guard. */ |
