|
native Lua
0.5.0-devel
Lua on the platform you use with the compiler you choose
|
Go to the documentation of this file.
103 #define CSTACKERR (8 * CSTACKCF)
104 #define CSTACKMARK (CSTACKERR - (CSTACKCF + 2))
105 #define CSTACKERRMARK (CSTACKCF + 2)
109 #define CSTACKTHREAD (2 * CSTACKERR)
113 #define yieldable(L) (((L)->nCcalls & 0xffff0000) == 0)
116 #define getCcalls(L) ((L)->nCcalls & 0xffff)
120 #define incnny(L) ((L)->nCcalls += 0x10000)
123 #define decnny(L) ((L)->nCcalls -= 0x10000)
126 #define incXCcalls(L) ((L)->nCcalls += 0x10000 - CSTACKCF)
129 #define decXCcalls(L) ((L)->nCcalls -= 0x10000 - CSTACKCF)
143 #if !defined(l_signalT)
145 #define l_signalT sig_atomic_t
150 #define EXTRA_STACK 5
153 #define BASIC_STACK_SIZE (2*LUA_MINSTACK)
203 #define CIST_OAH (1<<0)
204 #define CIST_C (1<<1)
205 #define CIST_HOOKED (1<<2)
206 #define CIST_YPCALL (1<<3)
207 #define CIST_TAIL (1<<4)
208 #define CIST_HOOKYIELD (1<<5)
209 #define CIST_FIN (1<<6)
210 #define CIST_TRAN (1<<7)
211 #if defined(LUA_COMPAT_LT_LE)
212 #define CIST_LEQ (1<<8)
216 #define isLua(ci) (!((ci)->callstatus & CIST_C))
219 #define isLuacode(ci) (!((ci)->callstatus & (CIST_C | CIST_HOOKED)))
222 #define setoah(st,v) ((st) = ((st) & ~CIST_OAH) | (v))
223 #define getoah(st) ((st) & CIST_OAH)
309 #define G(L) (L->l_G)
327 #define cast_u(o) cast(union GCUnion *, (o))
331 check_exp(novariant((o)->tt) == LUA_TSTRING, &((cast_u(o))->ts))
332 #define gco2u(o) check_exp((o)->tt == LUA_VUSERDATA, &((cast_u(o))->u))
333 #define gco2lcl(o) check_exp((o)->tt == LUA_VLCL, &((cast_u(o))->cl.l))
334 #define gco2ccl(o) check_exp((o)->tt == LUA_VCCL, &((cast_u(o))->cl.c))
336 check_exp(novariant((o)->tt) == LUA_TFUNCTION, &((cast_u(o))->cl))
337 #define gco2t(o) check_exp((o)->tt == LUA_VTABLE, &((cast_u(o))->h))
338 #define gco2p(o) check_exp((o)->tt == LUA_VPROTO, &((cast_u(o))->p))
339 #define gco2th(o) check_exp((o)->tt == LUA_VTHREAD, &((cast_u(o))->th))
340 #define gco2upv(o) check_exp((o)->tt == LUA_VUPVAL, &((cast_u(o))->upv))
347 #define obj2gco(v) check_exp((v)->tt >= LUA_TSTRING, &(cast_u(v)->gc))
351 #define gettotalbytes(g) cast(lu_mem, (g)->totalbytes + (g)->GCdebt)
363 #define luaE_exitCcall(L) ((L)->nCcalls++)
lu_mem lastatomic
Definition: lstate.h:235
int basehookcount
Definition: lstate.h:303
#define LUAI_FUNC
Definition: luaconf.h:324
struct CallInfo * previous
Definition: lstate.h:174
#define LUA_NUMTAGS
Definition: lua.h:417
struct UpVal upv
Definition: lstate.h:323
TValue l_registry
Definition: lstate.h:237
lu_byte status
Definition: lstate.h:285
struct lua_State th
Definition: lstate.h:322
lua_CFunction panic
Definition: lstate.h:268
native Lua configuration file
lu_mem GCestimate
Definition: lstate.h:234
stringtable strt
Definition: lstate.h:236
TString ** hash
Definition: lstate.h:162
struct Proto p
Definition: lstate.h:321
lu_byte currentwhite
Definition: lstate.h:240
GCObject gc
Definition: lstate.h:316
union Closure cl
Definition: lstate.h:319
CommonHeader
Definition: lstate.h:284
unsigned long lu_mem
Definition: llimits.h:32
lu_byte genmajormul
Definition: lstate.h:244
l_mem totalbytes
Definition: lstate.h:232
LUAI_FUNC void luaE_freethread(lua_State *L, lua_State *L1)
Definition: lstate.c:351
lua_WarnFunction warnf
Definition: lstate.h:274
GCObject * grayagain
Definition: lstate.h:254
lu_byte gcemergency
Definition: lstate.h:246
ptrdiff_t errfunc
Definition: lstate.h:300
Definition: lobject.h:140
lu_byte gcstate
Definition: lstate.h:241
GCObject ** sweepgc
Definition: lstate.h:251
GCObject * old
Definition: lstate.h:262
#define STRCACHE_N
Definition: llimits.h:220
GCObject * allgc
Definition: lstate.h:250
struct global_State global_State
void *(* lua_Alloc)(void *ud, void *ptr, size_t osize, size_t nsize)
Definition: lua.h:127
Definition: lobject.h:605
struct lua_longjmp * errorJmp
Definition: lstate.h:297
volatile lua_Hook hook
Definition: lstate.h:299
long l_mem
Definition: llimits.h:33
lua_Alloc frealloc
Definition: lstate.h:230
struct Udata u
Definition: lstate.h:318
StkId stack_last
Definition: lstate.h:292
LUAI_FUNC void luaE_warning(lua_State *L, const char *msg, int tocont)
Definition: lstate.c:445
lu_byte gcrunning
Definition: lstate.h:245
void * ud
Definition: lstate.h:231
unsigned int Cstacklimit
Definition: lstate.h:276
lua_KContext ctx
Definition: lstate.h:184
#define l_signalT
Definition: lstate.h:145
int nextraargs
Definition: lstate.h:179
Definition: lobject.h:363
const Instruction * oldpc
Definition: lstate.h:291
LUA_KCONTEXT lua_KContext
Definition: lua.h:102
short nresults
Definition: lstate.h:195
GCObject * finobj
Definition: lstate.h:252
StkId func
Definition: lstate.h:172
unsigned char lu_byte
Definition: llimits.h:38
int hookcount
Definition: lstate.h:304
unsigned long l_uint32
Definition: llimits.h:185
struct Table h
Definition: lstate.h:320
struct CallInfo::@11::@14 c
Definition: lobject.h:713
Definition: lobject.h:438
LUAI_FUNC void luaE_enterCcall(lua_State *L)
Definition: lstate.c:135
void * ud_warn
Definition: lstate.h:275
void(* lua_Hook)(lua_State *L, lua_Debug *ar)
Definition: lua.h:450
UpVal * openupval
Definition: lstate.h:294
LUAI_FUNC void luaE_shrinkCI(lua_State *L)
Definition: lstate.c:192
LUAI_FUNC void luaE_setdebt(global_State *g, l_mem debt)
Definition: lstate.c:89
CallInfo base_ci
Definition: lstate.h:298
struct CallInfo::@11::@13 l
l_mem GCdebt
Definition: lstate.h:233
lu_byte genminormul
Definition: lstate.h:243
global_State * l_G
Definition: lstate.h:289
lu_byte gckind
Definition: lstate.h:242
GCObject * finobjold
Definition: lstate.h:265
volatile l_signalT hookmask
Definition: lstate.h:305
struct lua_State * twups
Definition: lstate.h:296
GCObject * gclist
Definition: lstate.h:295
TString * strcache[STRCACHE_N][STRCACHE_M]
Definition: lstate.h:273
GCObject * reallyold
Definition: lstate.h:263
LUAI_FUNC CallInfo * luaE_extendCI(lua_State *L)
Definition: lstate.c:156
volatile l_signalT trap
Definition: lstate.h:178
lua_KFunction k
Definition: lstate.h:182
struct lua_State * twups
Definition: lstate.h:267
const Instruction * savedpc
Definition: lstate.h:177
ptrdiff_t old_errfunc
Definition: lstate.h:183
l_uint32 Instruction
Definition: llimits.h:188
struct Table * mt[LUA_NUMTAGS]
Definition: lstate.h:272
CallInfo * ci
Definition: lstate.h:290
StkId stack
Definition: lstate.h:293
LUAI_FUNC void luaE_freeCI(lua_State *L)
Definition: lstate.c:174
lu_byte gcstepmul
Definition: lstate.h:248
Definition: lobject.h:529
GCObject * finobjrold
Definition: lstate.h:266
lu_byte gcpause
Definition: lstate.h:247
LUAI_FUNC void luaE_warnerror(lua_State *L, const char *where)
Definition: lstate.c:455
int nuse
Definition: lstate.h:163
struct CallInfo::@12::@15 transferinfo
lu_byte gcstepsize
Definition: lstate.h:249
struct TString ts
Definition: lstate.h:317
int size
Definition: lstate.h:164
int(* lua_CFunction)(lua_State *L)
Definition: lua.h:108
struct lua_State * mainthread
Definition: lstate.h:269
int(* lua_KFunction)(lua_State *L, int status, lua_KContext ctx)
Definition: lua.h:113
TValue nilvalue
Definition: lstate.h:238
StkId top
Definition: lstate.h:288
GCObject * fixedgc
Definition: lstate.h:259
GCObject * tobefnz
Definition: lstate.h:258
Definition: lobject.h:269
int nyield
Definition: lstate.h:189
unsigned short nci
Definition: lstate.h:287
void(* lua_WarnFunction)(void *ud, const char *msg, int tocont)
Definition: lua.h:133
GCObject * allweak
Definition: lstate.h:257
unsigned short ftransfer
Definition: lstate.h:191
@ TM_N
Definition: ltm.h:46
l_uint32 nCcalls
Definition: lstate.h:301
lu_byte allowhook
Definition: lstate.h:286
StkId top
Definition: lstate.h:173
unsigned short ntransfer
Definition: lstate.h:192
#define STRCACHE_M
Definition: llimits.h:221
unsigned short callstatus
Definition: lstate.h:196
GCObject * finobjsur
Definition: lstate.h:264
TString * memerrmsg
Definition: lstate.h:270
int stacksize
Definition: lstate.h:302
unsigned int seed
Definition: lstate.h:239
Definition: lobject.h:637
GCObject * gray
Definition: lstate.h:253
GCObject * ephemeron
Definition: lstate.h:256
int funcidx
Definition: lstate.h:188
struct stringtable stringtable
GCObject * weak
Definition: lstate.h:255
struct CallInfo * next
Definition: lstate.h:174
GCObject * survival
Definition: lstate.h:261
TString * tmname[TM_N]
Definition: lstate.h:271