浏览代码

FFI: Fix recording of pointer arithmetic.

Mike Pall 14 年之前
父节点
当前提交
fb53d4aeb7
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      src/lj_crecord.c

+ 1 - 1
src/lj_crecord.c

@@ -841,7 +841,7 @@ static TRef crec_arith_ptr(jit_State *J, TRef *sp, CType **s, MMS mm)
     }
 #endif
     tr = emitir(IRT(IR_MUL, IRT_INTP), tr, lj_ir_kintp(J, sz));
-    tr = emitir(IRT(IR_ADD, IRT_PTR), sp[0], tr);
+    tr = emitir(IRT(mm+(int)IR_ADD-(int)MM_add, IRT_PTR), sp[0], tr);
     id = lj_ctype_intern(cts, CTINFO(CT_PTR, CTALIGN_PTR|ctype_cid(ctp->info)),
 			 CTSIZE_PTR);
     return emitir(IRTG(IR_CNEWI, IRT_CDATA), lj_ir_kint(J, id), tr);