diff options
author | Mike Pall <mike> | 2013-02-23 02:09:19 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2013-02-23 02:09:19 +0100 |
commit | 73ef845fcaf65937ad63e9cf6b681cb3e61f4504 (patch) | |
tree | 078cfae62c78ae9b9c0cfe5afe6000643ffc805d /src/lj_bc.h | |
parent | b359ce804bb52585815fc52d7846202db4341acb (diff) | |
download | luajit-73ef845fcaf65937ad63e9cf6b681cb3e61f4504.tar.gz luajit-73ef845fcaf65937ad63e9cf6b681cb3e61f4504.tar.bz2 luajit-73ef845fcaf65937ad63e9cf6b681cb3e61f4504.zip |
Add special bytecodes for builtins.
BC_ISTYPE, BC_ISNUM: fast type checks/coercions.
BC_TGETR, BC_TSETR: fast rawgeti/rawseti, no type checks for table/key.
Diffstat (limited to 'src/lj_bc.h')
-rw-r--r-- | src/lj_bc.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lj_bc.h b/src/lj_bc.h index 56e71dd9..ac9cc5e1 100644 --- a/src/lj_bc.h +++ b/src/lj_bc.h | |||
@@ -89,6 +89,8 @@ | |||
89 | _(ISFC, dst, ___, var, ___) \ | 89 | _(ISFC, dst, ___, var, ___) \ |
90 | _(IST, ___, ___, var, ___) \ | 90 | _(IST, ___, ___, var, ___) \ |
91 | _(ISF, ___, ___, var, ___) \ | 91 | _(ISF, ___, ___, var, ___) \ |
92 | _(ISTYPE, var, ___, lit, ___) \ | ||
93 | _(ISNUM, var, ___, lit, ___) \ | ||
92 | \ | 94 | \ |
93 | /* Unary ops. */ \ | 95 | /* Unary ops. */ \ |
94 | _(MOV, dst, ___, var, ___) \ | 96 | _(MOV, dst, ___, var, ___) \ |
@@ -143,10 +145,12 @@ | |||
143 | _(TGETV, dst, var, var, index) \ | 145 | _(TGETV, dst, var, var, index) \ |
144 | _(TGETS, dst, var, str, index) \ | 146 | _(TGETS, dst, var, str, index) \ |
145 | _(TGETB, dst, var, lit, index) \ | 147 | _(TGETB, dst, var, lit, index) \ |
148 | _(TGETR, dst, var, var, index) \ | ||
146 | _(TSETV, var, var, var, newindex) \ | 149 | _(TSETV, var, var, var, newindex) \ |
147 | _(TSETS, var, var, str, newindex) \ | 150 | _(TSETS, var, var, str, newindex) \ |
148 | _(TSETB, var, var, lit, newindex) \ | 151 | _(TSETB, var, var, lit, newindex) \ |
149 | _(TSETM, base, ___, num, newindex) \ | 152 | _(TSETM, base, ___, num, newindex) \ |
153 | _(TSETR, var, var, var, newindex) \ | ||
150 | \ | 154 | \ |
151 | /* Calls and vararg handling. T = tail call. */ \ | 155 | /* Calls and vararg handling. T = tail call. */ \ |
152 | _(CALLM, base, lit, lit, call) \ | 156 | _(CALLM, base, lit, lit, call) \ |