Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.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 | da91efe96a93 |
children | de6a9e811145 |
comparison
equal
deleted
inserted
replaced
13059:46d7652b223c | 13060:8f07aa079343 |
---|---|
23 */ | 23 */ |
24 | 24 |
25 #include "precompiled.hpp" | 25 #include "precompiled.hpp" |
26 #include "gc_implementation/parallelScavenge/adjoiningGenerations.hpp" | 26 #include "gc_implementation/parallelScavenge/adjoiningGenerations.hpp" |
27 #include "gc_implementation/parallelScavenge/adjoiningVirtualSpaces.hpp" | 27 #include "gc_implementation/parallelScavenge/adjoiningVirtualSpaces.hpp" |
28 #include "gc_implementation/parallelScavenge/generationSizer.hpp" | |
28 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp" | 29 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp" |
29 | 30 |
30 // If boundary moving is being used, create the young gen and old | 31 // If boundary moving is being used, create the young gen and old |
31 // gen with ASPSYoungGen and ASPSOldGen, respectively. Revert to | 32 // gen with ASPSYoungGen and ASPSOldGen, respectively. Revert to |
32 // the old behavior otherwise (with PSYoungGen and PSOldGen). | 33 // the old behavior otherwise (with PSYoungGen and PSOldGen). |
33 | 34 |
34 AdjoiningGenerations::AdjoiningGenerations(ReservedSpace old_young_rs, | 35 AdjoiningGenerations::AdjoiningGenerations(ReservedSpace old_young_rs, |
35 size_t init_low_byte_size, | 36 GenerationSizer* policy, |
36 size_t min_low_byte_size, | |
37 size_t max_low_byte_size, | |
38 size_t init_high_byte_size, | |
39 size_t min_high_byte_size, | |
40 size_t max_high_byte_size, | |
41 size_t alignment) : | 37 size_t alignment) : |
42 _virtual_spaces(old_young_rs, min_low_byte_size, | 38 _virtual_spaces(old_young_rs, policy->min_gen1_size(), |
43 min_high_byte_size, alignment) { | 39 policy->min_gen0_size(), alignment) { |
40 size_t init_low_byte_size = policy->initial_gen1_size(); | |
41 size_t min_low_byte_size = policy->min_gen1_size(); | |
42 size_t max_low_byte_size = policy->max_gen1_size(); | |
43 size_t init_high_byte_size = policy->initial_gen0_size(); | |
44 size_t min_high_byte_size = policy->min_gen0_size(); | |
45 size_t max_high_byte_size = policy->max_gen0_size(); | |
46 | |
44 assert(min_low_byte_size <= init_low_byte_size && | 47 assert(min_low_byte_size <= init_low_byte_size && |
45 init_low_byte_size <= max_low_byte_size, "Parameter check"); | 48 init_low_byte_size <= max_low_byte_size, "Parameter check"); |
46 assert(min_high_byte_size <= init_high_byte_size && | 49 assert(min_high_byte_size <= init_high_byte_size && |
47 init_high_byte_size <= max_high_byte_size, "Parameter check"); | 50 init_high_byte_size <= max_high_byte_size, "Parameter check"); |
48 // Create the generations differently based on the option to | 51 // Create the generations differently based on the option to |