in src/sizes/retained_size_by_classes.cpp [95:108]
jobjectArray RetainedAndShallowSizeByClassesAction::executeOperation(jobjectArray classesArray) {
std::vector<jlong> shallowSizes;
std::vector<jlong> retainedSizes;
jvmtiError err = getShallowAndRetainedSizeByClasses(classesArray,shallowSizes, retainedSizes);
jclass langObject = env->FindClass("java/lang/Object");
jobjectArray result = env->NewObjectArray(2, langObject, nullptr);
env->SetObjectArrayElement(result, 0, toJavaArray(env, shallowSizes));
env->SetObjectArrayElement(result, 1, toJavaArray(env, retainedSizes));
if (!isOk(err)) {
handleError(jvmti, err, "Could not estimate retained size by classes");
}
return result;
}