summaryrefslogtreecommitdiffstats
path: root/apps/plugins/lua/ldebug.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/lua/ldebug.h')
-rw-r--r--apps/plugins/lua/ldebug.h19
1 files changed, 18 insertions, 1 deletions
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