diff options
Diffstat (limited to 'src/lj_bc.h')
-rw-r--r-- | src/lj_bc.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/lj_bc.h b/src/lj_bc.h index 83e2dea3..e1284916 100644 --- a/src/lj_bc.h +++ b/src/lj_bc.h | |||
@@ -178,7 +178,17 @@ | |||
178 | _(ILOOP, rbase, ___, jump, ___) \ | 178 | _(ILOOP, rbase, ___, jump, ___) \ |
179 | _(JLOOP, rbase, ___, lit, ___) \ | 179 | _(JLOOP, rbase, ___, lit, ___) \ |
180 | \ | 180 | \ |
181 | _(JMP, rbase, ___, jump, ___) | 181 | _(JMP, rbase, ___, jump, ___) \ |
182 | \ | ||
183 | /* Function headers. I/J = interp/JIT, F/V/C = fixarg/vararg/C func. */ \ | ||
184 | _(FUNCF, rbase, ___, ___, ___) \ | ||
185 | _(IFUNCF, rbase, ___, ___, ___) \ | ||
186 | _(JFUNCF, rbase, ___, lit, ___) \ | ||
187 | _(FUNCV, rbase, ___, ___, ___) \ | ||
188 | _(IFUNCV, rbase, ___, ___, ___) \ | ||
189 | _(JFUNCV, rbase, ___, lit, ___) \ | ||
190 | _(FUNCC, ___, ___, ___, ___) \ | ||
191 | _(FUNCCW, ___, ___, ___, ___) | ||
182 | 192 | ||
183 | /* Bytecode opcode numbers. */ | 193 | /* Bytecode opcode numbers. */ |
184 | typedef enum { | 194 | typedef enum { |
@@ -206,6 +216,10 @@ LJ_STATIC_ASSERT((int)BC_ITERL + 1 == (int)BC_IITERL); | |||
206 | LJ_STATIC_ASSERT((int)BC_ITERL + 2 == (int)BC_JITERL); | 216 | LJ_STATIC_ASSERT((int)BC_ITERL + 2 == (int)BC_JITERL); |
207 | LJ_STATIC_ASSERT((int)BC_LOOP + 1 == (int)BC_ILOOP); | 217 | LJ_STATIC_ASSERT((int)BC_LOOP + 1 == (int)BC_ILOOP); |
208 | LJ_STATIC_ASSERT((int)BC_LOOP + 2 == (int)BC_JLOOP); | 218 | LJ_STATIC_ASSERT((int)BC_LOOP + 2 == (int)BC_JLOOP); |
219 | LJ_STATIC_ASSERT((int)BC_FUNCF + 1 == (int)BC_IFUNCF); | ||
220 | LJ_STATIC_ASSERT((int)BC_FUNCF + 2 == (int)BC_JFUNCF); | ||
221 | LJ_STATIC_ASSERT((int)BC_FUNCV + 1 == (int)BC_IFUNCV); | ||
222 | LJ_STATIC_ASSERT((int)BC_FUNCV + 2 == (int)BC_JFUNCV); | ||
209 | 223 | ||
210 | /* Stack slots used by FORI/FORL, relative to operand A. */ | 224 | /* Stack slots used by FORI/FORL, relative to operand A. */ |
211 | enum { | 225 | enum { |
@@ -229,8 +243,9 @@ typedef enum { | |||
229 | 243 | ||
230 | #define BCMODE(name, ma, mb, mc, mm) \ | 244 | #define BCMODE(name, ma, mb, mc, mm) \ |
231 | (BCM##ma|(BCM##mb<<3)|(BCM##mc<<7)|(MM_##mm<<11)), | 245 | (BCM##ma|(BCM##mb<<3)|(BCM##mc<<7)|(MM_##mm<<11)), |
246 | #define BCMODE_FF 0 | ||
232 | 247 | ||
233 | LJ_DATA const uint16_t lj_bc_mode[BC__MAX+1]; | 248 | LJ_DATA const uint16_t lj_bc_mode[]; |
234 | LJ_DATA const uint16_t lj_bc_ofs[BC__MAX+1]; | 249 | LJ_DATA const uint16_t lj_bc_ofs[]; |
235 | 250 | ||
236 | #endif | 251 | #endif |