in src/sizes/shallow_size_by_classes.cpp [22:37]
void ShallowSizeByClassesAction::tagClasses(jobjectArray classesArray) {
for (jsize i = 0; i < env->GetArrayLength(classesArray); i++) {
jobject classObject = env->GetObjectArrayElement(classesArray, i);
jvmtiError err = tagClassAndItsInheritors(env, jvmti, classObject, [i](jlong oldTag) -> jlong {
ClassTag *classTag = tagToClassTagPointer(oldTag);
if (classTag != nullptr) {
classTag->ids.push_back(i);
} else {
return pointerToTag(ClassTag::create(static_cast<query_size_t>(i)));
}
return 0;
});
handleError(jvmti, err, "could not set getTag for class object");
}
}