#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 luaC_checkGC | ( | L | ) |
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().
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().
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().