00001 /* 00002 ** $Id: lgc.h,v 1.3 2004/03/23 05:09:14 jbj Exp $ 00003 ** Garbage Collector 00004 ** See Copyright Notice in lua.h 00005 */ 00006 00007 #ifndef lgc_h 00008 #define lgc_h 00009 00010 00011 #include "lobject.h" 00012 00013 00014 #define luaC_checkGC(L) { lua_assert(!(L->ci->state & CI_CALLING)); \ 00015 if (G(L)->nblocks >= G(L)->GCthreshold) luaC_collectgarbage(L); } 00016 00017 00018 size_t luaC_separateudata (lua_State *L) 00019 /*@modifies L @*/; 00020 void luaC_callGCTM (lua_State *L) 00021 /*@modifies L @*/; 00022 void luaC_sweep (lua_State *L, int all) 00023 /*@modifies L @*/; 00024 void luaC_collectgarbage (lua_State *L) 00025 /*@modifies L @*/; 00026 void luaC_link (lua_State *L, GCObject *o, lu_byte tt) 00027 /*@modifies L, o @*/; 00028 00029 00030 #endif