diff options
author | Mike Pall <mike> | 2011-02-07 23:42:51 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-02-07 23:42:51 +0100 |
commit | fb53d4aeb7590e0e8437b03589ef68adf4611570 (patch) | |
tree | b4a38d35d491c87b66b638246007bf65cc208571 /src | |
parent | 97d0874ff5dc878758f79ceef5509cc632779c53 (diff) | |
download | luajit-fb53d4aeb7590e0e8437b03589ef68adf4611570.tar.gz luajit-fb53d4aeb7590e0e8437b03589ef68adf4611570.tar.bz2 luajit-fb53d4aeb7590e0e8437b03589ef68adf4611570.zip |
FFI: Fix recording of pointer arithmetic.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_crecord.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_crecord.c b/src/lj_crecord.c index 44c5844a..ea18f75f 100644 --- a/src/lj_crecord.c +++ b/src/lj_crecord.c | |||
@@ -841,7 +841,7 @@ static TRef crec_arith_ptr(jit_State *J, TRef *sp, CType **s, MMS mm) | |||
841 | } | 841 | } |
842 | #endif | 842 | #endif |
843 | tr = emitir(IRT(IR_MUL, IRT_INTP), tr, lj_ir_kintp(J, sz)); | 843 | tr = emitir(IRT(IR_MUL, IRT_INTP), tr, lj_ir_kintp(J, sz)); |
844 | tr = emitir(IRT(IR_ADD, IRT_PTR), sp[0], tr); | 844 | tr = emitir(IRT(mm+(int)IR_ADD-(int)MM_add, IRT_PTR), sp[0], tr); |
845 | id = lj_ctype_intern(cts, CTINFO(CT_PTR, CTALIGN_PTR|ctype_cid(ctp->info)), | 845 | id = lj_ctype_intern(cts, CTINFO(CT_PTR, CTALIGN_PTR|ctype_cid(ctp->info)), |
846 | CTSIZE_PTR); | 846 | CTSIZE_PTR); |
847 | return emitir(IRTG(IR_CNEWI, IRT_CDATA), lj_ir_kint(J, id), tr); | 847 | return emitir(IRTG(IR_CNEWI, IRT_CDATA), lj_ir_kint(J, id), tr); |