diff options
author | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-03-02 14:05:01 +0100 |
---|---|---|
committer | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-03-02 14:05:01 +0100 |
commit | 005223711f4e11da5c8f24d19d6e8a6b64f603a8 (patch) | |
tree | b5a7b158af9c7a626c52c1f682bc4141d5a43f39 /src/lparser.js | |
parent | 8785e3801b3bd4b3add20f004c9492565fb77fbd (diff) | |
download | fengari-005223711f4e11da5c8f24d19d6e8a6b64f603a8.tar.gz fengari-005223711f4e11da5c8f24d19d6e8a6b64f603a8.tar.bz2 fengari-005223711f4e11da5c8f24d19d6e8a6b64f603a8.zip |
[Parsing tests] TFORCALL, TFORLOOP
Diffstat (limited to 'src/lparser.js')
-rw-r--r-- | src/lparser.js | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lparser.js b/src/lparser.js index 9c52c59..7fa3f16 100644 --- a/src/lparser.js +++ b/src/lparser.js @@ -1240,7 +1240,7 @@ const forbody = function(ls, base, line, nvars, isnum) { if (isnum) /* end of scope for declared variables */ endfor = lcode.luaK_codeAsBx(fs, OpCodesI.OP_FORLOOP, base, lcode.NO_JUMP); else { /* generic for */ - lcode.luaK_codeABC(fs, OpCodesI.OP_TFORLOOP, base + 2, lcode.NO_JUMP); + lcode.luaK_codeABC(fs, OpCodesI.OP_TFORCALL, base, 0, nvars); lcode.luaK_fixline(fs, line); endfor = lcode.luaK_codeAsBx(fs, OpCodesI.OP_TFORLOOP, base + 2, lcode.NO_JUMP); } @@ -1274,7 +1274,7 @@ const forlist = function(ls, indexname) { let fs = ls.fs; let e = new expdesc(); let nvars = 4; /* gen, state, control, plus at least one declared var */ - let base = fs.freereg(); + let base = fs.freereg; /* create control variables */ new_localvarliteral(ls, "(for generator)"); new_localvarliteral(ls, "(for state)"); |