diff options
author | Li Jin <dragon-fly@qq.com> | 2021-04-21 09:36:25 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2021-04-21 09:36:25 +0800 |
commit | b7bdf7d5d36825a1a750a74641f6d374dec5d67a (patch) | |
tree | 6b27eb6590e07c07f378305c51d0f5e0779faa83 /src/3rdParty/lua/ljumptab.h | |
parent | b86e5af605a170a3559df0165eac3cb6b665dc49 (diff) | |
download | yuescript-b7bdf7d5d36825a1a750a74641f6d374dec5d67a.tar.gz yuescript-b7bdf7d5d36825a1a750a74641f6d374dec5d67a.tar.bz2 yuescript-b7bdf7d5d36825a1a750a74641f6d374dec5d67a.zip |
adjust some folder levels.
Diffstat (limited to 'src/3rdParty/lua/ljumptab.h')
-rw-r--r-- | src/3rdParty/lua/ljumptab.h | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/src/3rdParty/lua/ljumptab.h b/src/3rdParty/lua/ljumptab.h new file mode 100644 index 0000000..8306f25 --- /dev/null +++ b/src/3rdParty/lua/ljumptab.h | |||
@@ -0,0 +1,112 @@ | |||
1 | /* | ||
2 | ** $Id: ljumptab.h $ | ||
3 | ** Jump Table for the Lua interpreter | ||
4 | ** See Copyright Notice in lua.h | ||
5 | */ | ||
6 | |||
7 | |||
8 | #undef vmdispatch | ||
9 | #undef vmcase | ||
10 | #undef vmbreak | ||
11 | |||
12 | #define vmdispatch(x) goto *disptab[x]; | ||
13 | |||
14 | #define vmcase(l) L_##l: | ||
15 | |||
16 | #define vmbreak vmfetch(); vmdispatch(GET_OPCODE(i)); | ||
17 | |||
18 | |||
19 | static const void *const disptab[NUM_OPCODES] = { | ||
20 | |||
21 | #if 0 | ||
22 | ** you can update the following list with this command: | ||
23 | ** | ||
24 | ** sed -n '/^OP_/\!d; s/OP_/\&\&L_OP_/ ; s/,.*/,/ ; s/\/.*// ; p' lopcodes.h | ||
25 | ** | ||
26 | #endif | ||
27 | |||
28 | &&L_OP_MOVE, | ||
29 | &&L_OP_LOADI, | ||
30 | &&L_OP_LOADF, | ||
31 | &&L_OP_LOADK, | ||
32 | &&L_OP_LOADKX, | ||
33 | &&L_OP_LOADFALSE, | ||
34 | &&L_OP_LFALSESKIP, | ||
35 | &&L_OP_LOADTRUE, | ||
36 | &&L_OP_LOADNIL, | ||
37 | &&L_OP_GETUPVAL, | ||
38 | &&L_OP_SETUPVAL, | ||
39 | &&L_OP_GETTABUP, | ||
40 | &&L_OP_GETTABLE, | ||
41 | &&L_OP_GETI, | ||
42 | &&L_OP_GETFIELD, | ||
43 | &&L_OP_SETTABUP, | ||
44 | &&L_OP_SETTABLE, | ||
45 | &&L_OP_SETI, | ||
46 | &&L_OP_SETFIELD, | ||
47 | &&L_OP_NEWTABLE, | ||
48 | &&L_OP_SELF, | ||
49 | &&L_OP_ADDI, | ||
50 | &&L_OP_ADDK, | ||
51 | &&L_OP_SUBK, | ||
52 | &&L_OP_MULK, | ||
53 | &&L_OP_MODK, | ||
54 | &&L_OP_POWK, | ||
55 | &&L_OP_DIVK, | ||
56 | &&L_OP_IDIVK, | ||
57 | &&L_OP_BANDK, | ||
58 | &&L_OP_BORK, | ||
59 | &&L_OP_BXORK, | ||
60 | &&L_OP_SHRI, | ||
61 | &&L_OP_SHLI, | ||
62 | &&L_OP_ADD, | ||
63 | &&L_OP_SUB, | ||
64 | &&L_OP_MUL, | ||
65 | &&L_OP_MOD, | ||
66 | &&L_OP_POW, | ||
67 | &&L_OP_DIV, | ||
68 | &&L_OP_IDIV, | ||
69 | &&L_OP_BAND, | ||
70 | &&L_OP_BOR, | ||
71 | &&L_OP_BXOR, | ||
72 | &&L_OP_SHL, | ||
73 | &&L_OP_SHR, | ||
74 | &&L_OP_MMBIN, | ||
75 | &&L_OP_MMBINI, | ||
76 | &&L_OP_MMBINK, | ||
77 | &&L_OP_UNM, | ||
78 | &&L_OP_BNOT, | ||
79 | &&L_OP_NOT, | ||
80 | &&L_OP_LEN, | ||
81 | &&L_OP_CONCAT, | ||
82 | &&L_OP_CLOSE, | ||
83 | &&L_OP_TBC, | ||
84 | &&L_OP_JMP, | ||
85 | &&L_OP_EQ, | ||
86 | &&L_OP_LT, | ||
87 | &&L_OP_LE, | ||
88 | &&L_OP_EQK, | ||
89 | &&L_OP_EQI, | ||
90 | &&L_OP_LTI, | ||
91 | &&L_OP_LEI, | ||
92 | &&L_OP_GTI, | ||
93 | &&L_OP_GEI, | ||
94 | &&L_OP_TEST, | ||
95 | &&L_OP_TESTSET, | ||
96 | &&L_OP_CALL, | ||
97 | &&L_OP_TAILCALL, | ||
98 | &&L_OP_RETURN, | ||
99 | &&L_OP_RETURN0, | ||
100 | &&L_OP_RETURN1, | ||
101 | &&L_OP_FORLOOP, | ||
102 | &&L_OP_FORPREP, | ||
103 | &&L_OP_TFORPREP, | ||
104 | &&L_OP_TFORCALL, | ||
105 | &&L_OP_TFORLOOP, | ||
106 | &&L_OP_SETLIST, | ||
107 | &&L_OP_CLOSURE, | ||
108 | &&L_OP_VARARG, | ||
109 | &&L_OP_VARARGPREP, | ||
110 | &&L_OP_EXTRAARG | ||
111 | |||
112 | }; | ||