hotspot/src/share/vm/gc/g1/g1ConcurrentMark.cpp
changeset 46795 623a5e42deb6
parent 46752 a2b799e3f0be
child 46810 7dad333205cd
--- a/hotspot/src/share/vm/gc/g1/g1ConcurrentMark.cpp	Thu Aug 10 12:16:35 2017 -0700
+++ b/hotspot/src/share/vm/gc/g1/g1ConcurrentMark.cpp	Thu Aug 10 18:09:19 2017 -0700
@@ -1660,14 +1660,17 @@
     // Reference lists are balanced (see balance_all_queues() and balance_queues()).
     rp->set_active_mt_degree(active_workers);
 
+    ReferenceProcessorPhaseTimes pt(_gc_timer_cm, rp->num_q());
+
     // Process the weak references.
     const ReferenceProcessorStats& stats =
         rp->process_discovered_references(&g1_is_alive,
                                           &g1_keep_alive,
                                           &g1_drain_mark_stack,
                                           executor,
-                                          _gc_timer_cm);
+                                          &pt);
     _gc_tracer_cm->report_gc_reference_stats(stats);
+    pt.print_all_references();
 
     // The do_oop work routines of the keep_alive and drain_marking_stack
     // oop closures will set the has_overflown flag if we overflow the
@@ -1678,9 +1681,12 @@
 
     assert(rp->num_q() == active_workers, "why not");
 
-    rp->enqueue_discovered_references(executor);
+    rp->enqueue_discovered_references(executor, &pt);
 
     rp->verify_no_references_recorded();
+
+    pt.print_enqueue_phase();
+
     assert(!rp->discovery_enabled(), "Post condition");
   }