| 1 | /* |
| 2 | ** $Id: ldebug.h $ |
| 3 | ** Auxiliary functions from Debug Interface module |
| 4 | ** See Copyright Notice in lua.h |
| 5 | */ |
| 6 | |
| 7 | #ifndef ldebug_h |
| 8 | #define ldebug_h |
| 9 | |
| 10 | |
| 11 | #include "lstate.h" |
| 12 | |
| 13 | |
| 14 | #define pcRel(pc, p) (cast_int((pc) - (p)->code) - 1) |
| 15 | |
| 16 | |
| 17 | /* Active Lua function (given call info) */ |
| 18 | #define ci_func(ci) (clLvalue(s2v((ci)->func))) |
| 19 | |
| 20 | |
| 21 | #define resethookcount(L) (L->hookcount = L->basehookcount) |
| 22 | |
| 23 | /* |
| 24 | ** mark for entries in 'lineinfo' array that has absolute information in |
| 25 | ** 'abslineinfo' array |
| 26 | */ |
| 27 | #define ABSLINEINFO (-0x80) |
| 28 | |
| 29 | |
| 30 | /* |
| 31 | ** MAXimum number of successive Instructions WiTHout ABSolute line |
| 32 | ** information. (A power of two allows fast divisions.) |
| 33 | */ |
| 34 | #if !defined(MAXIWTHABS) |
| 35 | #define MAXIWTHABS 128 |
| 36 | #endif |
| 37 | |
| 38 | |
| 39 | LUAI_FUNC int luaG_getfuncline (const Proto *f, int pc); |
| 40 | LUAI_FUNC const char *luaG_findlocal (lua_State *L, CallInfo *ci, int n, |
| 41 | StkId *pos); |
| 42 | LUAI_FUNC l_noret luaG_typeerror (lua_State *L, const TValue *o, |
| 43 | const char *opname); |
| 44 | LUAI_FUNC l_noret luaG_callerror (lua_State *L, const TValue *o); |
| 45 | LUAI_FUNC l_noret luaG_forerror (lua_State *L, const TValue *o, |
| 46 | const char *what); |
| 47 | LUAI_FUNC l_noret luaG_concaterror (lua_State *L, const TValue *p1, |
| 48 | const TValue *p2); |
| 49 | LUAI_FUNC l_noret luaG_opinterror (lua_State *L, const TValue *p1, |
| 50 | const TValue *p2, |
| 51 | const char *msg); |
| 52 | LUAI_FUNC l_noret luaG_tointerror (lua_State *L, const TValue *p1, |
| 53 | const TValue *p2); |
| 54 | LUAI_FUNC l_noret luaG_ordererror (lua_State *L, const TValue *p1, |
| 55 | const TValue *p2); |
| 56 | LUAI_FUNC l_noret luaG_runerror (lua_State *L, const char *fmt, ...); |
| 57 | LUAI_FUNC const char *luaG_addinfo (lua_State *L, const char *msg, |
| 58 | TString *src, int line); |
| 59 | LUAI_FUNC l_noret luaG_errormsg (lua_State *L); |
| 60 | LUAI_FUNC int luaG_traceexec (lua_State *L, const Instruction *pc); |
| 61 | |
| 62 | |
| 63 | #endif |
| 64 | |