aboutsummaryrefslogtreecommitdiff
path: root/src/lj_asm_x86.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lj_asm_x86.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_asm_x86.h b/src/lj_asm_x86.h
index 1b94371e..381eac9c 100644
--- a/src/lj_asm_x86.h
+++ b/src/lj_asm_x86.h
@@ -234,10 +234,10 @@ static void asm_fusefref(ASMState *as, IRIns *ir, RegSet allow)
234 as->mrm.idx = RID_NONE; 234 as->mrm.idx = RID_NONE;
235 if (ir->op1 == REF_NIL) { 235 if (ir->op1 == REF_NIL) {
236#if LJ_GC64 236#if LJ_GC64
237 as->mrm.ofs = (int32_t)ir->op2 - GG_OFS(dispatch); 237 as->mrm.ofs = (int32_t)(ir->op2 << 2) - GG_OFS(dispatch);
238 as->mrm.base = RID_DISPATCH; 238 as->mrm.base = RID_DISPATCH;
239#else 239#else
240 as->mrm.ofs = (int32_t)ir->op2 + ptr2addr(J2GG(as->J)); 240 as->mrm.ofs = (int32_t)(ir->op2 << 2) + ptr2addr(J2GG(as->J));
241 as->mrm.base = RID_NONE; 241 as->mrm.base = RID_NONE;
242#endif 242#endif
243 return; 243 return;