The static JvmtiExport::weak_oops_do function is called whenever the member function JNIHandleBlock::weak_oops_do is called on an instance of JNIHandleBlock.
Today, this isn't causing any bugs because there's only one instance of JNIHanldeBlock, the _weak_global_handles. However, in prototypes with more than one JNIHandleBlocks, this results in multiple calls to JvmtiExport::weak_oops_do.
Today, this isn't causing any bugs because there's only one instance of JNIHanldeBlock, the _weak_global_handles. However, in prototypes with more than one JNIHandleBlocks, this results in multiple calls to JvmtiExport::weak_oops_do.