1606 1607 void ParNewGeneration::ref_processor_init() 1608 { 1609 if (_ref_processor == NULL) { 1610 // Allocate and initialize a reference processor 1611 _ref_processor = 1612 new ReferenceProcessor(_reserved, // span 1613 ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing 1614 (int) ParallelGCThreads, // mt processing degree 1615 refs_discovery_is_mt(), // mt discovery 1616 (int) ParallelGCThreads, // mt discovery degree 1617 refs_discovery_is_atomic(), // atomic_discovery 1618 NULL, // is_alive_non_header 1619 false); // write barrier for next field updates 1620 } 1621 } 1622 1623 const char* ParNewGeneration::name() const { 1624 return "par new generation"; 1625 } 1626 1627 bool ParNewGeneration::in_use() { 1628 return UseParNewGC && ParallelGCThreads > 0; 1629 } | 1606 1607 void ParNewGeneration::ref_processor_init() 1608 { 1609 if (_ref_processor == NULL) { 1610 // Allocate and initialize a reference processor 1611 _ref_processor = 1612 new ReferenceProcessor(_reserved, // span 1613 ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing 1614 (int) ParallelGCThreads, // mt processing degree 1615 refs_discovery_is_mt(), // mt discovery 1616 (int) ParallelGCThreads, // mt discovery degree 1617 refs_discovery_is_atomic(), // atomic_discovery 1618 NULL, // is_alive_non_header 1619 false); // write barrier for next field updates 1620 } 1621 } 1622 1623 const char* ParNewGeneration::name() const { 1624 return "par new generation"; 1625 } |