From d61ea6c5eeef4343e40c0225f22ad39c994f84a9 Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Mon, 5 Aug 2019 00:03:08 -0500 Subject: lua LCD (Lua Compact Debug) patch LCD developed 9/2015 by Terry Ellison We've already discarded the ldebug module from lua it only makes sense to discard the debug info as well adds 1.5 K to the binary saves 8 Kb on the base state once scripts start getting called i've seen 10-50Kb savings but it all depends on what exactly you are running Change-Id: Ibb74f344df1c4c96380ec6c98b010a810e9ae9cc --- apps/plugins/lua/ldebug.h | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'apps/plugins/lua/ldebug.h') diff --git a/apps/plugins/lua/ldebug.h b/apps/plugins/lua/ldebug.h index 22226b4096..7aa9f459d5 100644 --- a/apps/plugins/lua/ldebug.h +++ b/apps/plugins/lua/ldebug.h @@ -13,7 +13,19 @@ #define pcRel(pc, p) (cast(int, (pc) - (p)->code) - 1) -#define getline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : 0) +#ifdef LUA_OPTIMIZE_DEBUG +# include "lvm.h" +# define getline(f,pc) (((f)->packedlineinfo) ? luaG_getline((f), pc) : 0) +# define INFO_FILL_BYTE 0x7F +# define INFO_DELTA_MASK 0x80 +# define INFO_SIGN_MASK 0x40 +# define INFO_DELTA_6BITS 0x3F +# define INFO_DELTA_7BITS 0x7F +# define INFO_MAX_LINECNT 126 +# define lineInfoTop(fs) ((fs)->f->packedlineinfo + (fs)->lastlineOffset) +#else +# define getline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : 0) +#endif #define resethookcount(L) (L->hookcount = L->basehookcount) @@ -30,4 +42,9 @@ LUAI_FUNC void luaG_errormsg (lua_State *L); LUAI_FUNC int luaG_checkcode (const Proto *pt); LUAI_FUNC int luaG_checkopenop (Instruction i); +#ifdef LUA_OPTIMIZE_DEBUG +LUAI_FUNC int luaG_getline (const Proto *f, int pc); +LUAI_FUNC int luaG_stripdebug (lua_State *L, Proto *f, int level, int recv); +#endif + #endif -- cgit v1.2.3