in src/sizes/retained_size_by_objects.cpp [22:35]
jvmtiError RetainedSizeByObjectsAction::createTagForObject(jobject object, size_t index) {
jlong oldTag;
jvmtiError err = jvmti->GetTag(object, &oldTag);
if (!isOk(err)) return err;
Tag *tag = Tag::create(index, createState(true, true, false, false));
if (oldTag != 0 && !isTagWithNewInfo(oldTag)) {
tagToPointer(oldTag)->array.extend(tag->array);
delete tag;
} else {
err = jvmti->SetTag(object, pointerToTag(tag));
}
return err;
}