in src/memory_agent_action.hpp [30:47]
jobjectArray MemoryAgentAction<RESULT_TYPE, ARGS_TYPES...>::run(ARGS_TYPES... args) {
ThreadSuspender suspender(jvmti);
progressManager.updateProgress(0, "Operation starting...");
RESULT_TYPE result = executeOperation(args...);
progressManager.updateProgress(99, "Cleaning heap...");
jvmtiError err = cleanHeap();
progressManager.updateProgress(100, "Finished!");
if (err != JVMTI_ERROR_NONE) {
handleError(jvmti, err, "Couldn't clean heap");
}
jclass langObject = env->FindClass("java/lang/Object");
jobjectArray returnValue = env->NewObjectArray(2, langObject, nullptr);
env->SetObjectArrayElement(returnValue, 0, toJavaArray(env, static_cast<jint>(getErrorCode())));
env->SetObjectArrayElement(returnValue, 1, result);
std::remove(cancellationFileName.c_str());
return returnValue;
}