summaryrefslogtreecommitdiff
path: root/apps/plugins/lua/lopcodes.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/lua/lopcodes.c')
-rw-r--r--apps/plugins/lua/lopcodes.c31
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
16const char *const luaP_opnames[NUM_OPCODES+1] = { 17LUAI_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
61const lu_byte luaP_opmodes[NUM_OPCODES] = { 64LUAI_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