summaryrefslogtreecommitdiff
path: root/src/lj_ffrecord.c
diff options
context:
space:
mode:
authorMike Pall <mike>2013-04-26 00:32:08 +0200
committerMike Pall <mike>2013-04-26 00:32:08 +0200
commitb6adfff8f4e388ea286ca4d7d8e0896c07f1cab8 (patch)
tree26dc6763ae0378b1f783d644eff8f4662679a1d4 /src/lj_ffrecord.c
parent61cb25b0ca19f75be49373969d6dc3daa646d3aa (diff)
downloadluajit-b6adfff8f4e388ea286ca4d7d8e0896c07f1cab8.tar.gz
luajit-b6adfff8f4e388ea286ca4d7d8e0896c07f1cab8.tar.bz2
luajit-b6adfff8f4e388ea286ca4d7d8e0896c07f1cab8.zip
Compile string.reverse(), string.lower(), string.upper().
Diffstat (limited to 'src/lj_ffrecord.c')
-rw-r--r--src/lj_ffrecord.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lj_ffrecord.c b/src/lj_ffrecord.c
index 191974ea..69423760 100644
--- a/src/lj_ffrecord.c
+++ b/src/lj_ffrecord.c
@@ -771,6 +771,15 @@ static void LJ_FASTCALL recff_string_char(jit_State *J, RecordFFData *rd)
771 UNUSED(rd); 771 UNUSED(rd);
772} 772}
773 773
774static void LJ_FASTCALL recff_string_op(jit_State *J, RecordFFData *rd)
775{
776 TRef str = lj_ir_tostr(J, J->base[0]);
777 TRef hdr = emitir(IRT(IR_BUFHDR, IRT_P32),
778 lj_ir_kptr(J, &J2G(J)->tmpbuf), IRBUFHDR_RESET);
779 TRef tr = lj_ir_call(J, rd->data, hdr, str);
780 J->base[0] = emitir(IRT(IR_BUFSTR, IRT_STR), hdr, tr);
781}
782
774/* -- Table library fast functions ---------------------------------------- */ 783/* -- Table library fast functions ---------------------------------------- */
775 784
776static void LJ_FASTCALL recff_table_insert(jit_State *J, RecordFFData *rd) 785static void LJ_FASTCALL recff_table_insert(jit_State *J, RecordFFData *rd)