diff options
Diffstat (limited to 'apps/plugins/lua/lopcodes.c')
-rw-r--r-- | apps/plugins/lua/lopcodes.c | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/apps/plugins/lua/lopcodes.c b/apps/plugins/lua/lopcodes.c index 4cc745230b..4190dc7624 100644 --- a/apps/plugins/lua/lopcodes.c +++ b/apps/plugins/lua/lopcodes.c | |||
@@ -1,5 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lopcodes.c,v 1.37.1.1 2007/12/27 13:02:25 roberto Exp $ | 2 | ** $Id: lopcodes.c,v 1.49.1.1 2013/04/12 18:48:47 roberto Exp $ |
3 | ** Opcodes for Lua virtual machine | ||
3 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
4 | */ | 5 | */ |
5 | 6 | ||
@@ -13,15 +14,16 @@ | |||
13 | 14 | ||
14 | /* ORDER OP */ | 15 | /* ORDER OP */ |
15 | 16 | ||
16 | const char *const luaP_opnames[NUM_OPCODES+1] = { | 17 | LUAI_DDEF const char *const luaP_opnames[NUM_OPCODES+1] = { |
17 | "MOVE", | 18 | "MOVE", |
18 | "LOADK", | 19 | "LOADK", |
20 | "LOADKX", | ||
19 | "LOADBOOL", | 21 | "LOADBOOL", |
20 | "LOADNIL", | 22 | "LOADNIL", |
21 | "GETUPVAL", | 23 | "GETUPVAL", |
22 | "GETGLOBAL", | 24 | "GETTABUP", |
23 | "GETTABLE", | 25 | "GETTABLE", |
24 | "SETGLOBAL", | 26 | "SETTABUP", |
25 | "SETUPVAL", | 27 | "SETUPVAL", |
26 | "SETTABLE", | 28 | "SETTABLE", |
27 | "NEWTABLE", | 29 | "NEWTABLE", |
@@ -47,27 +49,29 @@ const char *const luaP_opnames[NUM_OPCODES+1] = { | |||
47 | "RETURN", | 49 | "RETURN", |
48 | "FORLOOP", | 50 | "FORLOOP", |
49 | "FORPREP", | 51 | "FORPREP", |
52 | "TFORCALL", | ||
50 | "TFORLOOP", | 53 | "TFORLOOP", |
51 | "SETLIST", | 54 | "SETLIST", |
52 | "CLOSE", | ||
53 | "CLOSURE", | 55 | "CLOSURE", |
54 | "VARARG", | 56 | "VARARG", |
57 | "EXTRAARG", | ||
55 | NULL | 58 | NULL |
56 | }; | 59 | }; |
57 | 60 | ||
58 | 61 | ||
59 | #define opmode(t,a,b,c,m) (((t)<<7) | ((a)<<6) | ((b)<<4) | ((c)<<2) | (m)) | 62 | #define opmode(t,a,b,c,m) (((t)<<7) | ((a)<<6) | ((b)<<4) | ((c)<<2) | (m)) |
60 | 63 | ||
61 | const lu_byte luaP_opmodes[NUM_OPCODES] = { | 64 | LUAI_DDEF const lu_byte luaP_opmodes[NUM_OPCODES] = { |
62 | /* T A B C mode opcode */ | 65 | /* T A B C mode opcode */ |
63 | opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_MOVE */ | 66 | opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_MOVE */ |
64 | ,opmode(0, 1, OpArgK, OpArgN, iABx) /* OP_LOADK */ | 67 | ,opmode(0, 1, OpArgK, OpArgN, iABx) /* OP_LOADK */ |
68 | ,opmode(0, 1, OpArgN, OpArgN, iABx) /* OP_LOADKX */ | ||
65 | ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_LOADBOOL */ | 69 | ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_LOADBOOL */ |
66 | ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LOADNIL */ | 70 | ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_LOADNIL */ |
67 | ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_GETUPVAL */ | 71 | ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_GETUPVAL */ |
68 | ,opmode(0, 1, OpArgK, OpArgN, iABx) /* OP_GETGLOBAL */ | 72 | ,opmode(0, 1, OpArgU, OpArgK, iABC) /* OP_GETTABUP */ |
69 | ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_GETTABLE */ | 73 | ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_GETTABLE */ |
70 | ,opmode(0, 0, OpArgK, OpArgN, iABx) /* OP_SETGLOBAL */ | 74 | ,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABUP */ |
71 | ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_SETUPVAL */ | 75 | ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_SETUPVAL */ |
72 | ,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABLE */ | 76 | ,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABLE */ |
73 | ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_NEWTABLE */ | 77 | ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_NEWTABLE */ |
@@ -86,17 +90,18 @@ const lu_byte luaP_opmodes[NUM_OPCODES] = { | |||
86 | ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_EQ */ | 90 | ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_EQ */ |
87 | ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LT */ | 91 | ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LT */ |
88 | ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LE */ | 92 | ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LE */ |
89 | ,opmode(1, 1, OpArgR, OpArgU, iABC) /* OP_TEST */ | 93 | ,opmode(1, 0, OpArgN, OpArgU, iABC) /* OP_TEST */ |
90 | ,opmode(1, 1, OpArgR, OpArgU, iABC) /* OP_TESTSET */ | 94 | ,opmode(1, 1, OpArgR, OpArgU, iABC) /* OP_TESTSET */ |
91 | ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_CALL */ | 95 | ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_CALL */ |
92 | ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_TAILCALL */ | 96 | ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_TAILCALL */ |
93 | ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_RETURN */ | 97 | ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_RETURN */ |
94 | ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORLOOP */ | 98 | ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORLOOP */ |
95 | ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORPREP */ | 99 | ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORPREP */ |
96 | ,opmode(1, 0, OpArgN, OpArgU, iABC) /* OP_TFORLOOP */ | 100 | ,opmode(0, 0, OpArgN, OpArgU, iABC) /* OP_TFORCALL */ |
101 | ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_TFORLOOP */ | ||
97 | ,opmode(0, 0, OpArgU, OpArgU, iABC) /* OP_SETLIST */ | 102 | ,opmode(0, 0, OpArgU, OpArgU, iABC) /* OP_SETLIST */ |
98 | ,opmode(0, 0, OpArgN, OpArgN, iABC) /* OP_CLOSE */ | ||
99 | ,opmode(0, 1, OpArgU, OpArgN, iABx) /* OP_CLOSURE */ | 103 | ,opmode(0, 1, OpArgU, OpArgN, iABx) /* OP_CLOSURE */ |
100 | ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_VARARG */ | 104 | ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_VARARG */ |
105 | ,opmode(0, 0, OpArgU, OpArgU, iAx) /* OP_EXTRAARG */ | ||
101 | }; | 106 | }; |
102 | 107 | ||