]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Merge branch 'master' into v2.1
authorMike Pall <mike>
Wed, 3 Jul 2024 21:59:03 +0000 (23:59 +0200)
committerMike Pall <mike>
Wed, 3 Jul 2024 21:59:03 +0000 (23:59 +0200)
1  2 
src/jit/bcsave.lua
src/lib_ffi.c
src/lj_crecord.c
src/lj_parse.c

Simple merge
diff --cc src/lib_ffi.c
Simple merge
Simple merge
diff --cc src/lj_parse.c
index 5a44f8db51f5324abe6dae2daea2b71fb37a7236,cb200663ce4bbb0a66bc60b1fec4df8fc2234601..db3ce8e75794e97866fe3efc927a58cf9b16d23a
@@@ -2568,9 -2576,8 +2566,9 @@@ static void parse_for_iter(LexState *ls
    lex_check(ls, TK_in);
    line = ls->linenumber;
    assign_adjust(ls, 3, expr_list(ls, &e), &e);
 -  bcreg_bump(fs, 3);  /* The iterator needs another 3 slots (func + 2 args). */
 +  /* The iterator needs another 3 [4] slots (func [pc] | state ctl). */
 +  bcreg_bump(fs, 3+ls->fr2);
-   isnext = (nvars <= 5 && predict_next(ls, fs, exprpc));
+   isnext = (nvars <= 5 && fs->pc > exprpc && predict_next(ls, fs, exprpc));
    var_add(ls, 3);  /* Hidden control variables. */
    lex_check(ls, TK_do);
    loop = bcemit_AJ(fs, isnext ? BC_ISNEXT : BC_JMP, base, NO_JMP);