lua/lgc.h File Reference

#include "lobject.h"

Go to the source code of this file.

Defines

#define luaC_checkGC(L)

Functions

size_t luaC_separateudata (lua_State *L)
void luaC_callGCTM (lua_State *L)
void luaC_sweep (lua_State *L, int all)
void luaC_collectgarbage (lua_State *L)
void luaC_link (lua_State *L, GCObject *o, lu_byte tt)


Define Documentation

#define luaC_checkGC (  ) 

Value:

{ lua_assert(!(L->ci->state & CI_CALLING)); \
        if (G(L)->nblocks >= G(L)->GCthreshold) luaC_collectgarbage(L); }

Definition at line 14 of file lgc.h.

Referenced by f_parser(), lua_concat(), lua_newtable(), lua_newthread(), lua_newuserdata(), lua_pushcclosure(), lua_pushfstring(), lua_pushlstring(), lua_pushvfstring(), lua_setgcthreshold(), lua_tostring(), and luaD_call().


Function Documentation

void luaC_callGCTM ( lua_State L  ) 

Definition at line 465 of file lgc.c.

References lua_State::allowhook, do1gcTM(), G, gcotou, markfinalized, Udata::next, setuvalue, lua_State::top, unmark, and Udata::uv.

Referenced by callallgcTM(), and luaC_collectgarbage().

void luaC_collectgarbage ( lua_State L  ) 

Definition at line 535 of file lgc.c.

References checkSizes(), luaC_callGCTM(), luaC_sweep(), and mark().

void luaC_link ( lua_State L,
GCObject o,
lu_byte  tt 
)

Definition at line 543 of file lgc.c.

References G, GCObject::gch, GCheader::marked, GCheader::next, and GCheader::tt.

Referenced by luaE_newthread(), luaF_close(), luaF_newCclosure(), luaF_newLclosure(), luaF_newproto(), and luaH_new().

size_t luaC_separateudata ( lua_State L  ) 

Definition at line 124 of file lgc.c.

References fasttm, G, GCObject::gch, gcotou, isfinalized, ismarked, lua_assert, markfinalized, GCheader::next, sizeudata, TM_GC, and GCheader::tt.

Referenced by lua_close(), and mark().

void luaC_sweep ( lua_State L,
int  all 
)

Definition at line 485 of file lgc.c.

References G, sweeplist(), and sweepstrings().

Referenced by close_state(), and luaC_collectgarbage().


Generated on Fri Oct 12 08:44:55 2007 for rpm by  doxygen 1.5.2