Lines Matching refs:subobj
3043 static void visit_check(const upb_refcounted *obj, const upb_refcounted *subobj, in visit_check() argument
3052 assert(subobj); in visit_check()
3053 removed = upb_inttable_removeptr(ref2, subobj, &v); in visit_check()
3059 upb_inttable_insert2(ref2, (uintptr_t)subobj, upb_value_int32(newcount), in visit_check()
3156 const upb_refcounted *subobj,
3297 const upb_refcounted *subobj, in tarjan_visit() argument
3303 } else if (subobj->is_frozen || color(t, subobj) == WHITE) { in tarjan_visit()
3306 } else if (color(t, subobj) < GREEN) { in tarjan_visit()
3308 do_tarjan(subobj, t); in tarjan_visit()
3309 set_lowlink(t, obj, UPB_MIN(lowlink(t, obj), lowlink(t, subobj))); in tarjan_visit()
3310 } else if (color(t, subobj) == GREEN) { in tarjan_visit()
3312 set_lowlink(t, obj, UPB_MIN(lowlink(t, obj), idx(t, subobj))); in tarjan_visit()
3336 static void crossref(const upb_refcounted *r, const upb_refcounted *subobj, in crossref() argument
3340 if (color(t, subobj) > BLACK && r->group != subobj->group) { in crossref()
3343 refgroup(subobj->group); in crossref()
3528 const upb_refcounted *subobj, in release_ref2() argument
3531 untrack(subobj, obj, true); in release_ref2()
3532 if (!merged(obj, subobj)) { in release_ref2()
3533 assert(subobj->is_frozen); in release_ref2()
3534 unref(subobj); in release_ref2()