MCPcopy Create free account
hub / github.com/RomanKubiak/ctrlr / luaC_barrierf

Function luaC_barrierf

Source/Misc/lua/src/lua.c:6664–6674  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6662
6663
6664void luaC_barrierf (lua_State *L, GCObject *o, GCObject *v) {
6665global_State *g = G(L);
6666lua_assert(isblack(o) && iswhite(v) && !isdead(g, v) && !isdead(g, o));
6667lua_assert(g->gcstate != GCSfinalize && g->gcstate != GCSpause);
6668lua_assert(ttype(&o->gch) != LUA_TTABLE);
6669/* must keep invariant? */
6670if (g->gcstate == GCSpropagate)
6671reallymarkobject(g, v); /* restore invariant */
6672else /* don't mind */
6673makewhite(g, o); /* mark as white just to avoid other barriers */
6674}
6675
6676
6677void luaC_barrierback (lua_State *L, Table *t) {

Callers

nothing calls this directly

Calls 1

reallymarkobjectFunction · 0.85

Tested by

no test coverage detected