diff options
Diffstat (limited to 'src/lj_ffrecord.c')
-rw-r--r-- | src/lj_ffrecord.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lj_ffrecord.c b/src/lj_ffrecord.c index 0c8a41cd..d695b8bf 100644 --- a/src/lj_ffrecord.c +++ b/src/lj_ffrecord.c | |||
@@ -161,7 +161,7 @@ static void LJ_FASTCALL recff_setmetatable(jit_State *J, RecordFFData *rd) | |||
161 | ix.tab = tr; | 161 | ix.tab = tr; |
162 | copyTV(J->L, &ix.tabv, &rd->argv[0]); | 162 | copyTV(J->L, &ix.tabv, &rd->argv[0]); |
163 | lj_record_mm_lookup(J, &ix, MM_metatable); /* Guard for no __metatable. */ | 163 | lj_record_mm_lookup(J, &ix, MM_metatable); /* Guard for no __metatable. */ |
164 | fref = emitir(IRT(IR_FREF, IRT_PTR), tr, IRFL_TAB_META); | 164 | fref = emitir(IRT(IR_FREF, IRT_P32), tr, IRFL_TAB_META); |
165 | mtref = tref_isnil(mt) ? lj_ir_knull(J, IRT_TAB) : mt; | 165 | mtref = tref_isnil(mt) ? lj_ir_knull(J, IRT_TAB) : mt; |
166 | emitir(IRT(IR_FSTORE, IRT_TAB), fref, mtref); | 166 | emitir(IRT(IR_FSTORE, IRT_TAB), fref, mtref); |
167 | if (!tref_isnil(mt)) | 167 | if (!tref_isnil(mt)) |
@@ -214,7 +214,7 @@ int32_t lj_ffrecord_select_mode(jit_State *J, TRef tr, TValue *tv) | |||
214 | if (strV(tv)->len == 1) { | 214 | if (strV(tv)->len == 1) { |
215 | emitir(IRT(IR_EQ, IRT_STR), tr, lj_ir_kstr(J, strV(tv))); | 215 | emitir(IRT(IR_EQ, IRT_STR), tr, lj_ir_kstr(J, strV(tv))); |
216 | } else { | 216 | } else { |
217 | TRef trptr = emitir(IRT(IR_STRREF, IRT_PTR), tr, 0); | 217 | TRef trptr = emitir(IRT(IR_STRREF, IRT_P32), tr, 0); |
218 | TRef trchar = emitir(IRT(IR_XLOAD, IRT_U8), trptr, IRXLOAD_READONLY); | 218 | TRef trchar = emitir(IRT(IR_XLOAD, IRT_U8), trptr, IRXLOAD_READONLY); |
219 | emitir(IRT(IR_EQ, IRT_INT), trchar, lj_ir_kint(J, '#')); | 219 | emitir(IRT(IR_EQ, IRT_INT), trchar, lj_ir_kint(J, '#')); |
220 | } | 220 | } |
@@ -626,7 +626,7 @@ static void LJ_FASTCALL recff_string_range(jit_State *J, RecordFFData *rd) | |||
626 | /* Also handle empty range here, to avoid extra traces. */ | 626 | /* Also handle empty range here, to avoid extra traces. */ |
627 | TRef trptr, trslen = emitir(IRTI(IR_SUB), trend, trstart); | 627 | TRef trptr, trslen = emitir(IRTI(IR_SUB), trend, trstart); |
628 | emitir(IRTGI(IR_GE), trslen, tr0); | 628 | emitir(IRTGI(IR_GE), trslen, tr0); |
629 | trptr = emitir(IRT(IR_STRREF, IRT_PTR), trstr, trstart); | 629 | trptr = emitir(IRT(IR_STRREF, IRT_P32), trstr, trstart); |
630 | J->base[0] = emitir(IRT(IR_SNEW, IRT_STR), trptr, trslen); | 630 | J->base[0] = emitir(IRT(IR_SNEW, IRT_STR), trptr, trslen); |
631 | } else { /* Range underflow: return empty string. */ | 631 | } else { /* Range underflow: return empty string. */ |
632 | emitir(IRTGI(IR_LT), trend, trstart); | 632 | emitir(IRTGI(IR_LT), trend, trstart); |
@@ -642,7 +642,7 @@ static void LJ_FASTCALL recff_string_range(jit_State *J, RecordFFData *rd) | |||
642 | rd->nres = len; | 642 | rd->nres = len; |
643 | for (i = 0; i < len; i++) { | 643 | for (i = 0; i < len; i++) { |
644 | TRef tmp = emitir(IRTI(IR_ADD), trstart, lj_ir_kint(J, (int32_t)i)); | 644 | TRef tmp = emitir(IRTI(IR_ADD), trstart, lj_ir_kint(J, (int32_t)i)); |
645 | tmp = emitir(IRT(IR_STRREF, IRT_PTR), trstr, tmp); | 645 | tmp = emitir(IRT(IR_STRREF, IRT_P32), trstr, tmp); |
646 | J->base[i] = emitir(IRT(IR_XLOAD, IRT_U8), tmp, IRXLOAD_READONLY); | 646 | J->base[i] = emitir(IRT(IR_XLOAD, IRT_U8), tmp, IRXLOAD_READONLY); |
647 | } | 647 | } |
648 | } else { /* Empty range or range underflow: return no results. */ | 648 | } else { /* Empty range or range underflow: return no results. */ |
@@ -746,7 +746,7 @@ static void LJ_FASTCALL recff_io_write(jit_State *J, RecordFFData *rd) | |||
746 | ptrdiff_t i = rd->data == 0 ? 1 : 0; | 746 | ptrdiff_t i = rd->data == 0 ? 1 : 0; |
747 | for (; J->base[i]; i++) { | 747 | for (; J->base[i]; i++) { |
748 | TRef str = lj_ir_tostr(J, J->base[i]); | 748 | TRef str = lj_ir_tostr(J, J->base[i]); |
749 | TRef buf = emitir(IRT(IR_STRREF, IRT_PTR), str, zero); | 749 | TRef buf = emitir(IRT(IR_STRREF, IRT_P32), str, zero); |
750 | TRef len = emitir(IRTI(IR_FLOAD), str, IRFL_STR_LEN); | 750 | TRef len = emitir(IRTI(IR_FLOAD), str, IRFL_STR_LEN); |
751 | if (tref_isk(len) && IR(tref_ref(len))->i == 1) { | 751 | if (tref_isk(len) && IR(tref_ref(len))->i == 1) { |
752 | TRef tr = emitir(IRT(IR_XLOAD, IRT_U8), buf, IRXLOAD_READONLY); | 752 | TRef tr = emitir(IRT(IR_XLOAD, IRT_U8), buf, IRXLOAD_READONLY); |