diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-09-13 16:50:08 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-09-13 16:50:08 -0300 |
| commit | 80d9b09f351c7a9be557116e9c79ae11e9b3f032 (patch) | |
| tree | a6ae7cce019e85c2f79987035c77d4e4213d07a9 /lopcodes.c | |
| parent | 029d269f4d1afd0e9ea0f889eb3e65a7f0fab0f9 (diff) | |
| download | lua-80d9b09f351c7a9be557116e9c79ae11e9b3f032.tar.gz lua-80d9b09f351c7a9be557116e9c79ae11e9b3f032.tar.bz2 lua-80d9b09f351c7a9be557116e9c79ae11e9b3f032.zip | |
jumps do not close upvalues (to be faster and simpler);
explicit instruction to close upvalues; command 'break' not
handled like a 'goto' (to optimize removal of uneeded 'close'
instructions)
Diffstat (limited to 'lopcodes.c')
| -rw-r--r-- | lopcodes.c | 6 |
1 files changed, 4 insertions, 2 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lopcodes.c,v 1.59 2017/06/29 15:38:41 roberto Exp roberto $ | 2 | ** $Id: lopcodes.c,v 1.60 2017/08/14 18:33:14 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 | */ |
| @@ -54,6 +54,7 @@ LUAI_DDEF const char *const luaP_opnames[NUM_OPCODES+1] = { | |||
| 54 | "NOT", | 54 | "NOT", |
| 55 | "LEN", | 55 | "LEN", |
| 56 | "CONCAT", | 56 | "CONCAT", |
| 57 | "CLOSE", | ||
| 57 | "JMP", | 58 | "JMP", |
| 58 | "EQ", | 59 | "EQ", |
| 59 | "LT", | 60 | "LT", |
| @@ -115,7 +116,8 @@ LUAI_DDEF const lu_byte luaP_opmodes[NUM_OPCODES] = { | |||
| 115 | ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */ | 116 | ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */ |
| 116 | ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LEN */ | 117 | ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LEN */ |
| 117 | ,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_CONCAT */ | 118 | ,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_CONCAT */ |
| 118 | ,opmode(0, 0, OpArgR, OpArgN, iAsBx) /* OP_JMP */ | 119 | ,opmode(0, 0, OpArgN, OpArgN, iABC) /* OP_CLOSE */ |
| 120 | ,opmode(0, 0, OpArgU, OpArgN, iAsBx) /* OP_JMP */ | ||
| 119 | ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_EQ */ | 121 | ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_EQ */ |
| 120 | ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LT */ | 122 | ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LT */ |
| 121 | ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LE */ | 123 | ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LE */ |
