diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-12-11 10:34:22 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-12-11 10:34:22 -0200 |
commit | 73517e86b02b47531bec189d4230e359274d8d04 (patch) | |
tree | d5ccf4675f7923be9cc328a210947afa71482a66 /lparser.c | |
parent | 9e8face8d83646c830cc932bf97ae1c3f5fb48ba (diff) | |
download | lua-73517e86b02b47531bec189d4230e359274d8d04.tar.gz lua-73517e86b02b47531bec189d4230e359274d8d04.tar.bz2 lua-73517e86b02b47531bec189d4230e359274d8d04.zip |
OP_TFORLOOP uses extra stack space
Diffstat (limited to 'lparser.c')
-rw-r--r-- | lparser.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lparser.c,v 1.200 2002/12/04 17:38:31 roberto Exp roberto $ | 2 | ** $Id: lparser.c,v 1.201 2002/12/06 17:09:00 roberto Exp roberto $ |
3 | ** Lua Parser | 3 | ** Lua Parser |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -1070,6 +1070,7 @@ static void forlist (LexState *ls, TString *indexname) { | |||
1070 | check(ls, TK_IN); | 1070 | check(ls, TK_IN); |
1071 | line = ls->linenumber; | 1071 | line = ls->linenumber; |
1072 | adjust_assign(ls, nvars, explist1(ls, &e), &e); | 1072 | adjust_assign(ls, nvars, explist1(ls, &e), &e); |
1073 | luaK_checkstack(fs, 3); /* extra space to call generator */ | ||
1073 | luaK_codeAsBx(fs, OP_TFORPREP, base, NO_JUMP); | 1074 | luaK_codeAsBx(fs, OP_TFORPREP, base, NO_JUMP); |
1074 | forbody(ls, base, line, nvars, 0); | 1075 | forbody(ls, base, line, nvars, 0); |
1075 | } | 1076 | } |