summaryrefslogtreecommitdiff
path: root/src/lj_ffrecord.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_ffrecord.c')
-rw-r--r--src/lj_ffrecord.c10
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);