obj2gco
if (owner) *owner = obj2gco(f);
if (owner) *owner = obj2gco(f->upvals[n - 1]);
GCObject *o = obj2gco(p);
lua_assert(!isold(o) || isold(obj2gco(L)));
GCObject *o = obj2gco(uv);
#define linktable(h,p) ((h)->gclist = *(p), *(p) = obj2gco(h))
lua_assert(!iswhite(obj2gco(g->mainthread)));
GCObject *mt = obj2gco(g->mainthread);
lua_assert(isblack(obj2gco(p)));
black2gray(obj2gco(p)); /* make prototype gray (again) */
g->grayagain = obj2gco(p);
GCObject *o = obj2gco(uv);
GCObject *o = obj2gco(raw + offset);
if (isgray(obj2gco(uv)))
black2gray(obj2gco(h)); /* keep table gray */
if (f->cache && iswhite(obj2gco(f->cache)))
#define markobject(g,t) { if ((t) && iswhite(obj2gco(t))) \
reallymarkobject(g, obj2gco(t)); }
#define luaC_barrier(L,p,v) { if (valiswhite(v) && isblack(obj2gco(p))) \
luaC_barrier_(L,obj2gco(p),gcvalue(v)); }
#define luaC_barrierback(L,p,v) { if (valiswhite(v) && isblack(obj2gco(p))) \
{ if (iswhite(obj2gco(o)) && isblack(obj2gco(p))) \
luaC_barrier_(L,obj2gco(p),obj2gco(o)); }
{ if (iswhite(obj2gco(o)) && isblack(obj2gco(p))) luaC_barrierback_(L,p); }
{ if (isblack(obj2gco(p))) luaC_barrierproto_(L,p,c); }
luaC_barrierback(L, obj2gco(t), key);
luaC_barrierback(L, obj2gco(h), val);
luaC_barrierback(L, obj2gco(h), val);