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.h | |
| 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.h')
| -rw-r--r-- | lopcodes.h | 5 |
1 files changed, 3 insertions, 2 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lopcodes.h,v 1.155 2017/06/29 15:38:41 roberto Exp roberto $ | 2 | ** $Id: lopcodes.h,v 1.156 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 | */ |
| @@ -217,7 +217,8 @@ OP_LEN,/* A B R(A) := length of R(B) */ | |||
| 217 | 217 | ||
| 218 | OP_CONCAT,/* A B C R(A) := R(B).. ... ..R(C) */ | 218 | OP_CONCAT,/* A B C R(A) := R(B).. ... ..R(C) */ |
| 219 | 219 | ||
| 220 | OP_JMP,/* A sBx pc+=sBx; if (A) close all upvalues >= R(A - 1) */ | 220 | OP_CLOSE,/* A close all upvalues >= R(A) */ |
| 221 | OP_JMP,/* sBx pc+=sBx */ | ||
| 221 | OP_EQ,/* A B C if ((RK(B) == RK(C)) ~= A) then pc++ */ | 222 | OP_EQ,/* A B C if ((RK(B) == RK(C)) ~= A) then pc++ */ |
| 222 | OP_LT,/* A B C if ((RK(B) < RK(C)) ~= A) then pc++ */ | 223 | OP_LT,/* A B C if ((RK(B) < RK(C)) ~= A) then pc++ */ |
| 223 | OP_LE,/* A B C if ((RK(B) <= RK(C)) ~= A) then pc++ */ | 224 | OP_LE,/* A B C if ((RK(B) <= RK(C)) ~= A) then pc++ */ |
