MCPcopy Create free account
hub / github.com/Achain-Dev/Achain / freeobj

Function freeobj

src/Chain/libraries/glua/lgc.cpp:696–720  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

694
695
696static void freeobj(lua_State *L, GCObject *o) {
697 switch (o->tt) {
698 case LUA_TPROTO: luaF_freeproto(L, gco2p(o)); break;
699 case LUA_TLCL: {
700 freeLclosure(L, gco2lcl(o));
701 break;
702 }
703 case LUA_TCCL: {
704 luaM_freemem(L, o, sizeCclosure(gco2ccl(o)->nupvalues));
705 break;
706 }
707 case LUA_TTABLE: luaH_free(L, gco2t(o)); break;
708 case LUA_TTHREAD: luaE_freethread(L, gco2th(o)); break;
709 case LUA_TUSERDATA: luaM_freemem(L, o, sizeudata(gco2u(o))); break;
710 case LUA_TSHRSTR:
711 luaS_remove(L, gco2ts(o)); /* remove it from hash table */
712 luaM_freemem(L, o, sizelstring(gco2ts(o)->shrlen));
713 break;
714 case LUA_TLNGSTR: {
715 luaM_freemem(L, o, sizelstring(gco2ts(o)->u.lnglen));
716 break;
717 }
718 default: lua_assert(0);
719 }
720}
721
722
723#define sweepwholelist(L,p) sweeplist(L,p,MAX_LUMEM)

Callers 1

sweeplistFunction · 0.85

Calls 5

luaF_freeprotoFunction · 0.85
freeLclosureFunction · 0.85
luaH_freeFunction · 0.85
luaE_freethreadFunction · 0.85
luaS_removeFunction · 0.85

Tested by

no test coverage detected