diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-08-05 11:46:43 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-08-05 11:46:43 -0300 |
commit | 9fb80bde3c80557f8ad2d5642bcbeac343999994 (patch) | |
tree | 3c58813f6025df66750d4a934cb1b3cf992a62bc /lopcodes.h | |
parent | 2dcc31574f0656e84a733dc9f18836d556becba8 (diff) | |
download | lua-9fb80bde3c80557f8ad2d5642bcbeac343999994.tar.gz lua-9fb80bde3c80557f8ad2d5642bcbeac343999994.tar.bz2 lua-9fb80bde3c80557f8ad2d5642bcbeac343999994.zip |
tailcall is executed together with call
Diffstat (limited to 'lopcodes.h')
-rw-r--r-- | lopcodes.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lopcodes.h,v 1.98 2002/06/06 18:17:33 roberto Exp roberto $ | 2 | ** $Id: lopcodes.h,v 1.99 2002/06/12 14:51:31 roberto Exp $ |
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 | */ |
@@ -166,7 +166,7 @@ OP_GE,/* A B C if ((R(A) >= R/K(C)) ~= B) then pc++ */ | |||
166 | OP_TEST,/* A B C if (R(C) <=> B) then R(A) := R(C) else pc++ */ | 166 | OP_TEST,/* A B C if (R(C) <=> B) then R(A) := R(C) else pc++ */ |
167 | 167 | ||
168 | OP_CALL,/* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */ | 168 | OP_CALL,/* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */ |
169 | OP_TAILCALL,/* A B return R(A)(R(A+1), ... ,R(A+B-1)) */ | 169 | OP_TAILCALL,/* A B C return R(A)(R(A+1), ... ,R(A+B-1)) */ |
170 | OP_RETURN,/* A B return R(A), ... ,R(A+B-2) (see note) */ | 170 | OP_RETURN,/* A B return R(A), ... ,R(A+B-2) (see note) */ |
171 | 171 | ||
172 | OP_FORLOOP,/* A sBx R(A)+=R(A+2); if R(A) <?= R(A+1) then PC+= sBx */ | 172 | OP_FORLOOP,/* A sBx R(A)+=R(A+2); if R(A) <?= R(A+1) then PC+= sBx */ |