native Lua  0.5.0-devel
Lua on the platform you use with the compiler you choose
ljumptab.h
Go to the documentation of this file.
1 /*
2 ** $Id: ljumptab.h $
3 ** Jump Table for the Lua interpreter
4 ** See Copyright Notice in lua.h
5 */
6 
7 #ifndef ljumptab_h /* native Lua */
8 #define ljumptab_h /* native Lua */
9 
10 #ifdef LUA_USE_JUMPTABLE /* native Lua */
11 #include "_native_lua_config.h" /* native Lua */
12 
13 
14 #undef vmdispatch
15 #undef vmcase
16 #undef vmbreak
17 
18 #define vmdispatch(x) goto *disptab[x];
19 
20 #define vmcase(l) L_##l:
21 
22 #define vmbreak vmfetch(); vmdispatch(GET_OPCODE(i));
23 
24 
25 static const void *const disptab[NUM_OPCODES] = {
26 
27 #if 0
28 ** you can update the following list with this command:
29 **
30 ** sed -n '/^OP_/\!d; s/OP_/\&\&L_OP_/ ; s/,.*/,/ ; s/\/.*// ; p' lopcodes.h
31 **
32 #endif
33 
34 &&L_OP_MOVE,
35 &&L_OP_LOADI,
36 &&L_OP_LOADF,
37 &&L_OP_LOADK,
38 &&L_OP_LOADKX,
39 &&L_OP_LOADFALSE,
40 &&L_OP_LFALSESKIP,
41 &&L_OP_LOADTRUE,
42 &&L_OP_LOADNIL,
43 &&L_OP_GETUPVAL,
44 &&L_OP_SETUPVAL,
45 &&L_OP_GETTABUP,
46 &&L_OP_GETTABLE,
47 &&L_OP_GETI,
48 &&L_OP_GETFIELD,
49 &&L_OP_SETTABUP,
50 &&L_OP_SETTABLE,
51 &&L_OP_SETI,
52 &&L_OP_SETFIELD,
53 &&L_OP_NEWTABLE,
54 &&L_OP_SELF,
55 &&L_OP_ADDI,
56 &&L_OP_ADDK,
57 &&L_OP_SUBK,
58 &&L_OP_MULK,
59 &&L_OP_MODK,
60 &&L_OP_POWK,
61 &&L_OP_DIVK,
62 &&L_OP_IDIVK,
63 &&L_OP_BANDK,
64 &&L_OP_BORK,
65 &&L_OP_BXORK,
66 &&L_OP_SHRI,
67 &&L_OP_SHLI,
68 &&L_OP_ADD,
69 &&L_OP_SUB,
70 &&L_OP_MUL,
71 &&L_OP_MOD,
72 &&L_OP_POW,
73 &&L_OP_DIV,
74 &&L_OP_IDIV,
75 &&L_OP_BAND,
76 &&L_OP_BOR,
77 &&L_OP_BXOR,
78 &&L_OP_SHL,
79 &&L_OP_SHR,
80 &&L_OP_MMBIN,
81 &&L_OP_MMBINI,
82 &&L_OP_MMBINK,
83 &&L_OP_UNM,
84 &&L_OP_BNOT,
85 &&L_OP_NOT,
86 &&L_OP_LEN,
87 &&L_OP_CONCAT,
88 &&L_OP_CLOSE,
89 &&L_OP_TBC,
90 &&L_OP_JMP,
91 &&L_OP_EQ,
92 &&L_OP_LT,
93 &&L_OP_LE,
94 &&L_OP_EQK,
95 &&L_OP_EQI,
96 &&L_OP_LTI,
97 &&L_OP_LEI,
98 &&L_OP_GTI,
99 &&L_OP_GEI,
100 &&L_OP_TEST,
101 &&L_OP_TESTSET,
102 &&L_OP_CALL,
103 &&L_OP_TAILCALL,
104 &&L_OP_RETURN,
105 &&L_OP_RETURN0,
106 &&L_OP_RETURN1,
107 &&L_OP_FORLOOP,
108 &&L_OP_FORPREP,
109 &&L_OP_TFORPREP,
110 &&L_OP_TFORCALL,
111 &&L_OP_TFORLOOP,
112 &&L_OP_SETLIST,
113 &&L_OP_CLOSURE,
114 &&L_OP_VARARG,
115 &&L_OP_VARARGPREP,
116 &&L_OP_EXTRAARG
117 
118 };
119 #endif /* native Lua */
120 #endif /* ljumptab_h */ /* native Lua */
_native_lua_config.h
native Lua configuration file
NUM_OPCODES
#define NUM_OPCODES
Definition: lopcodes.h:314