comparison src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp @ 13:183f41cf8bfe

6557851: CMS: ergonomics defaults are not set with FLAG_SET_ERGO Summary: Default values set by cms ergonomics are set with FLAG_SET_DEFAULT so down stream the values look like the default values and affect how later parameters are set. Set these values with FLAG_SET_ERGO instead and adjust how later parameters are interpreted. Reviewed-by: iveresov, apetrusenko, pbk, ysr
author jmasa
date Sun, 02 Mar 2008 16:10:12 -0800
parents a61af66fc99e
children d1605aabd0a1 12eea04c8b06
comparison
equal deleted inserted replaced
12:6432c3bb6240 13:183f41cf8bfe
86 // Generation Counters - generation 0, 3 subspaces 86 // Generation Counters - generation 0, 3 subspaces
87 _gen_counters = new PSGenerationCounters("new", 0, 3, _virtual_space); 87 _gen_counters = new PSGenerationCounters("new", 0, 3, _virtual_space);
88 88
89 // Compute maximum space sizes for performance counters 89 // Compute maximum space sizes for performance counters
90 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap(); 90 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
91 size_t alignment = heap->intra_generation_alignment(); 91 size_t alignment = heap->intra_heap_alignment();
92 size_t size = _virtual_space->reserved_size(); 92 size_t size = _virtual_space->reserved_size();
93 93
94 size_t max_survivor_size; 94 size_t max_survivor_size;
95 size_t max_eden_size; 95 size_t max_eden_size;
96 96
139 void PSYoungGen::compute_initial_space_boundaries() { 139 void PSYoungGen::compute_initial_space_boundaries() {
140 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap(); 140 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
141 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity"); 141 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity");
142 142
143 // Compute sizes 143 // Compute sizes
144 size_t alignment = heap->intra_generation_alignment(); 144 size_t alignment = heap->intra_heap_alignment();
145 size_t size = _virtual_space->committed_size(); 145 size_t size = _virtual_space->committed_size();
146 146
147 size_t survivor_size = size / InitialSurvivorRatio; 147 size_t survivor_size = size / InitialSurvivorRatio;
148 survivor_size = align_size_down(survivor_size, alignment); 148 survivor_size = align_size_down(survivor_size, alignment);
149 // ... but never less than an alignment 149 // ... but never less than an alignment
190 } 190 }
191 191
192 #ifndef PRODUCT 192 #ifndef PRODUCT
193 void PSYoungGen::space_invariants() { 193 void PSYoungGen::space_invariants() {
194 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap(); 194 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
195 const size_t alignment = heap->intra_generation_alignment(); 195 const size_t alignment = heap->intra_heap_alignment();
196 196
197 // Currently, our eden size cannot shrink to zero 197 // Currently, our eden size cannot shrink to zero
198 guarantee(eden_space()->capacity_in_bytes() >= alignment, "eden too small"); 198 guarantee(eden_space()->capacity_in_bytes() >= alignment, "eden too small");
199 guarantee(from_space()->capacity_in_bytes() >= alignment, "from too small"); 199 guarantee(from_space()->capacity_in_bytes() >= alignment, "from too small");
200 guarantee(to_space()->capacity_in_bytes() >= alignment, "to too small"); 200 guarantee(to_space()->capacity_in_bytes() >= alignment, "to too small");
390 char* from_end = (char*)from_space()->end(); 390 char* from_end = (char*)from_space()->end();
391 char* to_start = (char*)to_space()->bottom(); 391 char* to_start = (char*)to_space()->bottom();
392 char* to_end = (char*)to_space()->end(); 392 char* to_end = (char*)to_space()->end();
393 393
394 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap(); 394 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
395 const size_t alignment = heap->intra_generation_alignment(); 395 const size_t alignment = heap->intra_heap_alignment();
396 const bool maintain_minimum = 396 const bool maintain_minimum =
397 (requested_eden_size + 2 * requested_survivor_size) <= min_gen_size(); 397 (requested_eden_size + 2 * requested_survivor_size) <= min_gen_size();
398 398
399 // Check whether from space is below to space 399 // Check whether from space is below to space
400 if (from_start < to_start) { 400 if (from_start < to_start) {
706 // any shrinkage of the young gen is limited by location of 706 // any shrinkage of the young gen is limited by location of
707 // from-space. 707 // from-space.
708 size_t PSYoungGen::available_to_live() { 708 size_t PSYoungGen::available_to_live() {
709 size_t delta_in_survivor = 0; 709 size_t delta_in_survivor = 0;
710 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap(); 710 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
711 const size_t space_alignment = heap->intra_generation_alignment(); 711 const size_t space_alignment = heap->intra_heap_alignment();
712 const size_t gen_alignment = heap->young_gen_alignment(); 712 const size_t gen_alignment = heap->young_gen_alignment();
713 713
714 MutableSpace* space_shrinking = NULL; 714 MutableSpace* space_shrinking = NULL;
715 if (from_space()->end() > to_space()->end()) { 715 if (from_space()->end() > to_space()->end()) {
716 space_shrinking = from_space(); 716 space_shrinking = from_space();