From a2f249d1d7a14498f9b1c0b46f89be4a7e611c37 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 6 Jul 2016 03:32:08 +0200 Subject: tweak lua gc lua C++ bindings require ~400KB worth of tables now; so bump memory available to rt-safe scripts (full interpreter) to 2MB. Also switch to incremental GC. --- libs/lua/lua/luastate.h | 2 ++ libs/lua/luastate.cc | 11 +++++++++++ 2 files changed, 13 insertions(+) (limited to 'libs/lua') diff --git a/libs/lua/lua/luastate.h b/libs/lua/lua/luastate.h index 88ffc93486..5a5c939c2a 100644 --- a/libs/lua/lua/luastate.h +++ b/libs/lua/lua/luastate.h @@ -34,6 +34,8 @@ public: int do_command (std::string); int do_file (std::string); void collect_garbage (); + void collect_garbage_step (); + void tweak_rt_gc (); sigc::signal Print; diff --git a/libs/lua/luastate.cc b/libs/lua/luastate.cc index 546b02a006..3b8a7ae25a 100644 --- a/libs/lua/luastate.cc +++ b/libs/lua/luastate.cc @@ -76,6 +76,17 @@ LuaState::collect_garbage () { lua_gc (L, LUA_GCCOLLECT, 0); } +void +LuaState::collect_garbage_step () { + lua_gc (L, LUA_GCSTEP, 0); +} + +void +LuaState::tweak_rt_gc () { + //lua_gc (L, LUA_GCSETPAUSE, 20); + lua_gc (L, LUA_GCSETSTEPMUL, 100); +} + void LuaState::print (std::string text) { Print (text); /* EMIT SIGNAL */ -- cgit v1.2.3