lua-users home
lua-l archive

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




On 10/04/16 06:49 PM, Nagaev Boris wrote:
On Sun, Apr 10, 2016 at 8:44 PM, Soni L. <fakedme@gmail.com> wrote:

On 10/04/16 05:06 PM, Nagaev Boris wrote:
On Sun, Apr 10, 2016 at 6:40 PM, Jura Pk <marsgpl@gmail.com> wrote:
Problem solved, thanks to Shmuel Zeigerman and Soni L.
After wrapping in lua_checkstack, the code works perfectly even with 1000
tables.
Seems, like lua_checkstack grows the stack =)

2016-04-10 21:27 GMT+03:00 Shmuel Zeigerman <shmuz@013net.net>:
On 10/04/2016 20:16, Jura Pk wrote:
I am stuck with a problem: when I'm trying to add 100 tables in Lua c
stack, I receive segfault on function end.
Code example:
lua_example.c: http://pastebin.com/GFvLwMY2
Makefile: http://pastebin.com/3EWJiVz7
test.lua: http://pastebin.com/1y22XvzK

See https://www.lua.org/manual/5.3/manual.html#lua_checkstack

--
Shmuel


By the way, why not to grow the stack automatically in pushing API
functions?

Because of overhead. Imagine checking the stack every operation vs checking
the stack once for 1000 operations, or however many you need.

If the stack has room for new element, than the check is just one
comparison, which would be perfectly predicted.

And a branch.

--
Disclaimer: these emails may be made public at any given time, with or without reason. If you don't agree with this, DO NOT REPLY.