diff options
author | Mike Pall <mike> | 2011-03-10 01:57:24 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-03-10 01:57:24 +0100 |
commit | bfce3c1127fd57fe0c935c92bcf45b4737041edd (patch) | |
tree | 2bd2d9e08c70608de63c7a69df7f00cfab07f6be /src/lj_iropt.h | |
parent | 3f26e3a89d54dfb761ca02fc89aaf15326f5f514 (diff) | |
download | luajit2-bfce3c1127fd57fe0c935c92bcf45b4737041edd.tar.gz |
DUALNUM: Handle integer type in JIT compiler.
Diffstat (limited to 'src/lj_iropt.h')
-rw-r--r-- | src/lj_iropt.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/lj_iropt.h b/src/lj_iropt.h index db99c118..1c94e91c 100644 --- a/src/lj_iropt.h +++ b/src/lj_iropt.h @@ -84,8 +84,6 @@ LJ_FUNC void lj_ir_kvalue(lua_State *L, TValue *tv, const IRIns *ir); /* Convert IR operand types. */ LJ_FUNC TRef LJ_FASTCALL lj_ir_tonum(jit_State *J, TRef tr); LJ_FUNC TRef LJ_FASTCALL lj_ir_tostr(jit_State *J, TRef tr); -LJ_FUNC TRef LJ_FASTCALL lj_ir_tobit(jit_State *J, TRef tr); -LJ_FUNC TRef LJ_FASTCALL lj_ir_toint(jit_State *J, TRef tr); /* Miscellaneous IR ops. */ LJ_FUNC int lj_ir_numcmp(lua_Number a, lua_Number b, IROp op); @@ -134,9 +132,17 @@ LJ_FUNC TRef LJ_FASTCALL lj_opt_dse_xstore(jit_State *J); /* Narrowing. */ LJ_FUNC TRef LJ_FASTCALL lj_opt_narrow_convert(jit_State *J); +LJ_FUNC TRef LJ_FASTCALL lj_opt_narrow_index(jit_State *J, TRef key); +LJ_FUNC TRef LJ_FASTCALL lj_opt_narrow_toint(jit_State *J, TRef tr); +LJ_FUNC TRef LJ_FASTCALL lj_opt_narrow_tobit(jit_State *J, TRef tr); +#if LJ_HASFFI +LJ_FUNC TRef LJ_FASTCALL lj_opt_narrow_cindex(jit_State *J, TRef key); +#endif +LJ_FUNC TRef lj_opt_narrow_arith(jit_State *J, TRef rb, TRef rc, + TValue *vb, TValue *vc, IROp op); LJ_FUNC TRef lj_opt_narrow_mod(jit_State *J, TRef rb, TRef rc); LJ_FUNC TRef lj_opt_narrow_pow(jit_State *J, TRef rb, TRef rc, TValue *vc); -LJ_FUNC IRType lj_opt_narrow_forl(cTValue *forbase); +LJ_FUNC IRType lj_opt_narrow_forl(jit_State *J, cTValue *forbase); /* Optimization passes. */ LJ_FUNC void lj_opt_dce(jit_State *J); |