50 lines
1.6 KiB
C
50 lines
1.6 KiB
C
/*
|
|
** $Id: ldebug.h,v 2.3.1.1 2007/12/27 13:02:25 roberto Exp $
|
|
** 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)
|
|
|
|
#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)
|
|
|
|
|
|
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);
|
|
#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
|