aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lopcodes.h6
-rw-r--r--lparser.c5
2 files changed, 5 insertions, 6 deletions
diff --git a/lopcodes.h b/lopcodes.h
index e3ac9d09..97870038 100644
--- a/lopcodes.h
+++ b/lopcodes.h
@@ -254,7 +254,7 @@ OP_SETTABLE,/* A B C R[A][R[B]] := RK(C) */
254OP_SETI,/* A B C R[A][B] := RK(C) */ 254OP_SETI,/* A B C R[A][B] := RK(C) */
255OP_SETFIELD,/* A B C R[A][K[B]:shortstring] := RK(C) */ 255OP_SETFIELD,/* A B C R[A][K[B]:shortstring] := RK(C) */
256 256
257OP_NEWTABLE,/* A B C k R[A] := {} */ 257OP_NEWTABLE,/* A vB vC k R[A] := {} */
258 258
259OP_SELF,/* A B C R[A+1] := R[B]; R[A] := R[B][K[C]:shortstring] */ 259OP_SELF,/* A B C R[A+1] := R[B]; R[A] := R[B][K[C]:shortstring] */
260 260
@@ -378,9 +378,9 @@ OP_EXTRAARG/* Ax extra (larger) argument for previous opcode */
378 real C = EXTRAARG _ C (the bits of EXTRAARG concatenated with the 378 real C = EXTRAARG _ C (the bits of EXTRAARG concatenated with the
379 bits of C). 379 bits of C).
380 380
381 (*) In OP_NEWTABLE, B is log2 of the hash size (which is always a 381 (*) In OP_NEWTABLE, vB is log2 of the hash size (which is always a
382 power of 2) plus 1, or zero for size zero. If not k, the array size 382 power of 2) plus 1, or zero for size zero. If not k, the array size
383 is C. Otherwise, the array size is EXTRAARG _ C. 383 is vC. Otherwise, the array size is EXTRAARG _ vC.
384 384
385 (*) For comparisons, k specifies what condition the test should accept 385 (*) For comparisons, k specifies what condition the test should accept
386 (true or false). 386 (true or false).
diff --git a/lparser.c b/lparser.c
index e868e887..992d45bd 100644
--- a/lparser.c
+++ b/lparser.c
@@ -904,12 +904,11 @@ static void recfield (LexState *ls, ConsControl *cc) {
904 FuncState *fs = ls->fs; 904 FuncState *fs = ls->fs;
905 lu_byte reg = ls->fs->freereg; 905 lu_byte reg = ls->fs->freereg;
906 expdesc tab, key, val; 906 expdesc tab, key, val;
907 if (ls->t.token == TK_NAME) { 907 if (ls->t.token == TK_NAME)
908 luaY_checklimit(fs, cc->nh, INT_MAX / 2, "items in a constructor");
909 codename(ls, &key); 908 codename(ls, &key);
910 }
911 else /* ls->t.token == '[' */ 909 else /* ls->t.token == '[' */
912 yindex(ls, &key); 910 yindex(ls, &key);
911 luaY_checklimit(fs, cc->nh, INT_MAX / 2, "items in a constructor");
913 cc->nh++; 912 cc->nh++;
914 checknext(ls, '='); 913 checknext(ls, '=');
915 tab = *cc->t; 914 tab = *cc->t;