diff options
author | Mike Pall <mike> | 2013-04-26 00:32:08 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2013-04-26 00:32:08 +0200 |
commit | b6adfff8f4e388ea286ca4d7d8e0896c07f1cab8 (patch) | |
tree | 26dc6763ae0378b1f783d644eff8f4662679a1d4 /src/lj_ffrecord.c | |
parent | 61cb25b0ca19f75be49373969d6dc3daa646d3aa (diff) | |
download | luajit-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.c | 9 |
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 | ||
774 | static 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 | ||
776 | static void LJ_FASTCALL recff_table_insert(jit_State *J, RecordFFData *rd) | 785 | static void LJ_FASTCALL recff_table_insert(jit_State *J, RecordFFData *rd) |