in src/memory_agent_action.hpp [70:85]
jvmtiError MemoryAgentAction<RESULT_TYPE, ARGS_TYPES...>::FollowReferences(jint heapFilter, jclass klass, jobject initialObject,
jvmtiHeapReferenceCallback callback, void *userData,
const char *debugMessage) const {
if (shouldStopExecution()) return MEMORY_AGENT_INTERRUPTED_ERROR;
if (debugMessage) {
logger::debug(debugMessage);
}
jvmtiHeapCallbacks cb;
std::memset(&cb, 0, sizeof(jvmtiHeapCallbacks));
cb.heap_reference_callback = followReferencesCallbackWrapper;
CallbackWrapperData wrapperData(reinterpret_cast<void *>(callback), userData, dynamic_cast<const CancellationChecker *>(this));
return jvmti->FollowReferences(heapFilter, klass, initialObject, &cb, &wrapperData);
}