MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / freeobj

Function freeobj

deps/lua/src/lgc.c:378–400  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

376
377
378static void freeobj (lua_State *L, GCObject *o) {
379 switch (o->gch.tt) {
380 case LUA_TPROTO: luaF_freeproto(L, gco2p(o)); break;
381 case LUA_TFUNCTION: luaF_freeclosure(L, gco2cl(o)); break;
382 case LUA_TUPVAL: luaF_freeupval(L, gco2uv(o)); break;
383 case LUA_TTABLE: luaH_free(L, gco2h(o)); break;
384 case LUA_TTHREAD: {
385 lua_assert(gco2th(o) != L && gco2th(o) != G(L)->mainthread);
386 luaE_freethread(L, gco2th(o));
387 break;
388 }
389 case LUA_TSTRING: {
390 G(L)->strt.nuse--;
391 luaM_freemem(L, o, sizestring(gco2ts(o)));
392 break;
393 }
394 case LUA_TUSERDATA: {
395 luaM_freemem(L, o, sizeudata(gco2u(o)));
396 break;
397 }
398 default: lua_assert(0);
399 }
400}
401
402
403

Callers 1

sweeplistFunction · 0.85

Calls 5

luaF_freeprotoFunction · 0.85
luaF_freeclosureFunction · 0.85
luaF_freeupvalFunction · 0.85
luaH_freeFunction · 0.85
luaE_freethreadFunction · 0.85

Tested by

no test coverage detected