[Tarantool-patches] [PATCH] lua: lua_field_inspect_table without pushcfunction

Igor Munkin imun at tarantool.org
Wed Jun 10 16:01:55 MSK 2020


Kirill,

On 10.06.20, Kirill Yukhin wrote:
> Hello,
> 
> On 18 май 12:37, Sergey Kaplun wrote:
> > Currently on encoding table we push cfunction (lua_field_try_serialize)
> > to lua stack with additional lightuserdata and table value and after
> > pcall that function to avoid a raise of error.
> > 
> > In this case LuaJIT creates new object which will not live long time,
> > so it increase amount of dead object and also increase time and
> > frequency of garbage collection inside LuaJIT.
> > Also this pcall is necessary only in case when metafield __serialize
> > of serilizable object has LUA_TFUNCTION type.
> > 
> > So instead pushcfunction with pcall we can directly call the function
> > trying to serialize an object.
> > ---
> > 
> > branch: https://github.com/tarantool/tarantool/tree/skaplun/no-ticket-lua-inspect-table-refactoring
> 
> I've checked your patch into master.

Just in case: you replied to v1 thread but the applied patch relates to v2.
I would like to mention that ChangeLog entry changes between versions.

> 
> --
> Regards, Kirill Yukhin

-- 
Best regards,
IM


More information about the Tarantool-patches mailing list