< prev index next >
src/share/vm/gc/parallel/psParallelCompact.cpp
Print this page
rev 13329 : [mq]: webrev.1
rev 13331 : imported patch webrev.3b
rev 13332 : [mq]: webrev.4
*** 1039,1049 ****
#if defined(COMPILER2) || INCLUDE_JVMCI
DerivedPointerTable::update_pointers();
#endif
! ref_processor()->enqueue_discovered_references(NULL);
if (ZapUnusedHeapArea) {
heap->gen_mangle_unused_area();
}
--- 1039,1053 ----
#if defined(COMPILER2) || INCLUDE_JVMCI
DerivedPointerTable::update_pointers();
#endif
! ReferenceProcessorPhaseTimes pt(&_gc_timer, ref_processor()->num_q());
!
! ref_processor()->enqueue_discovered_references(NULL, &pt);
!
! pt.print_enqueue_phase();
if (ZapUnusedHeapArea) {
heap->gen_mangle_unused_area();
}
*** 2101,2122 ****
// Process reference objects found during marking
{
GCTraceTime(Debug, gc, phases) tm("Reference Processing", &_gc_timer);
ReferenceProcessorStats stats;
if (ref_processor()->processing_is_mt()) {
RefProcTaskExecutor task_executor;
stats = ref_processor()->process_discovered_references(
is_alive_closure(), &mark_and_push_closure, &follow_stack_closure,
! &task_executor, &_gc_timer);
} else {
stats = ref_processor()->process_discovered_references(
is_alive_closure(), &mark_and_push_closure, &follow_stack_closure, NULL,
! &_gc_timer);
}
gc_tracer->report_gc_reference_stats(stats);
}
// This is the point where the entire marking should have completed.
assert(cm->marking_stacks_empty(), "Marking should have completed");
--- 2105,2128 ----
// Process reference objects found during marking
{
GCTraceTime(Debug, gc, phases) tm("Reference Processing", &_gc_timer);
ReferenceProcessorStats stats;
+ ReferenceProcessorPhaseTimes pt(&_gc_timer, ref_processor()->num_q());
if (ref_processor()->processing_is_mt()) {
RefProcTaskExecutor task_executor;
stats = ref_processor()->process_discovered_references(
is_alive_closure(), &mark_and_push_closure, &follow_stack_closure,
! &task_executor, &pt);
} else {
stats = ref_processor()->process_discovered_references(
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(cm->marking_stacks_empty(), "Marking should have completed");
< prev index next >