aboutsummaryrefslogtreecommitdiff
path: root/lopcodes.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2018-02-21 12:49:32 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2018-02-21 12:49:32 -0300
commit212095a601ee68e99065b553f7b6bc216056d82e (patch)
tree3843f9dde40eeb71c56ac8a0be8d77c78272f6ef /lopcodes.h
parentc67603fafba7f982e92eb870ff4da6c6433c2a85 (diff)
downloadlua-212095a601ee68e99065b553f7b6bc216056d82e.tar.gz
lua-212095a601ee68e99065b553f7b6bc216056d82e.tar.bz2
lua-212095a601ee68e99065b553f7b6bc216056d82e.zip
new opcodes OP_GTI/OP_GEI
Diffstat (limited to 'lopcodes.h')
-rw-r--r--lopcodes.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/lopcodes.h b/lopcodes.h
index b2e22c27..be7359e9 100644
--- a/lopcodes.h
+++ b/lopcodes.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lopcodes.h,v 1.187 2018/02/09 15:16:06 roberto Exp roberto $ 2** $Id: lopcodes.h,v 1.188 2018/02/15 15:34:29 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*/
@@ -260,6 +260,8 @@ OP_EQK,/* A B if ((R(A) == K(B)) ~= k) then pc++ */
260OP_EQI,/* A sB if ((R(A) == sB) ~= k) then pc++ */ 260OP_EQI,/* A sB if ((R(A) == sB) ~= k) then pc++ */
261OP_LTI,/* A sB if ((R(A) < sB) ~= k) then pc++ */ 261OP_LTI,/* A sB if ((R(A) < sB) ~= k) then pc++ */
262OP_LEI,/* A sB if ((R(A) <= sB) ~= k) then pc++ */ 262OP_LEI,/* A sB if ((R(A) <= sB) ~= k) then pc++ */
263OP_GTI,/* A sB if ((R(A) > sB) ~= k) then pc++ */
264OP_GEI,/* A sB if ((R(A) >= sB) ~= k) then pc++ */
263 265
264OP_TEST,/* A if (not R(A) == k) then pc++ */ 266OP_TEST,/* A if (not R(A) == k) then pc++ */
265OP_TESTSET,/* A B if (not R(B) == k) then R(A) := R(B) else pc++ */ 267OP_TESTSET,/* A B if (not R(B) == k) then R(A) := R(B) else pc++ */
@@ -317,11 +319,6 @@ OP_EXTRAARG/* Ax extra (larger) argument for previous opcode */
317 (*) For comparisons, k specifies what condition the test should accept 319 (*) For comparisons, k specifies what condition the test should accept
318 (true or false). 320 (true or false).
319 321
320 (*) For OP_LTI/OP_LEI, C indicates that the transformations
321 (A<B) => (!(B<=A)) or (A<=B) => (!(B<A)) were used to put the constant
322 operator on the right side. (Non-total orders with NaN or metamethods
323 use this indication to correct their behavior.)
324
325 (*) All 'skips' (pc++) assume that next instruction is a jump. 322 (*) All 'skips' (pc++) assume that next instruction is a jump.
326 323
327 (*) In instructions OP_RETURN/OP_TAILCALL, 'k' specifies that the 324 (*) In instructions OP_RETURN/OP_TAILCALL, 'k' specifies that the