< prev index next >

src/hotspot/share/gc/parallel/psScavenge.cpp

Print this page
rev 49944 : imported patch 8201492-properly-implement-non-contiguous-reference-processing
rev 49945 : imported patch 8201492-stefanj-review

*** 58,68 **** #include "services/memoryService.hpp" #include "utilities/stack.inline.hpp" HeapWord* PSScavenge::_to_space_top_before_gc = NULL; int PSScavenge::_consecutive_skipped_scavenges = 0; ! SpanReferenceProcessor* PSScavenge::_ref_processor = NULL; PSCardTable* PSScavenge::_card_table = NULL; bool PSScavenge::_survivor_overflow = false; uint PSScavenge::_tenuring_threshold = 0; HeapWord* PSScavenge::_young_generation_boundary = NULL; uintptr_t PSScavenge::_young_generation_boundary_compressed = 0; --- 58,69 ---- #include "services/memoryService.hpp" #include "utilities/stack.inline.hpp" HeapWord* PSScavenge::_to_space_top_before_gc = NULL; int PSScavenge::_consecutive_skipped_scavenges = 0; ! SpanSubjectToDiscoveryClosure PSScavenge::_span_discoverer; ! ReferenceProcessor* PSScavenge::_ref_processor = NULL; PSCardTable* PSScavenge::_card_table = NULL; bool PSScavenge::_survivor_overflow = false; uint PSScavenge::_tenuring_threshold = 0; HeapWord* PSScavenge::_young_generation_boundary = NULL; uintptr_t PSScavenge::_young_generation_boundary_compressed = 0;
*** 764,777 **** assert(old_gen->reserved().end() <= young_gen->eden_space()->bottom(), "old above young"); set_young_generation_boundary(young_gen->eden_space()->bottom()); // Initialize ref handling object for scavenging. ! MemRegion mr = young_gen->reserved(); ! _ref_processor = ! new SpanReferenceProcessor(mr, // span ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing ParallelGCThreads, // mt processing degree true, // mt discovery ParallelGCThreads, // mt discovery degree true, // atomic_discovery --- 765,777 ---- assert(old_gen->reserved().end() <= young_gen->eden_space()->bottom(), "old above young"); set_young_generation_boundary(young_gen->eden_space()->bottom()); // Initialize ref handling object for scavenging. ! _span_discoverer.set_span(young_gen->reserved()); _ref_processor = ! new ReferenceProcessor(&_span_discoverer, // span ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing ParallelGCThreads, // mt processing degree true, // mt discovery ParallelGCThreads, // mt discovery degree true, // atomic_discovery
< prev index next >