|
#define | lgc_c |
|
#define | LUA_CORE |
|
#define | GCSinsideatomic (GCSpause + 1) |
|
#define | GCSWEEPCOST ((sizeof(TString) + 4) / 4) |
|
#define | GCSWEEPMAX (cast_int((GCSTEPSIZE / GCSWEEPCOST) / 4)) |
|
#define | GCFINALIZECOST GCSWEEPCOST |
|
#define | STEPMULADJ 200 |
|
#define | PAUSEADJ 100 |
|
#define | maskcolors (~(bitmask(BLACKBIT) | WHITEBITS)) |
|
#define | makewhite(g, x) (x->marked = cast_byte((x->marked & maskcolors) | luaC_white(g))) |
|
#define | white2gray(x) resetbits(x->marked, WHITEBITS) |
|
#define | black2gray(x) resetbit(x->marked, BLACKBIT) |
|
#define | valiswhite(x) (iscollectable(x) && iswhite(gcvalue(x))) |
|
#define | checkdeadkey(n) lua_assert(!ttisdeadkey(gkey(n)) || ttisnil(gval(n))) |
|
#define | checkconsistency(obj) lua_longassert(!iscollectable(obj) || righttt(obj)) |
|
#define | markvalue(g, o) |
|
#define | markobject(g, t) { if (iswhite(t)) reallymarkobject(g, obj2gco(t)); } |
|
#define | markobjectN(g, t) { if (t) markobject(g,t); } |
|
#define | gnodelast(h) gnode(h, cast(size_t, sizenode(h))) |
|
#define | linkgclist(o, p) ((o)->gclist = (p), (p) = obj2gco(o)) |
|
#define | sweepwholelist(L, p) sweeplist(L,p,MAX_LUMEM) |
|
|
static void | reallymarkobject (global_State *g, GCObject *o) |
|
static void | removeentry (Node *n) |
|
static int | iscleared (global_State *g, const TValue *o) |
|
void | luaC_barrier_ (lua_State *L, GCObject *o, GCObject *v) |
|
void | luaC_barrierback_ (lua_State *L, Table *t) |
|
void | luaC_upvalbarrier_ (lua_State *L, UpVal *uv) |
|
void | luaC_fix (lua_State *L, GCObject *o) |
|
GCObject * | luaC_newobj (lua_State *L, int tt, size_t sz) |
|
static void | markmt (global_State *g) |
|
static void | markbeingfnz (global_State *g) |
|
static void | remarkupvals (global_State *g) |
|
static void | restartcollection (global_State *g) |
|
static void | traverseweakvalue (global_State *g, Table *h) |
|
static int | traverseephemeron (global_State *g, Table *h) |
|
static void | traversestrongtable (global_State *g, Table *h) |
|
static lu_mem | traversetable (global_State *g, Table *h) |
|
static int | traverseproto (global_State *g, Proto *f) |
|
static lu_mem | traverseCclosure (global_State *g, CClosure *cl) |
|
static lu_mem | traverseLclosure (global_State *g, LClosure *cl) |
|
static lu_mem | traversethread (global_State *g, lua_State *th) |
|
static void | propagatemark (global_State *g) |
|
static void | propagateall (global_State *g) |
|
static void | convergeephemerons (global_State *g) |
|
static void | clearkeys (global_State *g, GCObject *l, GCObject *f) |
|
static void | clearvalues (global_State *g, GCObject *l, GCObject *f) |
|
void | luaC_upvdeccount (lua_State *L, UpVal *uv) |
|
static void | freeLclosure (lua_State *L, LClosure *cl) |
|
static void | freeobj (lua_State *L, GCObject *o) |
|
static GCObject ** | sweeplist (lua_State *L, GCObject **p, lu_mem count) |
|
static GCObject ** | sweeptolive (lua_State *L, GCObject **p) |
|
static void | checkSizes (lua_State *L, global_State *g) |
|
static GCObject * | udata2finalize (global_State *g) |
|
static void | dothecall (lua_State *L, void *ud) |
|
static void | GCTM (lua_State *L, int propagateerrors) |
|
static int | runafewfinalizers (lua_State *L) |
|
static void | callallpendingfinalizers (lua_State *L) |
|
static GCObject ** | findlast (GCObject **p) |
|
static void | separatetobefnz (global_State *g, int all) |
|
void | luaC_checkfinalizer (lua_State *L, GCObject *o, Table *mt) |
|
static void | setpause (global_State *g) |
|
static void | entersweep (lua_State *L) |
|
void | luaC_freeallobjects (lua_State *L) |
|
static l_mem | atomic (lua_State *L) |
|
static lu_mem | sweepstep (lua_State *L, global_State *g, int nextstate, GCObject **nextlist) |
|
static lu_mem | singlestep (lua_State *L) |
|
void | luaC_runtilstate (lua_State *L, int statesmask) |
|
static l_mem | getdebt (global_State *g) |
|
void | luaC_step (lua_State *L) |
|
void | luaC_fullgc (lua_State *L, int isemergency) |
|