Mercurial > hg > truffle
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()); |