diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-12-22 12:16:46 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-12-22 12:16:46 -0200 |
commit | 4676f6599e04d4eaa78c050616e94994e6a36396 (patch) | |
tree | 94ef87b23d9008bee2fd34df7703c77181b4d655 /lopcodes.c | |
parent | 1d5b885437286a307a77b5d12756d73d374efd54 (diff) | |
download | lua-4676f6599e04d4eaa78c050616e94994e6a36396.tar.gz lua-4676f6599e04d4eaa78c050616e94994e6a36396.tar.bz2 lua-4676f6599e04d4eaa78c050616e94994e6a36396.zip |
new macros 'isOT'/'isIT'
(plus exchanged parameters of OP_VARARG to make it similar to other
'isOT' instructions)
Diffstat (limited to 'lopcodes.c')
-rw-r--r-- | lopcodes.c | 152 |
1 files changed, 76 insertions, 76 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lopcodes.c,v 1.73 2017/12/13 18:32:09 roberto Exp roberto $ | 2 | ** $Id: lopcodes.c,v 1.74 2017/12/18 17:49:31 roberto Exp $ |
3 | ** Opcodes for Lua virtual machine | 3 | ** Opcodes for Lua virtual machine |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -97,80 +97,80 @@ LUAI_DDEF const char *const luaP_opnames[NUM_OPCODES+1] = { | |||
97 | 97 | ||
98 | 98 | ||
99 | LUAI_DDEF const lu_byte luaP_opmodes[NUM_OPCODES] = { | 99 | LUAI_DDEF const lu_byte luaP_opmodes[NUM_OPCODES] = { |
100 | /* T A mode opcode */ | 100 | /* OT IT T A mode opcode */ |
101 | opmode(0, 1, iABC) /* OP_MOVE */ | 101 | opmode(0, 0, 0, 1, iABC) /* OP_MOVE */ |
102 | ,opmode(0, 1, iAsBx) /* OP_LOADI */ | 102 | ,opmode(0, 0, 0, 1, iAsBx) /* OP_LOADI */ |
103 | ,opmode(0, 1, iAsBx) /* OP_LOADF */ | 103 | ,opmode(0, 0, 0, 1, iAsBx) /* OP_LOADF */ |
104 | ,opmode(0, 1, iABx) /* OP_LOADK */ | 104 | ,opmode(0, 0, 0, 1, iABx) /* OP_LOADK */ |
105 | ,opmode(0, 1, iABx) /* OP_LOADKX */ | 105 | ,opmode(0, 0, 0, 1, iABx) /* OP_LOADKX */ |
106 | ,opmode(0, 1, iABC) /* OP_LOADBOOL */ | 106 | ,opmode(0, 0, 0, 1, iABC) /* OP_LOADBOOL */ |
107 | ,opmode(0, 1, iABC) /* OP_LOADNIL */ | 107 | ,opmode(0, 0, 0, 1, iABC) /* OP_LOADNIL */ |
108 | ,opmode(0, 1, iABC) /* OP_GETUPVAL */ | 108 | ,opmode(0, 0, 0, 1, iABC) /* OP_GETUPVAL */ |
109 | ,opmode(0, 0, iABC) /* OP_SETUPVAL */ | 109 | ,opmode(0, 0, 0, 0, iABC) /* OP_SETUPVAL */ |
110 | ,opmode(0, 1, iABC) /* OP_GETTABUP */ | 110 | ,opmode(0, 0, 0, 1, iABC) /* OP_GETTABUP */ |
111 | ,opmode(0, 1, iABC) /* OP_GETTABLE */ | 111 | ,opmode(0, 0, 0, 1, iABC) /* OP_GETTABLE */ |
112 | ,opmode(0, 1, iABC) /* OP_GETI */ | 112 | ,opmode(0, 0, 0, 1, iABC) /* OP_GETI */ |
113 | ,opmode(0, 1, iABC) /* OP_GETFIELD */ | 113 | ,opmode(0, 0, 0, 1, iABC) /* OP_GETFIELD */ |
114 | ,opmode(0, 0, iABC) /* OP_SETTABUP */ | 114 | ,opmode(0, 0, 0, 0, iABC) /* OP_SETTABUP */ |
115 | ,opmode(0, 0, iABC) /* OP_SETTABLE */ | 115 | ,opmode(0, 0, 0, 0, iABC) /* OP_SETTABLE */ |
116 | ,opmode(0, 0, iABC) /* OP_SETI */ | 116 | ,opmode(0, 0, 0, 0, iABC) /* OP_SETI */ |
117 | ,opmode(0, 0, iABC) /* OP_SETFIELD */ | 117 | ,opmode(0, 0, 0, 0, iABC) /* OP_SETFIELD */ |
118 | ,opmode(0, 1, iABC) /* OP_NEWTABLE */ | 118 | ,opmode(0, 0, 0, 1, iABC) /* OP_NEWTABLE */ |
119 | ,opmode(0, 1, iABC) /* OP_SELF */ | 119 | ,opmode(0, 0, 0, 1, iABC) /* OP_SELF */ |
120 | ,opmode(0, 1, iABC) /* OP_ADDI */ | 120 | ,opmode(0, 0, 0, 1, iABC) /* OP_ADDI */ |
121 | ,opmode(0, 1, iABC) /* OP_SUBI */ | 121 | ,opmode(0, 0, 0, 1, iABC) /* OP_SUBI */ |
122 | ,opmode(0, 1, iABC) /* OP_MULI */ | 122 | ,opmode(0, 0, 0, 1, iABC) /* OP_MULI */ |
123 | ,opmode(0, 1, iABC) /* OP_MODI */ | 123 | ,opmode(0, 0, 0, 1, iABC) /* OP_MODI */ |
124 | ,opmode(0, 1, iABC) /* OP_POWI */ | 124 | ,opmode(0, 0, 0, 1, iABC) /* OP_POWI */ |
125 | ,opmode(0, 1, iABC) /* OP_DIVI */ | 125 | ,opmode(0, 0, 0, 1, iABC) /* OP_DIVI */ |
126 | ,opmode(0, 1, iABC) /* OP_IDIVI */ | 126 | ,opmode(0, 0, 0, 1, iABC) /* OP_IDIVI */ |
127 | ,opmode(0, 1, iABC) /* OP_BANDK */ | 127 | ,opmode(0, 0, 0, 1, iABC) /* OP_BANDK */ |
128 | ,opmode(0, 1, iABC) /* OP_BORK */ | 128 | ,opmode(0, 0, 0, 1, iABC) /* OP_BORK */ |
129 | ,opmode(0, 1, iABC) /* OP_BXORK */ | 129 | ,opmode(0, 0, 0, 1, iABC) /* OP_BXORK */ |
130 | ,opmode(0, 1, iABC) /* OP_SHRI */ | 130 | ,opmode(0, 0, 0, 1, iABC) /* OP_SHRI */ |
131 | ,opmode(0, 1, iABC) /* OP_SHLI */ | 131 | ,opmode(0, 0, 0, 1, iABC) /* OP_SHLI */ |
132 | ,opmode(0, 1, iABC) /* OP_ADD */ | 132 | ,opmode(0, 0, 0, 1, iABC) /* OP_ADD */ |
133 | ,opmode(0, 1, iABC) /* OP_SUB */ | 133 | ,opmode(0, 0, 0, 1, iABC) /* OP_SUB */ |
134 | ,opmode(0, 1, iABC) /* OP_MUL */ | 134 | ,opmode(0, 0, 0, 1, iABC) /* OP_MUL */ |
135 | ,opmode(0, 1, iABC) /* OP_MOD */ | 135 | ,opmode(0, 0, 0, 1, iABC) /* OP_MOD */ |
136 | ,opmode(0, 1, iABC) /* OP_POW */ | 136 | ,opmode(0, 0, 0, 1, iABC) /* OP_POW */ |
137 | ,opmode(0, 1, iABC) /* OP_DIV */ | 137 | ,opmode(0, 0, 0, 1, iABC) /* OP_DIV */ |
138 | ,opmode(0, 1, iABC) /* OP_IDIV */ | 138 | ,opmode(0, 0, 0, 1, iABC) /* OP_IDIV */ |
139 | ,opmode(0, 1, iABC) /* OP_BAND */ | 139 | ,opmode(0, 0, 0, 1, iABC) /* OP_BAND */ |
140 | ,opmode(0, 1, iABC) /* OP_BOR */ | 140 | ,opmode(0, 0, 0, 1, iABC) /* OP_BOR */ |
141 | ,opmode(0, 1, iABC) /* OP_BXOR */ | 141 | ,opmode(0, 0, 0, 1, iABC) /* OP_BXOR */ |
142 | ,opmode(0, 1, iABC) /* OP_SHL */ | 142 | ,opmode(0, 0, 0, 1, iABC) /* OP_SHL */ |
143 | ,opmode(0, 1, iABC) /* OP_SHR */ | 143 | ,opmode(0, 0, 0, 1, iABC) /* OP_SHR */ |
144 | ,opmode(0, 1, iABC) /* OP_UNM */ | 144 | ,opmode(0, 0, 0, 1, iABC) /* OP_UNM */ |
145 | ,opmode(0, 1, iABC) /* OP_BNOT */ | 145 | ,opmode(0, 0, 0, 1, iABC) /* OP_BNOT */ |
146 | ,opmode(0, 1, iABC) /* OP_NOT */ | 146 | ,opmode(0, 0, 0, 1, iABC) /* OP_NOT */ |
147 | ,opmode(0, 1, iABC) /* OP_LEN */ | 147 | ,opmode(0, 0, 0, 1, iABC) /* OP_LEN */ |
148 | ,opmode(0, 1, iABC) /* OP_CONCAT */ | 148 | ,opmode(0, 0, 0, 1, iABC) /* OP_CONCAT */ |
149 | ,opmode(0, 0, iABC) /* OP_CLOSE */ | 149 | ,opmode(0, 0, 0, 0, iABC) /* OP_CLOSE */ |
150 | ,opmode(0, 0, isJ) /* OP_JMP */ | 150 | ,opmode(0, 0, 0, 0, isJ) /* OP_JMP */ |
151 | ,opmode(1, 0, iABC) /* OP_EQ */ | 151 | ,opmode(0, 0, 1, 0, iABC) /* OP_EQ */ |
152 | ,opmode(1, 0, iABC) /* OP_LT */ | 152 | ,opmode(0, 0, 1, 0, iABC) /* OP_LT */ |
153 | ,opmode(1, 0, iABC) /* OP_LE */ | 153 | ,opmode(0, 0, 1, 0, iABC) /* OP_LE */ |
154 | ,opmode(1, 0, iABC) /* OP_EQK */ | 154 | ,opmode(0, 0, 1, 0, iABC) /* OP_EQK */ |
155 | ,opmode(1, 0, iABC) /* OP_EQI */ | 155 | ,opmode(0, 0, 1, 0, iABC) /* OP_EQI */ |
156 | ,opmode(1, 0, iABC) /* OP_LTI */ | 156 | ,opmode(0, 0, 1, 0, iABC) /* OP_LTI */ |
157 | ,opmode(1, 0, iABC) /* OP_LEI */ | 157 | ,opmode(0, 0, 1, 0, iABC) /* OP_LEI */ |
158 | ,opmode(1, 0, iABC) /* OP_TEST */ | 158 | ,opmode(0, 0, 1, 0, iABC) /* OP_TEST */ |
159 | ,opmode(1, 1, iABC) /* OP_TESTSET */ | 159 | ,opmode(0, 0, 1, 1, iABC) /* OP_TESTSET */ |
160 | ,opmode(0, 1, iABC) /* OP_CALL */ | 160 | ,opmode(1, 1, 0, 1, iABC) /* OP_CALL */ |
161 | ,opmode(0, 1, iABC) /* OP_TAILCALL */ | 161 | ,opmode(1, 1, 0, 1, iABC) /* OP_TAILCALL */ |
162 | ,opmode(0, 0, iABC) /* OP_RETURN */ | 162 | ,opmode(0, 1, 0, 0, iABC) /* OP_RETURN */ |
163 | ,opmode(0, 0, iABC) /* OP_RETURN0 */ | 163 | ,opmode(0, 0, 0, 0, iABC) /* OP_RETURN0 */ |
164 | ,opmode(0, 0, iABC) /* OP_RETURN1 */ | 164 | ,opmode(0, 0, 0, 0, iABC) /* OP_RETURN1 */ |
165 | ,opmode(0, 1, iABx) /* OP_FORLOOP1 */ | 165 | ,opmode(0, 0, 0, 1, iABx) /* OP_FORLOOP1 */ |
166 | ,opmode(0, 1, iABx) /* OP_FORPREP1 */ | 166 | ,opmode(0, 0, 0, 1, iABx) /* OP_FORPREP1 */ |
167 | ,opmode(0, 1, iABx) /* OP_FORLOOP */ | 167 | ,opmode(0, 0, 0, 1, iABx) /* OP_FORLOOP */ |
168 | ,opmode(0, 1, iABx) /* OP_FORPREP */ | 168 | ,opmode(0, 0, 0, 1, iABx) /* OP_FORPREP */ |
169 | ,opmode(0, 0, iABC) /* OP_TFORCALL */ | 169 | ,opmode(0, 0, 0, 0, iABC) /* OP_TFORCALL */ |
170 | ,opmode(0, 1, iABx) /* OP_TFORLOOP */ | 170 | ,opmode(0, 0, 0, 1, iABx) /* OP_TFORLOOP */ |
171 | ,opmode(0, 0, iABC) /* OP_SETLIST */ | 171 | ,opmode(0, 1, 0, 0, iABC) /* OP_SETLIST */ |
172 | ,opmode(0, 1, iABx) /* OP_CLOSURE */ | 172 | ,opmode(0, 0, 0, 1, iABx) /* OP_CLOSURE */ |
173 | ,opmode(0, 1, iABC) /* OP_VARARG */ | 173 | ,opmode(1, 0, 0, 1, iABC) /* OP_VARARG */ |
174 | ,opmode(0, 0, iAx) /* OP_EXTRAARG */ | 174 | ,opmode(0, 0, 0, 0, iAx) /* OP_EXTRAARG */ |
175 | }; | 175 | }; |
176 | 176 | ||