in src/sizes/retained_size_via_dominator_tree.cpp [18:44]
jvmtiError initAndSetTagsForObjects(JNIEnv *env, jvmtiEnv *jvmti, jobjectArray objects) {
jvmtiError err = JVMTI_ERROR_NONE;
jsize size = env->GetArrayLength(objects);
for (jsize i = 0; i < size; i++) {
jobject object = env->GetObjectArrayElement(objects, i);
jlong objectTag;
err = jvmti->GetTag(object, &objectTag);
if (!isOk(err)) return err;
if (objectTag != 0 && objectTag != OBJECT_OF_CLASS_TAG)
continue;
jlong tag = currentTag++;
err = jvmti->SetTag(object, tag);
if (!isOk(err)) return err;
jlong objectSize;
err = jvmti->GetObjectSize(object, &objectSize);
if (!isOk(err)) return err;
graph.emplace_back();
sizes.push_back(objectSize);
}
lastStartTag = currentTag - 1;
wasVisitedDuringFirstTraversal.resize(currentTag);
return err;
}