src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/gc_implementation/parallelScavenge

src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp

Print this page




 141     max_eden_size = size - 2 * max_survivor_size;
 142   }
 143 
 144   _eden_counters = new SpaceCounters("eden", 0, max_eden_size, _eden_space,
 145                                      _gen_counters);
 146   _from_counters = new SpaceCounters("s0", 1, max_survivor_size, _from_space,
 147                                      _gen_counters);
 148   _to_counters = new SpaceCounters("s1", 2, max_survivor_size, _to_space,
 149                                    _gen_counters);
 150 
 151   compute_initial_space_boundaries();
 152 }
 153 
 154 void PSYoungGen::compute_initial_space_boundaries() {
 155   ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
 156   assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity");
 157 
 158   // Compute sizes
 159   size_t alignment = heap->intra_heap_alignment();
 160   size_t size = virtual_space()->committed_size();

 161 
 162   size_t survivor_size = size / InitialSurvivorRatio;
 163   survivor_size = align_size_down(survivor_size, alignment);
 164   // ... but never less than an alignment
 165   survivor_size = MAX2(survivor_size, alignment);
 166 
 167   // Young generation is eden + 2 survivor spaces
 168   size_t eden_size = size - (2 * survivor_size);
 169 
 170   // Now go ahead and set 'em.
 171   set_space_boundaries(eden_size, survivor_size);
 172   space_invariants();
 173 
 174   if (UsePerfData) {
 175     _eden_counters->update_capacity();
 176     _from_counters->update_capacity();
 177     _to_counters->update_capacity();
 178   }
 179 }
 180 




 141     max_eden_size = size - 2 * max_survivor_size;
 142   }
 143 
 144   _eden_counters = new SpaceCounters("eden", 0, max_eden_size, _eden_space,
 145                                      _gen_counters);
 146   _from_counters = new SpaceCounters("s0", 1, max_survivor_size, _from_space,
 147                                      _gen_counters);
 148   _to_counters = new SpaceCounters("s1", 2, max_survivor_size, _to_space,
 149                                    _gen_counters);
 150 
 151   compute_initial_space_boundaries();
 152 }
 153 
 154 void PSYoungGen::compute_initial_space_boundaries() {
 155   ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
 156   assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity");
 157 
 158   // Compute sizes
 159   size_t alignment = heap->intra_heap_alignment();
 160   size_t size = virtual_space()->committed_size();
 161   assert(size >= 3 * alignment, "Young space is not large enough for eden + 2 survivors");
 162 
 163   size_t survivor_size = size / InitialSurvivorRatio;
 164   survivor_size = align_size_down(survivor_size, alignment);
 165   // ... but never less than an alignment
 166   survivor_size = MAX2(survivor_size, alignment);
 167 
 168   // Young generation is eden + 2 survivor spaces
 169   size_t eden_size = size - (2 * survivor_size);
 170 
 171   // Now go ahead and set 'em.
 172   set_space_boundaries(eden_size, survivor_size);
 173   space_invariants();
 174 
 175   if (UsePerfData) {
 176     _eden_counters->update_capacity();
 177     _from_counters->update_capacity();
 178     _to_counters->update_capacity();
 179   }
 180 }
 181 


src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File