src/share/vm/gc_implementation/parNew/parNewGeneration.cpp

Print this page

        

@@ -1528,17 +1528,19 @@
 
 void ParNewGeneration::ref_processor_init()
 {
   if (_ref_processor == NULL) {
     // Allocate and initialize a reference processor
-    _ref_processor = ReferenceProcessor::create_ref_processor(
-        _reserved,                  // span
+    _ref_processor =
+      new ReferenceProcessor(_reserved,                  // span
+                             ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing
+                             ParallelGCThreads,          // mt processing degree
+                             refs_discovery_is_mt(),     // mt discovery
+                             ParallelGCThreads,          // mt discovery degree
         refs_discovery_is_atomic(), // atomic_discovery
-        refs_discovery_is_mt(),     // mt_discovery
         NULL,                       // is_alive_non_header
-        ParallelGCThreads,
-        ParallelRefProcEnabled);
+                             false);                     // write barrier for next field updates
   }
 }
 
 const char* ParNewGeneration::name() const {
   return "par new generation";