--- a/hotspot/src/share/vm/gc/parallel/psMarkSweep.cpp Thu Aug 10 12:16:35 2017 -0700
+++ b/hotspot/src/share/vm/gc/parallel/psMarkSweep.cpp Thu Aug 10 18:09:19 2017 -0700
@@ -254,7 +254,11 @@
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();
@@ -528,10 +532,12 @@
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.