jobjectArray RetainedAndShallowSizeByClassesAction::executeOperation()

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;
}