浏览该文件的文档.
25 #define luaD_checkstackaux(L,n,pre,pos) \
26 if (L->stack_last - L->top <= (n)) \
27 { pre; luaD_growstack(L, n, 1); pos; } \
28 else { condmovestack(L,pre,pos); }
31 #define luaD_checkstack(L,n) luaD_checkstackaux(L,n,(void)0,(void)0)
35 #define savestack(L,p) ((char *)(p) - (char *)L->stack)
36 #define restorestack(L,n) ((StkId)((char *)L->stack + (n)))
40 #define checkstackGCp(L,n,p) \
41 luaD_checkstackaux(L, n, \
42 ptrdiff_t t__ = savestack(L, p); \
44 p = restorestack(L, t__))
48 #define checkstackGC(L,fsize) \
49 luaD_checkstackaux(L, (fsize), luaC_checkGC(L), (void)0)
59 int fTransfer,
int nTransfer);
67 ptrdiff_t oldtop, ptrdiff_t ef);
struct Dyndata::@10 actvar
#define setobjs2s(L, o1, o2)
Definition: lobject.h:127
#define EXTRA_STACK
Definition: lstate.h:137
#define s2v(o)
Definition: lobject.h:150
static void unroll(lua_State *L, void *ud)
Definition: ldo.c:604
LUAI_FUNC void luaE_incCstack(lua_State *L)
Definition: lstate.c:173
LClosure * luaY_parser(lua_State *L, ZIO *z, Mbuffer *buff, Dyndata *dyd, const char *name, int firstchar)
Definition: lparser.c:1931
static void f_parser(lua_State *L, void *ud)
Definition: ldo.c:821
#define lua_assert(c)
Definition: lauxlib.h:169
static void correctstack(lua_State *L, StkId oldstack, StkId newstack)
Definition: ldo.c:163
LUAI_FUNC void luaD_hook(lua_State *L, int event, int line, int fTransfer, int nTransfer)
Definition: ldo.c:294
#define LUAI_FUNC
Definition: luaconf.h:307
#define cast_byte(i)
Definition: llimits.h:130
#define l_noret
Definition: llimits.h:178
#define cast(t, exp)
Definition: llimits.h:123
struct CallInfo * previous
Definition: lstate.h:163
Instruction * code
Definition: lobject.h:545
static StkId rethook(lua_State *L, CallInfo *ci, StkId firstres, int nres)
Definition: ldo.c:346
LClosure * luaU_undump(lua_State *L, ZIO *Z, const char *name)
Definition: lundump.c:311
LUA_API int lua_isyieldable(lua_State *L)
Definition: ldo.c:736
#define LUA_MULTRET
Definition: lua.h:36
LUA_API int lua_resume(lua_State *L, lua_State *from, int nargs, int *nresults)
Definition: ldo.c:701
#define CIST_HOOKED
Definition: lstate.h:195
#define LUA_MINSTACK
Definition: lua.h:80
void luaD_poscall(lua_State *L, CallInfo *ci, int nres)
Definition: ldo.c:434
#define LUA_OK
Definition: lua.h:49
LUAI_FUNC void luaD_hookcall(lua_State *L, CallInfo *ci)
Definition: ldo.c:333
static int stackinuse(lua_State *L)
Definition: ldo.c:238
#define luai_userstateyield(L, n)
Definition: llimits.h:291
static void resume(lua_State *L, void *ud)
Definition: ldo.c:676
#define api_incr_top(L)
Definition: lapi.h:16
#define next_ci(L)
Definition: ldo.c:444
const char * mode
Definition: ldo.c:807
TString * luaS_new(lua_State *L, const char *str)
Definition: lstring.c:241
lu_byte status
Definition: lstate.h:275
#define unlikely(x)
Definition: llimits.h:162
lua_CFunction panic
Definition: lstate.h:259
#define LUA_ERRERR
Definition: lua.h:54
#define lua_unlock(L)
Definition: llimits.h:254
l_noret luaG_runerror(lua_State *L, const char *fmt,...)
Definition: ldebug.c:767
#define restorestack(L, n)
Definition: ldo.h:36
static int recover(lua_State *L, int status)
Definition: ldo.c:638
LUAI_FUNC void luaD_callnoyield(lua_State *L, StkId func, int nResults)
Definition: ldo.c:565
#define CIST_TAIL
Definition: lstate.h:197
void luaV_finishOp(lua_State *L)
Definition: lvm.c:803
#define fvalue(o)
Definition: lobject.h:582
#define LUA_HOOKCALL
Definition: lua.h:429
Dyndata dyd
Definition: ldo.c:806
Labellist label
Definition: lparser.h:135
#define incnny(L)
Definition: lstate.h:106
static void checkmode(lua_State *L, const char *mode, const char *x)
Definition: ldo.c:812
lu_byte is_vararg
Definition: lobject.h:533
luai_jmpbuf b
Definition: ldo.c:86
#define luai_userstateresume(L, n)
Definition: llimits.h:287
LUAI_FUNC CallInfo * luaD_precall(lua_State *L, StkId func, int nResults)
Definition: ldo.c:479
Vardesc * arr
Definition: lparser.h:130
#define luaM_error(L)
Definition: lmem.h:17
int currentline
Definition: lua.h:476
#define isLuacode(ci)
Definition: lstate.h:209
#define likely(x)
Definition: llimits.h:161
ptrdiff_t errfunc
Definition: lstate.h:289
void(* Pfunc)(lua_State *L, void *ud)
Definition: ldo.h:53
CallInfo * luaD_precall(lua_State *L, StkId func, int nresults)
Definition: ldo.c:479
Definition: lobject.h:141
void luaD_callnoyield(lua_State *L, StkId func, int nResults)
Definition: ldo.c:565
#define clCvalue(o)
Definition: lobject.h:583
void luaE_checkcstack(lua_State *L)
Definition: lstate.c:165
int oldpc
Definition: lstate.h:291
LUAI_FUNC void luaD_shrinkstack(lua_State *L)
Definition: ldo.c:262
#define checkstackGC(L, fsize)
Definition: ldo.h:48
void luaD_shrinkstack(lua_State *L)
Definition: ldo.c:262
void luaD_hook(lua_State *L, int event, int line, int ftransfer, int ntransfer)
Definition: ldo.c:294
lu_byte numparams
Definition: lobject.h:532
#define luai_jmpbuf
Definition: ldo.c:75
#define setnilvalue(obj)
Definition: lobject.h:178
int luaD_reallocstack(lua_State *L, int newsize, int raiseerror)
Definition: ldo.c:184
LUAI_FUNC int luaD_pcall(lua_State *L, Pfunc func, void *u, ptrdiff_t oldtop, ptrdiff_t ef)
Definition: ldo.c:777
Definition: lobject.h:606
void luaD_pretailcall(lua_State *L, CallInfo *ci, StkId func, int narg1)
Definition: ldo.c:452
LUAI_FUNC int luaD_growstack(lua_State *L, int n, int raiseerror)
Definition: ldo.c:207
struct lua_longjmp * errorJmp
Definition: lstate.h:286
#define luaZ_freebuffer(L, buff)
Definition: lzio.h:44
volatile lua_Hook hook
Definition: lstate.h:288
#define ttisnil(v)
Definition: lobject.h:171
LUA_API int lua_yieldk(lua_State *L, int nresults, lua_KContext ctx, lua_KFunction k)
Definition: ldo.c:741
StkId stack_last
Definition: lstate.h:281
#define adjustresults(L, nres)
Definition: lapi.h:25
struct lua_longjmp * previous
Definition: ldo.c:85
#define ci_func(ci)
Definition: ldebug.h:18
#define G(L)
Definition: lstate.h:298
LUA_KCONTEXT lua_KContext
Definition: lua.h:100
l_noret luaG_typeerror(lua_State *L, const TValue *o, const char *op)
Definition: ldebug.c:694
#define setsvalue2s(L, o, s)
Definition: lobject.h:355
short nresults
Definition: lstate.h:184
StkId func
Definition: lstate.h:161
#define lua_lock(L)
Definition: llimits.h:253
unsigned char lu_byte
Definition: llimits.h:36
LUAI_FUNC int luaD_rawrunprotected(lua_State *L, Pfunc f, void *ud)
Definition: ldo.c:141
void luaD_call(lua_State *L, StkId func, int nResults)
Definition: ldo.c:557
#define LUA_SIGNATURE
Definition: lua.h:33
unsigned long l_uint32
Definition: llimits.h:191
void luaD_inctop(lua_State *L)
Definition: ldo.c:281
#define luaD_checkstack(L, n)
Definition: ldo.h:31
struct CallInfo::@11::@14 c
static CallInfo * findpcall(lua_State *L)
Definition: ldo.c:623
@ TM_CALL
Definition: ltm.h:42
#define nyci
Definition: lstate.h:112
#define LUA_API
Definition: luaconf.h:277
#define codeNresults(n)
Definition: lapi.h:45
#define clLvalue(o)
Definition: lobject.h:581
void(* lua_Hook)(lua_State *L, lua_Debug *ar)
Definition: lua.h:448
UpVal * openupval
Definition: lstate.h:283
LUAI_FUNC void luaD_pretailcall(lua_State *L, CallInfo *ci, StkId func, int n)
Definition: ldo.c:452
CallInfo base_ci
Definition: lstate.h:287
struct CallInfo::@11::@13 l
#define LUA_MASKCALL
Definition: lua.h:439
void luaD_seterrorobj(lua_State *L, int errcode, StkId oldtop)
Definition: ldo.c:91
LUAI_FUNC void luaD_inctop(lua_State *L)
Definition: ldo.c:281
struct CallInfo * i_ci
Definition: lua.h:487
volatile l_signalT hookmask
Definition: lstate.h:294
struct Proto * p
Definition: lobject.h:633
#define luaM_reallocvector(L, v, oldn, n, t)
Definition: lmem.h:70
volatile int status
Definition: ldo.c:87
TValue * v
Definition: lobject.h:609
int event
Definition: lua.h:470
static void finishCcall(lua_State *L, int status)
Definition: ldo.c:574
#define ttypetag(o)
Definition: lobject.h:82
#define LUAI_MAXCCALLS
Definition: llimits.h:244
#define pcRel(pc, p)
Definition: ldebug.h:14
Definition: lobject.h:631
lu_byte maxstacksize
Definition: lobject.h:534
#define CIST_C
Definition: lstate.h:193
#define LUA_ERRSYNTAX
Definition: lua.h:52
#define LUA_YIELD
Definition: lua.h:50
const char * luaO_pushfstring(lua_State *L, const char *fmt,...)
Definition: lobject.c:539
void luaV_execute(lua_State *L, CallInfo *ci)
Definition: lvm.c:1119
Definition: lparser.h:128
int sizeupvalues
Definition: lobject.h:535
#define CIST_FRESH
Definition: lstate.h:194
#define LUA_MASKRET
Definition: lua.h:440
#define uplevel(up)
Definition: lfunc.h:35
#define yieldable(L)
Definition: lstate.h:99
Labellist gt
Definition: lparser.h:134
#define CIST_TRAN
Definition: lstate.h:200
LUAI_FUNC void luaD_tryfuncTM(lua_State *L, StkId func)
Definition: ldo.c:374
#define CLOSEPROTECT
Definition: lfunc.h:53
ZIO * z
Definition: ldo.c:804
CallInfo * ci
Definition: lstate.h:280
#define LUAI_MAXSTACK
Definition: ltests.h:130
l_noret luaD_throw(lua_State *L, int errcode)
Definition: ldo.c:114
int luaD_protectedparser(lua_State *L, ZIO *z, const char *name, const char *mode)
Definition: ldo.c:838
StkId stack
Definition: lstate.h:282
int size
Definition: lparser.h:123
#define LUA_HOOKTAILCALL
Definition: lua.h:433
void luaE_shrinkCI(lua_State *L)
Definition: lstate.c:138
Mbuffer buff
Definition: ldo.c:805
#define errorstatus(s)
Definition: ldo.c:38
#define decnny(L)
Definition: lstate.h:109
Definition: lobject.h:530
#define LUA_HOOKRET
Definition: lua.h:430
int luaD_pcall(lua_State *L, Pfunc func, void *u, ptrdiff_t old_top, ptrdiff_t ef)
Definition: ldo.c:777
LUAI_FUNC void luaD_seterrorobj(lua_State *L, int errcode, StkId oldtop)
Definition: ldo.c:91
LUAI_FUNC void luaD_call(lua_State *L, StkId func, int nResults)
Definition: ldo.c:557
void luaF_initupvals(lua_State *L, LClosure *cl)
Definition: lfunc.c:48
static void moveresults(lua_State *L, StkId res, int nres, int wanted)
Definition: ldo.c:392
LUAI_FUNC l_noret luaD_throw(lua_State *L, int errcode)
Definition: ldo.c:114
const TValue * luaT_gettmbyobj(lua_State *L, const TValue *o, TMS event)
Definition: ltm.c:71
#define setobj2s(L, o1, o2)
Definition: lobject.h:129
struct UpVal::@3::@4 open
Labeldesc * arr
Definition: lparser.h:121
struct CallInfo::@12::@15 transferinfo
#define LUA_ERRRUN
Definition: lua.h:51
#define ERRORSTACKSIZE
Definition: ldo.c:181
int(* lua_CFunction)(lua_State *L)
Definition: lua.h:106
#define hastocloseCfunc(n)
Definition: lapi.h:43
struct lua_State * mainthread
Definition: lstate.h:260
#define getCcalls(L)
Definition: lstate.h:102
int(* lua_KFunction)(lua_State *L, int status, lua_KContext ctx)
Definition: lua.h:111
StkId top
Definition: lstate.h:278
#define LUA_VLCF
Definition: lobject.h:569
#define luaM_freearray(L, b, n)
Definition: lmem.h:57
#define LUA_VLCL
Definition: lobject.h:568
int nyield
Definition: lstate.h:178
#define api_check(l, e, msg)
Definition: llimits.h:113
#define isLua(ci)
Definition: lstate.h:206
#define luaZ_initbuffer(L, buff)
Definition: lzio.h:29
static int resume_error(lua_State *L, const char *msg, int narg)
Definition: ldo.c:660
#define checkstackGCp(L, n, p)
Definition: ldo.h:40
#define stacksize(th)
Definition: lstate.h:142
void luaD_hookcall(lua_State *L, CallInfo *ci)
Definition: ldo.c:333
l_uint32 nCcalls
Definition: lstate.h:290
void luaD_tryfuncTM(lua_State *L, StkId func)
Definition: ldo.c:374
lu_byte allowhook
Definition: lstate.h:276
int luaD_growstack(lua_State *L, int n, int raiseerror)
Definition: ldo.c:207
StkId top
Definition: lstate.h:162
const char * name
Definition: ldo.c:808
#define zgetc(z)
Definition: lzio.h:20
LUAI_FUNC int luaD_protectedparser(lua_State *L, ZIO *z, const char *name, const char *mode)
Definition: ldo.c:838
unsigned short callstatus
Definition: lstate.h:185
int luaF_close(lua_State *L, StkId level, int status)
Definition: lfunc.c:223
#define LUA_VCCL
Definition: lobject.h:570
static void ccall(lua_State *L, StkId func, int nResults, int inc)
Definition: ldo.c:541
LUAI_FUNC void luaD_poscall(lua_State *L, CallInfo *ci, int nres)
Definition: ldo.c:434
int size
Definition: lparser.h:132
#define api_checknelems(L, n)
Definition: lapi.h:30
#define luaS_newliteral(L, s)
Definition: lstring.h:28
LUAI_FUNC int luaD_reallocstack(lua_State *L, int newsize, int raiseerror)
Definition: ldo.c:184
#define LUAI_THROW(L, c)
Definition: ldo.c:73
#define LUA_ERRMEM
Definition: lua.h:53
int luaD_rawrunprotected(lua_State *L, Pfunc f, void *ud)
Definition: ldo.c:141
#define CIST_YPCALL
Definition: lstate.h:196
int funcidx
Definition: lstate.h:177
#define getoah(st)
Definition: lstate.h:213
#define savestack(L, p)
Definition: ldo.h:35
#define condmovestack(L, pre, pos)
Definition: llimits.h:355
#define cast_int(i)
Definition: llimits.h:128
#define LUAI_TRY(L, c, a)
Definition: ldo.c:74