--- old/src/share/vm/gc/g1/g1CollectedHeap.cpp 2017-06-12 10:25:09.190269168 -0700 +++ new/src/share/vm/gc/g1/g1CollectedHeap.cpp 2017-06-12 10:25:09.070269635 -0700 @@ -75,6 +75,7 @@ #include "memory/resourceArea.hpp" #include "oops/oop.inline.hpp" #include "runtime/atomic.hpp" +#include "runtime/heapMonitoring.hpp" #include "runtime/init.hpp" #include "runtime/orderAccess.inline.hpp" #include "runtime/vmThread.hpp" @@ -4507,6 +4508,7 @@ G1STWIsAliveClosure is_alive(this); G1KeepAliveClosure keep_alive(this); + HeapMonitoring::do_weak_oops(NULL, &is_alive, &keep_alive, NULL); G1StringDedup::unlink_or_oops_do(&is_alive, &keep_alive, true, g1_policy()->phase_times()); double fixup_time_ms = (os::elapsedTime() - fixup_start) * 1000.0;