File nut/lua/lgc.c


Included Files


Preprocessor definitions

#define lgc_c

#define LUA_CORE

#define GCSTEPSIZE 1024u

#define GCSWEEPMAX 40

#define GCSWEEPCOST 10

#define GCFINALIZECOST 100

#define maskmarks

#define makewhite( g, x )

#define white2gray( x )

#define black2gray( x )

#define stringmark( s )

#define isfinalized( u )

#define markfinalized( u )

#define KEYWEAK

#define VALUEWEAK

#define markvalue( g, o )

#define markobject( g, t )

#define setthreshold( g )

#define sweepwholelist( L, p )


Global Function luaC_barrierback()

void luaC_barrierback ( lua_State* L, Table* t )
Prototyped in: nut/include/lua/lgc.h

Global Function luaC_barrierf()

void luaC_barrierf ( lua_State* L, GCObject* o, GCObject* v )
Prototyped in: nut/include/lua/lgc.h
Calls: reallymarkobject() nut/lua/lgc.c
Called by: addk() nut/lua/lcode.c
  luaC_linkupval() nut/lua/lgc.c

Global Function luaC_callGCTM()

void luaC_callGCTM ( lua_State* L )
Prototyped in: nut/include/lua/lgc.h
Calls: GCTM() nut/lua/lgc.c

Global Function luaC_freeall()

void luaC_freeall ( lua_State* L )
Prototyped in: nut/include/lua/lgc.h
Calls: sweeplist() nut/lua/lgc.c

Global Function luaC_fullgc()

void luaC_fullgc ( lua_State* L )
Prototyped in: nut/include/lua/lgc.h
Calls: markroot() nut/lua/lgc.c
  singlestep() nut/lua/lgc.c

Global Function luaC_link()

void luaC_link ( lua_State* L, GCObject* o, lu_byte tt )
Prototyped in: nut/include/lua/lgc.h
Called by: luaF_newCclosure() nut/lua/lfunc.c
  luaF_newLclosure() nut/lua/lfunc.c
  luaF_newproto() nut/lua/lfunc.c
  luaF_newupval() nut/lua/lfunc.c

Global Function luaC_linkupval()

void luaC_linkupval ( lua_State* L, UpVal* uv )
Prototyped in: nut/include/lua/lgc.h
Calls: luaC_barrierf() nut/lua/lgc.c
Called by: luaF_close() nut/lua/lfunc.c

Global Function luaC_separateudata()

size_t luaC_separateudata ( lua_State* L, int all )
Prototyped in: nut/include/lua/lgc.h
Calls: luaT_gettm()
Called by: atomic() nut/lua/lgc.c

Global Function luaC_step()

void luaC_step ( lua_State* L )
Prototyped in: nut/include/lua/lgc.h
Calls: singlestep() nut/lua/lgc.c
Called by: adjust_varargs() nut/lua/ldo.c
  f_parser() nut/lua/ldo.c
  luaD_call() nut/lua/ldo.c

Local Function GCTM()

static void GCTM ( lua_State* L )
Calls: luaD_call() nut/lua/ldo.c
  luaT_gettm()
Called by: luaC_callGCTM() nut/lua/lgc.c
  singlestep() nut/lua/lgc.c

Local Function atomic()

static void atomic ( lua_State* L )
Calls: cleartable() nut/lua/lgc.c
  luaC_separateudata() nut/lua/lgc.c
  markmt() nut/lua/lgc.c
  marktmu() nut/lua/lgc.c
  propagateall() nut/lua/lgc.c
  reallymarkobject() nut/lua/lgc.c
  remarkupvals() nut/lua/lgc.c
Called by: singlestep() nut/lua/lgc.c

Local Function checkSizes()

static void checkSizes ( lua_State* L )
Calls: luaM_realloc_(), luaM_toobig(), luaS_resize()
Called by: singlestep() nut/lua/lgc.c

Local Function checkstacksizes()

static void checkstacksizes ( lua_State* L, StkId max )
Calls: luaD_reallocCI() nut/lua/ldo.c
  luaD_reallocstack() nut/lua/ldo.c
Called by: traversestack() nut/lua/lgc.c

Local Function cleartable()

static void cleartable ( GCObject* l )
Calls: iscleared() nut/lua/lgc.c
  removeentry() nut/lua/lgc.c
Called by: atomic() nut/lua/lgc.c

Local Function freeobj()

static void freeobj ( lua_State* L, GCObject* o )
Calls: luaF_freeclosure() nut/lua/lfunc.c
  luaF_freeproto() nut/lua/lfunc.c
  luaF_freeupval() nut/lua/lfunc.c
  luaE_freethread(), luaH_free(), luaM_realloc_()
Called by: sweeplist() nut/lua/lgc.c

Local Function iscleared()

static int iscleared ( const TValue* o, int iskey )
Called by: cleartable() nut/lua/lgc.c

Local Function markmt()

static void markmt ( global_State* g )
Calls: reallymarkobject() nut/lua/lgc.c
Called by: atomic() nut/lua/lgc.c
  markroot() nut/lua/lgc.c

Local Function markroot()

static void markroot ( lua_State* L )
Calls: markmt() nut/lua/lgc.c
  reallymarkobject() nut/lua/lgc.c
Called by: luaC_fullgc() nut/lua/lgc.c
  singlestep() nut/lua/lgc.c

Local Function marktmu()

static void marktmu ( global_State* g )
Calls: reallymarkobject() nut/lua/lgc.c
Called by: atomic() nut/lua/lgc.c

Local Function propagateall()

static size_t propagateall ( global_State* g )
Calls: propagatemark() nut/lua/lgc.c
Called by: atomic() nut/lua/lgc.c

Local Function propagatemark()

static l_mem propagatemark ( global_State* g )
Calls: traverseclosure() nut/lua/lgc.c
  traverseproto() nut/lua/lgc.c
  traversestack() nut/lua/lgc.c
  traversetable() nut/lua/lgc.c
Called by: propagateall() nut/lua/lgc.c
  singlestep() nut/lua/lgc.c

Local Function reallymarkobject()

static void reallymarkobject ( global_State* g, GCObject* o )
Calls: reallymarkobject() nut/lua/lgc.c
Called by: atomic() nut/lua/lgc.c
  luaC_barrierf() nut/lua/lgc.c
  markmt() nut/lua/lgc.c
  markroot() nut/lua/lgc.c
  marktmu() nut/lua/lgc.c
  reallymarkobject() nut/lua/lgc.c
  remarkupvals() nut/lua/lgc.c
  traverseclosure() nut/lua/lgc.c
  traverseproto() nut/lua/lgc.c
  traversestack() nut/lua/lgc.c
  traversetable() nut/lua/lgc.c

Local Function remarkupvals()

static void remarkupvals ( global_State* g )
Calls: reallymarkobject() nut/lua/lgc.c
Called by: atomic() nut/lua/lgc.c

Local Function removeentry()

static void removeentry ( Node* n )
Called by: cleartable() nut/lua/lgc.c
  traversetable() nut/lua/lgc.c

Local Function singlestep()

static l_mem singlestep ( lua_State* L )
Calls: GCTM() nut/lua/lgc.c
  atomic() nut/lua/lgc.c
  checkSizes() nut/lua/lgc.c
  markroot() nut/lua/lgc.c
  propagatemark() nut/lua/lgc.c
  sweeplist() nut/lua/lgc.c
Called by: luaC_fullgc() nut/lua/lgc.c
  luaC_step() nut/lua/lgc.c

Local Function sweeplist()

static GCObject** sweeplist ( lua_State* L, GCObject** p, lu_mem count )
Calls: freeobj() nut/lua/lgc.c
  sweeplist() nut/lua/lgc.c
Called by: luaC_freeall() nut/lua/lgc.c
  singlestep() nut/lua/lgc.c
  sweeplist() nut/lua/lgc.c

Local Function traverseclosure()

static void traverseclosure ( global_State* g, Closure* cl )
Calls: reallymarkobject() nut/lua/lgc.c
Called by: propagatemark() nut/lua/lgc.c

Local Function traverseproto()

static void traverseproto ( global_State* g, Proto* f )
Calls: reallymarkobject() nut/lua/lgc.c
Called by: propagatemark() nut/lua/lgc.c

Local Function traversestack()

static void traversestack ( global_State* g, lua_State* l )
Calls: checkstacksizes() nut/lua/lgc.c
  reallymarkobject() nut/lua/lgc.c
Called by: propagatemark() nut/lua/lgc.c

Local Function traversetable()

static int traversetable ( global_State* g, Table* h )
Calls: reallymarkobject() nut/lua/lgc.c
  removeentry() nut/lua/lgc.c
  strchr() nut/c/string/strchr.c
  luaT_gettm()
Called by: propagatemark() nut/lua/lgc.c