in src/sizes/retained_size_action.cpp [7:28]
static bool handleReferrersWithNoInfo(const jlong *referrerTagPtr, jlong *tagPtr, bool setTagsWithNewInfo=false) {
if (referrerTagPtr == nullptr || isEmptyTag(*referrerTagPtr)) {
if (*tagPtr == 0) {
*tagPtr = pointerToTag(&Tag::EmptyTag);
} else if (!isEmptyTag(*tagPtr)) {
Tag *referree = tagToPointer(*tagPtr);
if (setTagsWithNewInfo && referree->alreadyReferred) {
referree->unref();
*tagPtr = pointerToTag(&Tag::TagWithNewInfo);
} else {
referree->visitFromUntaggedReferrer();
}
}
return true;
} else if (isTagWithNewInfo(*referrerTagPtr) || *referrerTagPtr == 0 ||
tagToClassTagPointer(*referrerTagPtr)) {
return true;
}
return false;
}