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