MCPcopy Create free account
hub / github.com/EmmyLua/EmmyLuaDebugger / freeobj

Function freeobj

third-party/lua-5.2.4/src/lgc.c:663–687  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

661
662
663static void freeobj (lua_State *L, GCObject *o) {
664 switch (gch(o)->tt) {
665 case LUA_TPROTO: luaF_freeproto(L, gco2p(o)); break;
666 case LUA_TLCL: {
667 luaM_freemem(L, o, sizeLclosure(gco2lcl(o)->nupvalues));
668 break;
669 }
670 case LUA_TCCL: {
671 luaM_freemem(L, o, sizeCclosure(gco2ccl(o)->nupvalues));
672 break;
673 }
674 case LUA_TUPVAL: luaF_freeupval(L, gco2uv(o)); break;
675 case LUA_TTABLE: luaH_free(L, gco2t(o)); break;
676 case LUA_TTHREAD: luaE_freethread(L, gco2th(o)); break;
677 case LUA_TUSERDATA: luaM_freemem(L, o, sizeudata(gco2u(o))); break;
678 case LUA_TSHRSTR:
679 G(L)->strt.nuse--;
680 /* go through */
681 case LUA_TLNGSTR: {
682 luaM_freemem(L, o, sizestring(gco2ts(o)));
683 break;
684 }
685 default: lua_assert(0);
686 }
687}
688
689
690#define sweepwholelist(L,p) sweeplist(L,p,MAX_LUMEM)

Callers 1

sweeplistFunction · 0.70

Calls 4

luaF_freeprotoFunction · 0.70
luaF_freeupvalFunction · 0.70
luaH_freeFunction · 0.70
luaE_freethreadFunction · 0.70

Tested by

no test coverage detected