diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-04-28 17:57:45 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-04-28 17:57:45 -0300 |
commit | 502a1d1108d4e3b97e012d2ed9a496fd003b08db (patch) | |
tree | 0d1daa63ebe8af89a35ec5ecbc48f7e055eb0374 /lopcodes.c | |
parent | 173e41b2ebed59a716d299470de25e50aee3b921 (diff) | |
download | lua-502a1d1108d4e3b97e012d2ed9a496fd003b08db.tar.gz lua-502a1d1108d4e3b97e012d2ed9a496fd003b08db.tar.bz2 lua-502a1d1108d4e3b97e012d2ed9a496fd003b08db.zip |
new opcodes for table access with constant keys (strings and integers)
Diffstat (limited to 'lopcodes.c')
-rw-r--r-- | lopcodes.c | 18 |
1 files changed, 13 insertions, 5 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lopcodes.c,v 1.56 2017/04/20 19:53:55 roberto Exp roberto $ | 2 | ** $Id: lopcodes.c,v 1.57 2017/04/26 17:46:52 roberto Exp roberto $ |
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 | */ |
@@ -25,11 +25,15 @@ LUAI_DDEF const char *const luaP_opnames[NUM_OPCODES+1] = { | |||
25 | "LOADBOOL", | 25 | "LOADBOOL", |
26 | "LOADNIL", | 26 | "LOADNIL", |
27 | "GETUPVAL", | 27 | "GETUPVAL", |
28 | "SETUPVAL", | ||
28 | "GETTABUP", | 29 | "GETTABUP", |
29 | "GETTABLE", | 30 | "GETTABLE", |
31 | "GETI", | ||
32 | "GETFIELD", | ||
30 | "SETTABUP", | 33 | "SETTABUP", |
31 | "SETUPVAL", | ||
32 | "SETTABLE", | 34 | "SETTABLE", |
35 | "SETI", | ||
36 | "SETFIELD", | ||
33 | "NEWTABLE", | 37 | "NEWTABLE", |
34 | "SELF", | 38 | "SELF", |
35 | "ADDI", | 39 | "ADDI", |
@@ -82,11 +86,15 @@ LUAI_DDEF const lu_byte luaP_opmodes[NUM_OPCODES] = { | |||
82 | ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_LOADBOOL */ | 86 | ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_LOADBOOL */ |
83 | ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_LOADNIL */ | 87 | ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_LOADNIL */ |
84 | ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_GETUPVAL */ | 88 | ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_GETUPVAL */ |
89 | ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_SETUPVAL */ | ||
85 | ,opmode(0, 1, OpArgU, OpArgK, iABC) /* OP_GETTABUP */ | 90 | ,opmode(0, 1, OpArgU, OpArgK, iABC) /* OP_GETTABUP */ |
86 | ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_GETTABLE */ | 91 | ,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_GETTABLE */ |
92 | ,opmode(0, 1, OpArgR, OpArgU, iABC) /* OP_GETI */ | ||
93 | ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_GETFIELD */ | ||
87 | ,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABUP */ | 94 | ,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABUP */ |
88 | ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_SETUPVAL */ | 95 | ,opmode(0, 0, OpArgR, OpArgK, iABC) /* OP_SETTABLE */ |
89 | ,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABLE */ | 96 | ,opmode(0, 0, OpArgU, OpArgK, iABC) /* OP_SETI */ |
97 | ,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETFIELD */ | ||
90 | ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_NEWTABLE */ | 98 | ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_NEWTABLE */ |
91 | ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_SELF */ | 99 | ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_SELF */ |
92 | ,opmode(0, 1, OpArgR, OpArgU, iABC) /* OP_ADDI */ | 100 | ,opmode(0, 1, OpArgR, OpArgU, iABC) /* OP_ADDI */ |