diff options
author | Mike Pall <mike> | 2014-03-04 16:11:29 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2014-03-04 16:11:29 +0100 |
commit | 19d53ed2f9f3633c35c5cc5c6492bb19d751e3b1 (patch) | |
tree | c86244dd114a38101ea3b166ef72822599ed5c64 /src/lj_record.c | |
parent | fd3354a9dd3c8614ed4c5d7db048feb3ec89bd7b (diff) | |
download | luajit-19d53ed2f9f3633c35c5cc5c6492bb19d751e3b1.tar.gz luajit-19d53ed2f9f3633c35c5cc5c6492bb19d751e3b1.tar.bz2 luajit-19d53ed2f9f3633c35c5cc5c6492bb19d751e3b1.zip |
Specialize to ffid for non-monomorphic builtins.
Diffstat (limited to '')
-rw-r--r-- | src/lj_record.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lj_record.c b/src/lj_record.c index 9a3e3375..dbc096a2 100644 --- a/src/lj_record.c +++ b/src/lj_record.c | |||
@@ -648,7 +648,10 @@ static TRef rec_call_specialize(jit_State *J, GCfunc *fn, TRef tr) | |||
648 | case FF_coroutine_wrap_aux: | 648 | case FF_coroutine_wrap_aux: |
649 | case FF_string_gmatch_aux: | 649 | case FF_string_gmatch_aux: |
650 | /* NYI: io_file_iter doesn't have an ffid, yet. */ | 650 | /* NYI: io_file_iter doesn't have an ffid, yet. */ |
651 | /* NYI: specialize to ffid? Not strictly necessary, trace will stop. */ | 651 | { /* Specialize to the ffid. */ |
652 | TRef trid = emitir(IRT(IR_FLOAD, IRT_U8), tr, IRFL_FUNC_FFID); | ||
653 | emitir(IRTG(IR_EQ, IRT_INT), trid, lj_ir_kint(J, fn->c.ffid)); | ||
654 | } | ||
652 | return tr; | 655 | return tr; |
653 | default: | 656 | default: |
654 | /* NYI: don't specialize to non-monomorphic C functions. */ | 657 | /* NYI: don't specialize to non-monomorphic C functions. */ |