src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hs-gc-g1-mmap Cdiff src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp

src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp

Print this page

        

*** 163,176 **** _recorded_survivor_tail(NULL), _survivors_age_table(true), _gc_overhead_perc(0.0) { // Set up the region size and associated fields. Given that the // policy is created before the heap, we have to set this up here, ! // so it's done as soon as possible. ! HeapRegion::setup_heap_region_size(Arguments::min_heap_size()); HeapRegionRemSet::setup_remset_size(); G1ErgoVerbose::initialize(); if (PrintAdaptiveSizePolicy) { // Currently, we only use a single switch for all the heuristics. --- 163,186 ---- _recorded_survivor_tail(NULL), _survivors_age_table(true), _gc_overhead_perc(0.0) { + G1Log::init(); + // Set up the region size and associated fields. Given that the // policy is created before the heap, we have to set this up here, ! // so it's done as soon as possible ! ! // It would have been natural to pass initial_heap_byte_size() and ! // max_heap_byte_size() to setup_heap_region_size() but those have ! // not been set up at this point since they should be aligned with ! // the region size. So, there is a circular dependency here. We base ! // the region size on the heap size, but the heap size should be ! // aligned with the region size. To get around this we use the ! // unaligned values for the heap. ! HeapRegion::setup_heap_region_size(InitialHeapSize, MaxHeapSize); HeapRegionRemSet::setup_remset_size(); G1ErgoVerbose::initialize(); if (PrintAdaptiveSizePolicy) { // Currently, we only use a single switch for all the heuristics.
src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File