diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-11-29 14:57:36 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-11-29 14:57:36 -0200 |
commit | 745eb4199333f153a28c75837b6a1addf614f4a9 (patch) | |
tree | 9eb2cfe63700db8e2102d980d603ee294111cb14 /lopcodes.h | |
parent | c766e4103db888063c4f928747afd6eb448e306f (diff) | |
download | lua-745eb4199333f153a28c75837b6a1addf614f4a9.tar.gz lua-745eb4199333f153a28c75837b6a1addf614f4a9.tar.bz2 lua-745eb4199333f153a28c75837b6a1addf614f4a9.zip |
new opcodes OP_RETURN0/OP_RETURN1
Diffstat (limited to 'lopcodes.h')
-rw-r--r-- | lopcodes.h | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lopcodes.h,v 1.171 2017/11/27 17:44:31 roberto Exp roberto $ | 2 | ** $Id: lopcodes.h,v 1.172 2017/11/28 12:58:18 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 | */ |
@@ -252,7 +252,10 @@ OP_TESTSET,/* A B if (not R(B) == k) then R(A) := R(B) else pc++ */ | |||
252 | 252 | ||
253 | OP_CALL,/* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */ | 253 | OP_CALL,/* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */ |
254 | OP_TAILCALL,/* A B C return R(A)(R(A+1), ... ,R(A+B-1)) */ | 254 | OP_TAILCALL,/* A B C return R(A)(R(A+1), ... ,R(A+B-1)) */ |
255 | |||
255 | OP_RETURN,/* A B return R(A), ... ,R(A+B-2) (see note) */ | 256 | OP_RETURN,/* A B return R(A), ... ,R(A+B-2) (see note) */ |
257 | OP_RETURN0,/* return */ | ||
258 | OP_RETURN1,/* A return R(A) */ | ||
256 | 259 | ||
257 | OP_FORLOOP,/* A Bx R(A)+=R(A+2); | 260 | OP_FORLOOP,/* A Bx R(A)+=R(A+2); |
258 | if R(A) <?= R(A+1) then { pc-=Bx; R(A+3)=R(A) }*/ | 261 | if R(A) <?= R(A+1) then { pc-=Bx; R(A+3)=R(A) }*/ |