comparison src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp @ 13060:8f07aa079343

8016309: assert(eden_size > 0 && survivor_size > 0) failed: just checking 7057939: jmap shows MaxNewSize=4GB when Java is using parallel collector Summary: Major cleanup of the collectorpolicy classes Reviewed-by: tschatzl, jcoomes
author jwilhelm
date Fri, 01 Nov 2013 17:09:38 +0100
parents 46d7652b223c
children de6a9e811145
comparison
equal deleted inserted replaced
13059:46d7652b223c 13060:8f07aa079343
89 assert(virtual_space()->is_aligned(gen_size_limit()), "not aligned"); 89 assert(virtual_space()->is_aligned(gen_size_limit()), "not aligned");
90 assert(gen_size_limit() >= virtual_space()->committed_size(), "bad gen size"); 90 assert(gen_size_limit() >= virtual_space()->committed_size(), "bad gen size");
91 91
92 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap(); 92 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
93 size_t result = gen_size_limit() - virtual_space()->committed_size(); 93 size_t result = gen_size_limit() - virtual_space()->committed_size();
94 size_t result_aligned = align_size_down(result, heap->old_gen_alignment()); 94 size_t result_aligned = align_size_down(result, heap->generation_alignment());
95 return result_aligned; 95 return result_aligned;
96 } 96 }
97 97
98 size_t ASPSOldGen::available_for_contraction() { 98 size_t ASPSOldGen::available_for_contraction() {
99 size_t uncommitted_bytes = virtual_space()->uncommitted_size(); 99 size_t uncommitted_bytes = virtual_space()->uncommitted_size();
100 if (uncommitted_bytes != 0) { 100 if (uncommitted_bytes != 0) {
101 return uncommitted_bytes; 101 return uncommitted_bytes;
102 } 102 }
103 103
104 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap(); 104 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
105 const size_t gen_alignment = heap->old_gen_alignment(); 105 const size_t gen_alignment = heap->generation_alignment();
106 PSAdaptiveSizePolicy* policy = heap->size_policy(); 106 PSAdaptiveSizePolicy* policy = heap->size_policy();
107 const size_t working_size = 107 const size_t working_size =
108 used_in_bytes() + (size_t) policy->avg_promoted()->padded_average(); 108 used_in_bytes() + (size_t) policy->avg_promoted()->padded_average();
109 const size_t working_aligned = align_size_up(working_size, gen_alignment); 109 const size_t working_aligned = align_size_up(working_size, gen_alignment);
110 const size_t working_or_min = MAX2(working_aligned, min_gen_size()); 110 const size_t working_or_min = MAX2(working_aligned, min_gen_size());