src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp
Print this page
*** 794,810 ****
"old above young");
_young_generation_boundary = young_gen->eden_space()->bottom();
// Initialize ref handling object for scavenging.
MemRegion mr = young_gen->reserved();
! _ref_processor = ReferenceProcessor::create_ref_processor(
! mr, // span
true, // atomic_discovery
! true, // mt_discovery
! NULL, // is_alive_non_header
! ParallelGCThreads,
! ParallelRefProcEnabled);
// Cache the cardtable
BarrierSet* bs = Universe::heap()->barrier_set();
assert(bs->kind() == BarrierSet::CardTableModRef, "Wrong barrier set kind");
_card_table = (CardTableExtension*)bs;
--- 794,812 ----
"old above young");
_young_generation_boundary = young_gen->eden_space()->bottom();
// Initialize ref handling object for scavenging.
MemRegion mr = young_gen->reserved();
! _ref_processor =
! new ReferenceProcessor(mr, // span
! ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing
! ParallelGCThreads, // mt processing degree
! true, // mt discovery
! ParallelGCThreads, // mt discovery degree
true, // atomic_discovery
! NULL, // header provides liveness info
! false); // next field updates do not need write barrier
// Cache the cardtable
BarrierSet* bs = Universe::heap()->barrier_set();
assert(bs->kind() == BarrierSet::CardTableModRef, "Wrong barrier set kind");
_card_table = (CardTableExtension*)bs;