--- old/src/share/vm/gc/g1/g1MarkSweep.cpp 2017-05-22 08:52:07.907062274 -0700 +++ new/src/share/vm/gc/g1/g1MarkSweep.cpp 2017-05-22 08:52:07.799062689 -0700 @@ -250,6 +250,7 @@ // Now adjust pointers in remaining weak roots. (All of which should // have been cleared if they pointed to non-surviving objects.) JNIHandles::weak_oops_do(&GenMarkSweep::adjust_pointer_closure); + HeapMonitoring::do_weak_oops(&GenMarkSweep::adjust_pointer_closure); if (G1StringDedup::is_enabled()) { G1StringDedup::oops_do(&GenMarkSweep::adjust_pointer_closure);