From: Mike Pall Date: Wed, 3 Jul 2024 21:59:03 +0000 (+0200) Subject: Merge branch 'master' into v2.1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80384301109e1d769f67f7ad9ecf4931e6b599b9;p=thirdparty%2FLuaJIT.git Merge branch 'master' into v2.1 --- 80384301109e1d769f67f7ad9ecf4931e6b599b9 diff --cc src/lj_parse.c index 5a44f8db,cb200663..db3ce8e7 --- a/src/lj_parse.c +++ b/src/lj_parse.c @@@ -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);