mirror of https://github.com/lua/lua.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
/*
|
|
** $Id: ldebug.h,v 1.11 2001/02/23 17:17:25 roberto Exp roberto $
|
|
** Auxiliary functions from Debug Interface module
|
|
** See Copyright Notice in lua.h
|
|
*/
|
|
|
|
#ifndef ldebug_h
|
|
#define ldebug_h
|
|
|
|
|
|
#include "lstate.h"
|
|
#include "luadebug.h"
|
|
|
|
|
|
enum OpMode {iABC, iABc, iAsBc}; /* basic instruction format */
|
|
|
|
/*
|
|
** masks for instruction properties
|
|
*/
|
|
enum OpModeMask {
|
|
OpModeAreg = 2, /* A is a register */
|
|
OpModeBreg, /* B is a register */
|
|
OpModeCreg, /* C is a register/constant */
|
|
OpModesetA, /* instruction set register A */
|
|
OpModeK, /* Bc is a constant */
|
|
OpModeT /* operator is a test */
|
|
};
|
|
|
|
extern const unsigned char luaG_opmodes[];
|
|
|
|
#define getOpMode(m) ((enum OpMode)(luaG_opmodes[m] & 3))
|
|
#define testOpMode(m, b) (luaG_opmodes[m] & (1 << (b)))
|
|
|
|
|
|
void luaG_typeerror (lua_State *L, StkId o, const l_char *op);
|
|
void luaG_concaterror (lua_State *L, StkId p1, StkId p2);
|
|
void luaG_aritherror (lua_State *L, StkId p1, TObject *p2);
|
|
int luaG_getline (int *lineinfo, int pc, int refline, int *refi);
|
|
void luaG_ordererror (lua_State *L, const TObject *p1, const TObject *p2);
|
|
int luaG_checkcode (const Proto *pt);
|
|
|
|
|
|
#endif
|
|
|