diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-11-30 11:16:43 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-11-30 11:16:43 -0200 |
commit | bdc751ce2346e95f96de3d55d48ddb25674073c5 (patch) | |
tree | 65c3f6b9682109898e05663fee364c32165544ab /lopcodes.h | |
parent | 19c6b375c39e18441d1fa560d08688d66f746717 (diff) | |
download | lua-bdc751ce2346e95f96de3d55d48ddb25674073c5.tar.gz lua-bdc751ce2346e95f96de3d55d48ddb25674073c5.tar.bz2 lua-bdc751ce2346e95f96de3d55d48ddb25674073c5.zip |
details (comments)
Diffstat (limited to 'lopcodes.h')
-rw-r--r-- | lopcodes.h | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lopcodes.h,v 1.173 2017/11/29 16:57:36 roberto Exp roberto $ | 2 | ** $Id: lopcodes.h,v 1.174 2017/11/30 12:03:00 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 | */ |
@@ -289,8 +289,8 @@ OP_EXTRAARG/* Ax extra (larger) argument for previous opcode */ | |||
289 | 289 | ||
290 | (*) In OP_RETURN, if (B == 0) then return up to 'top'. | 290 | (*) In OP_RETURN, if (B == 0) then return up to 'top'. |
291 | 291 | ||
292 | (*) In OP_SETLIST, if (B == 0) then B = 'top'; if (C == 0) then next | 292 | (*) In OP_SETLIST, if (B == 0) then real B = 'top'; if (C == 0) then |
293 | 'instruction' is EXTRAARG(real C). | 293 | next 'instruction' is EXTRAARG(real C). |
294 | 294 | ||
295 | (*) In OP_LOADKX, the next 'instruction' is always EXTRAARG. | 295 | (*) In OP_LOADKX, the next 'instruction' is always EXTRAARG. |
296 | 296 | ||
@@ -298,11 +298,16 @@ OP_EXTRAARG/* Ax extra (larger) argument for previous opcode */ | |||
298 | (true or false). | 298 | (true or false). |
299 | 299 | ||
300 | (*) For OP_LTI/OP_LEI, C indicates that the transformations | 300 | (*) For OP_LTI/OP_LEI, C indicates that the transformations |
301 | (A<B) => (!(B<=A)) or (A<=B) => (!(B<A)) were used to put the | 301 | (A<B) => (!(B<=A)) or (A<=B) => (!(B<A)) were used to put the constant |
302 | constant operator on the right side. | 302 | operator on the right side. (Non-total orders with NaN or metamethods |
303 | use this indication to correct their behavior.) | ||
303 | 304 | ||
304 | (*) All 'skips' (pc++) assume that next instruction is a jump. | 305 | (*) All 'skips' (pc++) assume that next instruction is a jump. |
305 | 306 | ||
307 | (*) In instructions ending a function (OP_RETURN*, OP_TAILCALL), k | ||
308 | specifies that the function builds upvalues, which may need to be | ||
309 | closed. | ||
310 | |||
306 | ===========================================================================*/ | 311 | ===========================================================================*/ |
307 | 312 | ||
308 | 313 | ||