< prev index next >

src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.cpp

Print this page
rev 49834 : [mq]: 8202021-cleanup-referenceprocessor
rev 49836 : [mq]: 8202017-reference-processor-remove-enqueue


  91   // Process reference objects found during marking.
  92   G1FullGCMarker* marker = _collector->marker(0);
  93   G1IsAliveClosure is_alive(_collector->mark_bitmap());
  94   G1FullKeepAliveClosure keep_alive(marker);
  95   ReferenceProcessorPhaseTimes pt(timer, _reference_processor->num_queues());
  96   AbstractRefProcTaskExecutor* executor = _reference_processor->processing_is_mt() ? this : NULL;
  97 
  98   // Process discovered references, use this executor if multi-threaded
  99   // processing is enabled.
 100   const ReferenceProcessorStats& stats =
 101       _reference_processor->process_discovered_references(&is_alive,
 102                                                           &keep_alive,
 103                                                           marker->stack_closure(),
 104                                                           executor,
 105                                                           &pt);
 106 
 107   tracer->report_gc_reference_stats(stats);
 108   pt.print_all_references();
 109 
 110   assert(marker->oop_stack()->is_empty(), "Should be no oops on the stack");
 111 
 112   // Now enqueue the references.
 113   _reference_processor->enqueue_discovered_references(executor, &pt);
 114   pt.print_enqueue_phase();
 115 }


  91   // Process reference objects found during marking.
  92   G1FullGCMarker* marker = _collector->marker(0);
  93   G1IsAliveClosure is_alive(_collector->mark_bitmap());
  94   G1FullKeepAliveClosure keep_alive(marker);
  95   ReferenceProcessorPhaseTimes pt(timer, _reference_processor->num_queues());
  96   AbstractRefProcTaskExecutor* executor = _reference_processor->processing_is_mt() ? this : NULL;
  97 
  98   // Process discovered references, use this executor if multi-threaded
  99   // processing is enabled.
 100   const ReferenceProcessorStats& stats =
 101       _reference_processor->process_discovered_references(&is_alive,
 102                                                           &keep_alive,
 103                                                           marker->stack_closure(),
 104                                                           executor,
 105                                                           &pt);
 106 
 107   tracer->report_gc_reference_stats(stats);
 108   pt.print_all_references();
 109 
 110   assert(marker->oop_stack()->is_empty(), "Should be no oops on the stack");




 111 }
< prev index next >