< prev index next >

src/share/vm/gc/parallel/psMarkSweep.cpp

Print this page
rev 13329 : [mq]: webrev.1
rev 13331 : imported patch webrev.3b
rev 13332 : [mq]: webrev.4

@@ -252,11 +252,15 @@
 
 #if defined(COMPILER2) || INCLUDE_JVMCI
     DerivedPointerTable::update_pointers();
 #endif
 
-    ref_processor()->enqueue_discovered_references(NULL);
+    ReferenceProcessorPhaseTimes pt(_gc_timer, ref_processor()->num_q());
+
+    ref_processor()->enqueue_discovered_references(NULL, &pt);
+
+    pt.print_enqueue_phase();
 
     // Update time of last GC
     reset_millis_since_last_gc();
 
     // Let the size policy know we're done

@@ -526,14 +530,16 @@
   // Process reference objects found during marking
   {
     GCTraceTime(Debug, gc, phases) t("Reference Processing", _gc_timer);
 
     ref_processor()->setup_policy(clear_all_softrefs);
+    ReferenceProcessorPhaseTimes pt(_gc_timer, ref_processor()->num_q());
     const ReferenceProcessorStats& stats =
       ref_processor()->process_discovered_references(
-        is_alive_closure(), mark_and_push_closure(), follow_stack_closure(), NULL, _gc_timer);
+        is_alive_closure(), mark_and_push_closure(), follow_stack_closure(), NULL, &pt);
     gc_tracer()->report_gc_reference_stats(stats);
+    pt.print_all_references();
   }
 
   // This is the point where the entire marking should have completed.
   assert(_marking_stack.is_empty(), "Marking should have completed");
 
< prev index next >