lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> If I had to take a wild guess it's the fact that you've defined 150
> local variables. :P Just because they all have the same name and
> therefore only one of them is accessible at all doesn't change the
> fact that you've just plunked 150 entries onto the stack. And then
> you've plunked a few more entries onto the stack (just for the
> duration of the expression) during the assembly of the table. The
> compiler observes that it's reserving too many stack slots and says
> "nope, you might crash the interpreter at run time if I let you
> execute this, stop that!"

That is exactly right:

http://www.lua.org/source/5.1/lcode.c.html#luaK_checkstack
http://www.lua.org/source/5.2/lcode.c.html#luaK_checkstack
http://www.lua.org/source/5.3/lcode.c.html#luaK_checkstack