native Lua  0.4.0
Lua on the platform you use with the compiler you choose
Macros | Functions
lgc.c File Reference
#include "lprefix.h"
#include <string.h>
#include "lua.h"
#include "ldebug.h"
#include "ldo.h"
#include "lfunc.h"
#include "lgc.h"
#include "lmem.h"
#include "lobject.h"
#include "lstate.h"
#include "lstring.h"
#include "ltable.h"
#include "ltm.h"
Include dependency graph for lgc.c:

Macros

#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)
 

Functions

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)
 
GCObjectluaC_newobj (lua_State *L, int tt, size_t sz)
 
void luaC_upvdeccount (lua_State *L, UpVal *uv)
 
void luaC_checkfinalizer (lua_State *L, GCObject *o, Table *mt)
 
void luaC_freeallobjects (lua_State *L)
 
void luaC_runtilstate (lua_State *L, int statesmask)
 
void luaC_step (lua_State *L)
 
void luaC_fullgc (lua_State *L, int isemergency)
 

Macro Definition Documentation

◆ black2gray

#define black2gray (   x)    resetbit(x->marked, BLACKBIT)

◆ checkconsistency

#define checkconsistency (   obj)     lua_longassert(!iscollectable(obj) || righttt(obj))

◆ checkdeadkey

#define checkdeadkey (   n)    lua_assert(!ttisdeadkey(gkey(n)) || ttisnil(gval(n)))

◆ GCFINALIZECOST

#define GCFINALIZECOST   GCSWEEPCOST

◆ GCSinsideatomic

#define GCSinsideatomic   (GCSpause + 1)

◆ GCSWEEPCOST

#define GCSWEEPCOST   ((sizeof(TString) + 4) / 4)

◆ GCSWEEPMAX

#define GCSWEEPMAX   (cast_int((GCSTEPSIZE / GCSWEEPCOST) / 4))

◆ gnodelast

#define gnodelast (   h)    gnode(h, cast(size_t, sizenode(h)))

◆ lgc_c

#define lgc_c

◆ linkgclist

#define linkgclist (   o,
 
)    ((o)->gclist = (p), (p) = obj2gco(o))

◆ LUA_CORE

#define LUA_CORE

◆ makewhite

#define makewhite (   g,
 
)     (x->marked = cast_byte((x->marked & maskcolors) | luaC_white(g)))

◆ markobject

#define markobject (   g,
 
)    { if (iswhite(t)) reallymarkobject(g, obj2gco(t)); }

◆ markobjectN

#define markobjectN (   g,
 
)    { if (t) markobject(g,t); }

◆ markvalue

#define markvalue (   g,
 
)
Value:
if (valiswhite(o)) reallymarkobject(g,gcvalue(o)); }

◆ maskcolors

#define maskcolors   (~(bitmask(BLACKBIT) | WHITEBITS))

◆ PAUSEADJ

#define PAUSEADJ   100

◆ STEPMULADJ

#define STEPMULADJ   200

◆ sweepwholelist

#define sweepwholelist (   L,
 
)    sweeplist(L,p,MAX_LUMEM)

◆ valiswhite

#define valiswhite (   x)    (iscollectable(x) && iswhite(gcvalue(x)))

◆ white2gray

#define white2gray (   x)    resetbits(x->marked, WHITEBITS)

Function Documentation

◆ luaC_barrier_()

void luaC_barrier_ ( lua_State L,
GCObject o,
GCObject v 
)

◆ luaC_barrierback_()

void luaC_barrierback_ ( lua_State L,
Table t 
)

◆ luaC_checkfinalizer()

void luaC_checkfinalizer ( lua_State L,
GCObject o,
Table mt 
)

◆ luaC_fix()

void luaC_fix ( lua_State L,
GCObject o 
)

◆ luaC_freeallobjects()

void luaC_freeallobjects ( lua_State L)

◆ luaC_fullgc()

void luaC_fullgc ( lua_State L,
int  isemergency 
)

◆ luaC_newobj()

GCObject* luaC_newobj ( lua_State L,
int  tt,
size_t  sz 
)

◆ luaC_runtilstate()

void luaC_runtilstate ( lua_State L,
int  statesmask 
)

◆ luaC_step()

void luaC_step ( lua_State L)

◆ luaC_upvalbarrier_()

void luaC_upvalbarrier_ ( lua_State L,
UpVal uv 
)

◆ luaC_upvdeccount()

void luaC_upvdeccount ( lua_State L,
UpVal uv 
)
gcvalue
#define gcvalue(o)
Definition: lobject.h:167
checkconsistency
#define checkconsistency(obj)
Definition: lgc.c:79
valiswhite
#define valiswhite(x)
Definition: lgc.c:74