< 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 >