aboutsummaryrefslogtreecommitdiff
path: root/lopcodes.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2017-09-13 16:50:08 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2017-09-13 16:50:08 -0300
commit80d9b09f351c7a9be557116e9c79ae11e9b3f032 (patch)
treea6ae7cce019e85c2f79987035c77d4e4213d07a9 /lopcodes.c
parent029d269f4d1afd0e9ea0f889eb3e65a7f0fab0f9 (diff)
downloadlua-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.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lopcodes.c b/lopcodes.c
index 74195d42..a64c29ce 100644
--- a/lopcodes.c
+++ b/lopcodes.c
@@ -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 */