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