Mercurial > hg > graal-jvmci-8
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(); |