< 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 >