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 */ |
