src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.cpp
changeset 49967 672ded60a082
parent 47885 5caa1d5f74c1
child 50049 9d17c375dc30
equal deleted inserted replaced
49966:cac87c923310 49967:672ded60a082
    32 #include "gc/shared/referenceProcessor.hpp"
    32 #include "gc/shared/referenceProcessor.hpp"
    33 
    33 
    34 G1FullGCReferenceProcessingExecutor::G1FullGCReferenceProcessingExecutor(G1FullCollector* collector) :
    34 G1FullGCReferenceProcessingExecutor::G1FullGCReferenceProcessingExecutor(G1FullCollector* collector) :
    35     _collector(collector),
    35     _collector(collector),
    36     _reference_processor(collector->reference_processor()),
    36     _reference_processor(collector->reference_processor()),
    37     _old_mt_degree(_reference_processor->num_q()) {
    37     _old_mt_degree(_reference_processor->num_queues()) {
    38   if (_reference_processor->processing_is_mt()) {
    38   if (_reference_processor->processing_is_mt()) {
    39     _reference_processor->set_active_mt_degree(_collector->workers());
    39     _reference_processor->set_active_mt_degree(_collector->workers());
    40   }
    40   }
    41 }
    41 }
    42 
    42 
    90   GCTraceTime(Debug, gc, phases) debug("Phase 1: Reference Processing", timer);
    90   GCTraceTime(Debug, gc, phases) debug("Phase 1: Reference Processing", timer);
    91   // Process reference objects found during marking.
    91   // Process reference objects found during marking.
    92   G1FullGCMarker* marker = _collector->marker(0);
    92   G1FullGCMarker* marker = _collector->marker(0);
    93   G1IsAliveClosure is_alive(_collector->mark_bitmap());
    93   G1IsAliveClosure is_alive(_collector->mark_bitmap());
    94   G1FullKeepAliveClosure keep_alive(marker);
    94   G1FullKeepAliveClosure keep_alive(marker);
    95   ReferenceProcessorPhaseTimes pt(timer, _reference_processor->num_q());
    95   ReferenceProcessorPhaseTimes pt(timer, _reference_processor->num_queues());
    96   AbstractRefProcTaskExecutor* executor = _reference_processor->processing_is_mt() ? this : NULL;
    96   AbstractRefProcTaskExecutor* executor = _reference_processor->processing_is_mt() ? this : NULL;
    97 
    97 
    98   // Process discovered references, use this executor if multi-threaded
    98   // Process discovered references, use this executor if multi-threaded
    99   // processing is enabled.
    99   // processing is enabled.
   100   const ReferenceProcessorStats& stats =
   100   const ReferenceProcessorStats& stats =