2009-05-21 19:01:41 +00:00
|
|
|
/*
|
2014-04-02 18:46:06 +00:00
|
|
|
** $Id$
|
2009-05-21 19:01:41 +00:00
|
|
|
** Auxiliary functions from Debug Interface module
|
|
|
|
** See Copyright Notice in lua.h
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef ldebug_h
|
|
|
|
#define ldebug_h
|
|
|
|
|
|
|
|
|
|
|
|
#include "lstate.h"
|
|
|
|
|
|
|
|
|
|
|
|
#define pcRel(pc, p) (cast(int, (pc) - (p)->code) - 1)
|
|
|
|
|
2019-08-05 05:03:08 +00:00
|
|
|
#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
|
2009-05-21 19:01:41 +00:00
|
|
|
|
|
|
|
#define resethookcount(L) (L->hookcount = L->basehookcount)
|
|
|
|
|
|
|
|
|
2014-04-02 18:46:06 +00:00
|
|
|
LUAI_FUNC void luaG_typeerror (lua_State *L, const TValue *o,
|
|
|
|
const char *opname);
|
|
|
|
LUAI_FUNC void luaG_concaterror (lua_State *L, StkId p1, StkId p2);
|
|
|
|
LUAI_FUNC void luaG_aritherror (lua_State *L, const TValue *p1,
|
|
|
|
const TValue *p2);
|
|
|
|
LUAI_FUNC int luaG_ordererror (lua_State *L, const TValue *p1,
|
|
|
|
const TValue *p2);
|
|
|
|
LUAI_FUNC void luaG_runerror (lua_State *L, const char *fmt, ...);
|
|
|
|
LUAI_FUNC void luaG_errormsg (lua_State *L);
|
|
|
|
LUAI_FUNC int luaG_checkcode (const Proto *pt);
|
|
|
|
LUAI_FUNC int luaG_checkopenop (Instruction i);
|
2009-05-21 19:01:41 +00:00
|
|
|
|
2019-08-05 05:03:08 +00:00
|
|
|
#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
|
|
|
|
|
2009-05-21 19:01:41 +00:00
|
|
|
#endif
|