浏览该文件的文档.
14 #define sizeCclosure(n) (cast_int(offsetof(CClosure, upvalue)) + \
15 cast_int(sizeof(TValue)) * (n))
17 #define sizeLclosure(n) (cast_int(offsetof(LClosure, upvals)) + \
18 cast_int(sizeof(TValue *)) * (n))
22 #define isintwups(L) (L->twups != L)
32 #define upisopen(up) ((up)->v != &(up)->u.value)
35 #define uplevel(up) check_exp(upisopen(up), cast(StkId, (up)->v))
50 #define NOCLOSINGMETH (-1)
53 #define CLOSEPROTECT (-2)
static void dumpDebug(DumpState *D, const Proto *f)
Definition: ldump.c:154
LUAI_FUNC int luaF_close(lua_State *L, StkId level, int status)
Definition: lfunc.c:223
const char * luaF_getlocalname(const Proto *f, int local_number, int pc)
Definition: lfunc.c:289
LUAI_FUNC Proto * luaF_newproto(lua_State *L)
Definition: lfunc.c:246
void luaE_warnerror(lua_State *L, const char *where)
Definition: lstate.c:419
#define LUAC_INT
Definition: lundump.h:18
#define s2v(o)
Definition: lobject.h:150
GCObject * luaC_newobj(lua_State *L, int tt, size_t sz)
Definition: lgc.c:258
#define iswhite(x)
Definition: lgc.h:87
Upvaldesc * upvalues
Definition: lobject.h:547
#define l_isfalse(o)
Definition: lobject.h:225
lu_byte kind
Definition: lobject.h:497
#define lua_assert(c)
Definition: lauxlib.h:169
static void varerror(lua_State *L, StkId level, const char *msg)
Definition: lfunc.c:130
#define LUAI_FUNC
Definition: luaconf.h:307
#define cast_byte(i)
Definition: llimits.h:130
#define cast(t, exp)
Definition: llimits.h:123
Instruction * code
Definition: lobject.h:545
int pc
Definition: lobject.h:523
int sizeabslineinfo
Definition: lobject.h:541
#define LUA_OK
Definition: lua.h:49
lua_Writer writer
Definition: ldump.c:24
LUAI_FUNC void luaF_newtbcupval(lua_State *L, StkId level)
Definition: lfunc.c:194
void luaF_freeproto(lua_State *L, Proto *f)
Definition: lfunc.c:273
#define luaC_objbarrier(L, p, o)
Definition: lgc.h:173
TString * varname
Definition: lobject.h:506
#define unlikely(x)
Definition: llimits.h:162
int lastlinedefined
Definition: lobject.h:543
int strip
Definition: ldump.c:26
int(* lua_Writer)(lua_State *L, const void *p, size_t sz, void *ud)
Definition: lua.h:119
#define lua_unlock(L)
Definition: llimits.h:254
void luaF_unlinkupval(UpVal *uv)
Definition: lfunc.c:215
l_noret luaG_runerror(lua_State *L, const char *fmt,...)
Definition: ldebug.c:767
#define LUA_VNUMINT
Definition: lobject.h:301
#define restorestack(L, n)
Definition: ldo.h:36
struct Proto ** p
Definition: lobject.h:546
#define LUA_VNUMFLT
Definition: lobject.h:302
static void dumpBlock(DumpState *D, const void *b, size_t size)
Definition: ldump.c:40
static void dumpString(DumpState *D, const TString *s)
Definition: ldump.c:88
const char * luaG_findlocal(lua_State *L, CallInfo *ci, int n, StkId *pos)
Definition: ldebug.c:200
static void trynewtbcupval(lua_State *L, void *ud)
Definition: lfunc.c:184
lu_byte is_vararg
Definition: lobject.h:533
#define LUAC_DATA
Definition: lundump.h:16
LUA_NUMBER lua_Number
Definition: lua.h:90
#define LUA_VFALSE
Definition: lobject.h:217
TString * name
Definition: lobject.h:494
#define likely(x)
Definition: llimits.h:161
int sizecode
Definition: lobject.h:537
static void dumpConstants(DumpState *D, const Proto *f)
Definition: ldump.c:108
#define NOCLOSINGMETH
Definition: lfunc.h:50
#define dumpVector(D, v, n)
Definition: ldump.c:35
Definition: lobject.h:141
void luaD_callnoyield(lua_State *L, StkId func, int nResults)
Definition: ldo.c:565
int sizep
Definition: lobject.h:539
LUAI_FUNC const char * luaF_getlocalname(const Proto *func, int local_number, int pc)
Definition: lfunc.c:289
TString * source
Definition: lobject.h:551
static void dumpSize(DumpState *D, size_t x)
Definition: ldump.c:61
#define LUAC_NUM
Definition: lundump.h:19
#define UNUSED(x)
Definition: llimits.h:118
static int callclosemth(lua_State *L, StkId level, int status)
Definition: lfunc.c:150
int startpc
Definition: lobject.h:507
lu_byte numparams
Definition: lobject.h:532
#define LUAC_VERSION
Definition: lundump.h:25
#define nw2black(x)
Definition: lgc.h:99
#define setnilvalue(obj)
Definition: lobject.h:178
int linedefined
Definition: lobject.h:542
void * data
Definition: ldump.c:25
lu_byte tbc
Definition: lobject.h:608
Definition: lobject.h:606
#define fltvalue(o)
Definition: lobject.h:310
#define ttisnil(v)
Definition: lobject.h:171
#define dumpVar(D, x)
Definition: ldump.c:49
static void dumpHeader(DumpState *D)
Definition: ldump.c:197
#define ivalue(o)
Definition: lobject.h:311
AbsLineInfo * abslineinfo
Definition: lobject.h:549
static void dumpNumber(DumpState *D, lua_Number x)
Definition: ldump.c:78
#define upisopen(up)
Definition: lfunc.h:32
Definition: lobject.h:624
int line
Definition: lobject.h:524
#define sizeLclosure(n)
Definition: lfunc.h:17
#define G(L)
Definition: lstate.h:298
#define LUA_VLNGSTR
Definition: lobject.h:339
#define LUA_VSHRSTR
Definition: lobject.h:338
Definition: lobject.h:364
#define LUA_VTRUE
Definition: lobject.h:218
void luaF_newtbcupval(lua_State *L, StkId level)
Definition: lfunc.c:194
int sizek
Definition: lobject.h:536
StkId func
Definition: lstate.h:161
#define lua_lock(L)
Definition: llimits.h:253
unsigned char lu_byte
Definition: llimits.h:36
#define getstr(ts)
Definition: lobject.h:381
#define LUA_SIGNATURE
Definition: lua.h:33
#define setobj(L, obj1, obj2)
Definition: lobject.h:116
ls_byte * lineinfo
Definition: lobject.h:548
#define LUA_VNIL
Definition: lobject.h:161
static void dumpUpvalues(DumpState *D, const Proto *f)
Definition: ldump.c:143
UpVal * openupval
Definition: lstate.h:283
static void dumpCode(DumpState *D, const Proto *f)
Definition: ldump.c:100
#define gco2lcl(o)
Definition: lstate.h:333
#define dumpLiteral(D, s)
Definition: ldump.c:37
void luaD_seterrorobj(lua_State *L, int errcode, StkId oldtop)
Definition: ldo.c:91
#define LUAC_FORMAT
Definition: lundump.h:27
CClosure * luaF_newCclosure(lua_State *L, int nupvals)
Definition: lfunc.c:27
LUA_INTEGER lua_Integer
Definition: lua.h:94
static void dumpByte(DumpState *D, int y)
Definition: ldump.c:52
struct Proto * p
Definition: lobject.h:633
struct lua_State * twups
Definition: lstate.h:285
static void dumpInt(DumpState *D, int x)
Definition: ldump.c:73
static void dumpFunction(DumpState *D, const Proto *f, TString *psource)
Definition: ldump.c:179
#define gco2upv(o)
Definition: lstate.h:340
#define tsslen(s)
Definition: lobject.h:388
TValue value
Definition: lobject.h:615
TValue * v
Definition: lobject.h:609
TValue * k
Definition: lobject.h:544
static void callclose(lua_State *L, void *ud)
Definition: lfunc.c:103
Proto * luaF_newproto(lua_State *L)
Definition: lfunc.c:246
#define ttypetag(o)
Definition: lobject.h:82
#define LUA_VPROTO
Definition: lobject.h:487
Definition: lobject.h:631
static void dumpInteger(DumpState *D, lua_Integer x)
Definition: ldump.c:83
int sizelineinfo
Definition: lobject.h:538
#define gco2p(o)
Definition: lstate.h:338
lu_byte maxstacksize
Definition: lobject.h:534
lu_byte instack
Definition: lobject.h:495
#define tsvalue(o)
Definition: lobject.h:347
LUAI_FUNC LClosure * luaF_newLclosure(lua_State *L, int nupvals)
Definition: lfunc.c:35
int sizeupvalues
Definition: lobject.h:535
l_uint32 Instruction
Definition: llimits.h:194
#define uplevel(up)
Definition: lfunc.h:35
#define CLOSEPROTECT
Definition: lfunc.h:53
CallInfo * ci
Definition: lstate.h:280
l_noret luaD_throw(lua_State *L, int errcode)
Definition: ldo.c:114
static UpVal * newupval(lua_State *L, int tbc, StkId level, UpVal **prev)
Definition: lfunc.c:65
#define isdead(g, v)
Definition: lgc.h:96
Definition: lobject.h:530
#define DIBS
Definition: ldump.c:59
@ TM_CLOSE
Definition: ltm.h:43
int luaD_pcall(lua_State *L, Pfunc func, void *u, ptrdiff_t old_top, ptrdiff_t ef)
Definition: ldo.c:777
static void dumpProtos(DumpState *D, const Proto *f)
Definition: ldump.c:134
void luaF_initupvals(lua_State *L, LClosure *cl)
Definition: lfunc.c:48
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
int luaU_dump(lua_State *L, const Proto *f, lua_Writer w, void *data, int strip)
Definition: ldump.c:213
static int prepclosingmethod(lua_State *L, TValue *obj, TValue *err)
Definition: lfunc.c:113
LClosure * luaF_newLclosure(lua_State *L, int nupvals)
Definition: lfunc.c:35
int status
Definition: ldump.c:27
#define gco2ccl(o)
Definition: lstate.h:334
lu_byte idx
Definition: lobject.h:496
#define luaM_free(L, b)
Definition: lmem.h:56
LUAI_FUNC CClosure * luaF_newCclosure(lua_State *L, int nupvals)
Definition: lfunc.c:27
StkId top
Definition: lstate.h:278
UpVal * luaF_findupval(lua_State *L, StkId level)
Definition: lfunc.c:88
#define luaM_freearray(L, b, n)
Definition: lmem.h:57
#define LUA_VLCL
Definition: lobject.h:568
Definition: lobject.h:270
#define LUA_VUPVAL
Definition: lobject.h:564
LUAI_FUNC void luaF_freeproto(lua_State *L, Proto *f)
Definition: lfunc.c:273
#define isintwups(L)
Definition: lfunc.h:22
LUAI_FUNC UpVal * luaF_findupval(lua_State *L, StkId level)
Definition: lfunc.c:88
#define next(ls)
Definition: llex.c:32
LocVar * locvars
Definition: lobject.h:550
#define sizeCclosure(n)
Definition: lfunc.h:14
LUAI_FUNC void luaF_unlinkupval(UpVal *uv)
Definition: lfunc.c:215
LUAI_FUNC void luaF_initupvals(lua_State *L, LClosure *cl)
Definition: lfunc.c:48
int luaF_close(lua_State *L, StkId level, int status)
Definition: lfunc.c:223
#define LUA_VCCL
Definition: lobject.h:570
int endpc
Definition: lobject.h:508
int sizelocvars
Definition: lobject.h:540
#define luaC_barrier(L, p, v)
Definition: lgc.h:165
#define LUA_ERRMEM
Definition: lua.h:53
int luaD_rawrunprotected(lua_State *L, Pfunc f, void *ud)
Definition: ldo.c:141
UpVal * upvals[1]
Definition: lobject.h:634
lua_State * L
Definition: ldump.c:23
#define savestack(L, p)
Definition: ldo.h:35
#define cast_int(i)
Definition: llimits.h:128