--- old/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp 2018-04-17 15:16:12.738242210 +0200 +++ new/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp 2018-04-17 15:16:12.439233011 +0200 @@ -289,13 +289,13 @@ if (_ref_processor == NULL) { // Allocate and initialize a reference processor _ref_processor = - new ReferenceProcessor(_span, // span - (ParallelGCThreads > 1) && ParallelRefProcEnabled, // mt processing - ParallelGCThreads, // mt processing degree - _cmsGen->refs_discovery_is_mt(), // mt discovery - MAX2(ConcGCThreads, ParallelGCThreads), // mt discovery degree - _cmsGen->refs_discovery_is_atomic(), // discovery is not atomic - &_is_alive_closure); // closure for liveness info + new SpanReferenceProcessor(_span, // span + (ParallelGCThreads > 1) && ParallelRefProcEnabled, // mt processing + ParallelGCThreads, // mt processing degree + _cmsGen->refs_discovery_is_mt(), // mt discovery + MAX2(ConcGCThreads, ParallelGCThreads), // mt discovery degree + _cmsGen->refs_discovery_is_atomic(), // discovery is not atomic + &_is_alive_closure); // closure for liveness info // Initialize the _ref_processor field of CMSGen _cmsGen->set_ref_processor(_ref_processor); @@ -3743,7 +3743,6 @@ } } - size_t CMSCollector::preclean_work(bool clean_refs, bool clean_survivor) { assert(_collectorState == Precleaning || _collectorState == AbortablePreclean, "incorrect state"); @@ -3752,7 +3751,7 @@ // Precleaning is currently not MT but the reference processor // may be set for MT. Disable it temporarily here. - ReferenceProcessor* rp = ref_processor(); + SpanReferenceProcessor* rp = ref_processor(); ReferenceProcessorMTDiscoveryMutator rp_mut_discovery(rp, false); // Do one pass of scrubbing the discovered reference lists @@ -5172,7 +5171,7 @@ ResourceMark rm; HandleMark hm; - ReferenceProcessor* rp = ref_processor(); + SpanReferenceProcessor* rp = ref_processor(); assert(rp->span().equals(_span), "Spans should be equal"); assert(!rp->enqueuing_is_done(), "Enqueuing should not be complete"); // Process weak references.