< prev index next >

src/share/vm/gc/g1/g1CollectedHeap.cpp

Print this page

        

@@ -73,10 +73,11 @@
 #include "memory/allocation.hpp"
 #include "memory/iterator.hpp"
 #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"
 #include "utilities/globalDefinitions.hpp"
 #include "utilities/stack.inline.hpp"

@@ -4505,10 +4506,11 @@
   if (G1StringDedup::is_enabled()) {
     double fixup_start = os::elapsedTime();
 
     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;
     g1_policy()->phase_times()->record_string_dedup_fixup_time(fixup_time_ms);
   }
< prev index next >