commit 31925e4cc20018b2cf46664febd6347ce4a4b766
parent 59c88f846d1dcd901a4420651aedf27816618923
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Wed, 24 Feb 2021 11:30:19 -0300
Details
Added documentation and asserts that constants for arithmetic opcodes
must be numbers.
Diffstat:
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/lopcodes.h b/lopcodes.h
@@ -225,13 +225,13 @@ OP_SELF,/* A B C R[A+1] := R[B]; R[A] := R[B][RK(C):string] */
OP_ADDI,/* A B sC R[A] := R[B] + sC */
-OP_ADDK,/* A B C R[A] := R[B] + K[C] */
-OP_SUBK,/* A B C R[A] := R[B] - K[C] */
-OP_MULK,/* A B C R[A] := R[B] * K[C] */
-OP_MODK,/* A B C R[A] := R[B] % K[C] */
-OP_POWK,/* A B C R[A] := R[B] ^ K[C] */
-OP_DIVK,/* A B C R[A] := R[B] / K[C] */
-OP_IDIVK,/* A B C R[A] := R[B] // K[C] */
+OP_ADDK,/* A B C R[A] := R[B] + K[C]:number */
+OP_SUBK,/* A B C R[A] := R[B] - K[C]:number */
+OP_MULK,/* A B C R[A] := R[B] * K[C]:number */
+OP_MODK,/* A B C R[A] := R[B] % K[C]:number */
+OP_POWK,/* A B C R[A] := R[B] ^ K[C]:number */
+OP_DIVK,/* A B C R[A] := R[B] / K[C]:number */
+OP_IDIVK,/* A B C R[A] := R[B] // K[C]:number */
OP_BANDK,/* A B C R[A] := R[B] & K[C]:integer */
OP_BORK,/* A B C R[A] := R[B] | K[C]:integer */
diff --git a/lvm.c b/lvm.c
@@ -921,7 +921,7 @@ void luaV_finishOp (lua_State *L) {
*/
#define op_arithfK(L,fop) { \
TValue *v1 = vRB(i); \
- TValue *v2 = KC(i); \
+ TValue *v2 = KC(i); lua_assert(ttisnumber(v2)); \
op_arithf_aux(L, v1, v2, fop); }
@@ -950,7 +950,7 @@ void luaV_finishOp (lua_State *L) {
*/
#define op_arithK(L,iop,fop) { \
TValue *v1 = vRB(i); \
- TValue *v2 = KC(i); \
+ TValue *v2 = KC(i); lua_assert(ttisnumber(v2)); \
op_arith_aux(L, v1, v2, iop, fop); }