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 | |
| parent | 19c6b375c39e18441d1fa560d08688d66f746717 (diff) | |
| download | lua-bdc751ce2346e95f96de3d55d48ddb25674073c5.tar.gz lua-bdc751ce2346e95f96de3d55d48ddb25674073c5.tar.bz2 lua-bdc751ce2346e95f96de3d55d48ddb25674073c5.zip | |
details (comments)
| -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 | ||
