aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2014-12-15 02:45:40 +0100
committerMike Pall <mike>2014-12-15 02:45:40 +0100
commitc6130e68eb9a579d42db732d6ff1aa7bf02b8f65 (patch)
tree337671a4a359f0a69ba17dec20ec1ec24f8c8edc /src
parent881f48f9808a950f8e046a3b299db0269506a87d (diff)
downloadluajit-c6130e68eb9a579d42db732d6ff1aa7bf02b8f65.tar.gz
luajit-c6130e68eb9a579d42db732d6ff1aa7bf02b8f65.tar.bz2
luajit-c6130e68eb9a579d42db732d6ff1aa7bf02b8f65.zip
Avoid dependency on frame layout for LJ_POST_FIXCOMP.
The auxiliary value in u32.lo wasn't used, anyway.
Diffstat (limited to 'src')
-rw-r--r--src/lj_crecord.c3
-rw-r--r--src/lj_record.c2
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. */