aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lj_record.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/lj_record.c b/src/lj_record.c
index ea391bf1..8f42c4af 100644
--- a/src/lj_record.c
+++ b/src/lj_record.c
@@ -1808,12 +1808,10 @@ void lj_record_ins(jit_State *J)
1808 int diff; 1808 int diff;
1809 rec_comp_prep(J); 1809 rec_comp_prep(J);
1810 diff = lj_record_objcmp(J, ra, rc, rav, rcv); 1810 diff = lj_record_objcmp(J, ra, rc, rav, rcv);
1811 if (diff == 1 && (tref_istab(ra) || tref_isudata(ra))) { 1811 if (diff == 2 || !(tref_istab(ra) || tref_isudata(ra)))
1812 /* Only check __eq if different, but the same type (table or udata). */ 1812 rec_comp_fixup(J, J->pc, ((int)op & 1) == !diff);
1813 else if (diff == 1) /* Only check __eq if different, but same type. */
1813 rec_mm_equal(J, &ix, (int)op); 1814 rec_mm_equal(J, &ix, (int)op);
1814 break;
1815 }
1816 rec_comp_fixup(J, J->pc, ((int)op & 1) == !diff);
1817 } 1815 }
1818 break; 1816 break;
1819 1817