--- old/src/hotspot/share/gc/shared/weakProcessor.cpp 2017-10-16 16:18:36.304030752 +0200 +++ new/src/hotspot/share/gc/shared/weakProcessor.cpp 2017-10-16 16:18:36.028021610 +0200 @@ -24,6 +24,7 @@ #include "precompiled.hpp" #include "gc/shared/weakProcessor.hpp" +#include "prims/jvmtiExport.hpp" #include "runtime/jniHandles.hpp" void WeakProcessor::unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* keep_alive, VoidClosure* complete) { @@ -31,9 +32,15 @@ if (complete != NULL) { complete->do_void(); } + + JvmtiExport::weak_oops_do(is_alive, keep_alive); + if (complete != NULL) { + complete->do_void(); + } } void WeakProcessor::oops_do(OopClosure* closure) { AlwaysTrueClosure always_true; JNIHandles::weak_oops_do(&always_true, closure); + JvmtiExport::weak_oops_do(&always_true, closure); }