8016309: assert(eden_size > 0 && survivor_size > 0) failed: just checking

7057939: jmap shows MaxNewSize=4GB when Java is using parallel collector

Major cleanup of the collectorpolicy classes

Reviewed-by: tschatzl, jcoomes
This commit is contained in:
Jesper Wilhelmsson 2013-11-01 17:09:38 +01:00
parent 9705a6e3f9
commit 0fa3a71c8a
28 changed files with 718 additions and 428 deletions

View file

@ -25,6 +25,7 @@
#include "precompiled.hpp"
#include "gc_implementation/parallelScavenge/adjoiningGenerations.hpp"
#include "gc_implementation/parallelScavenge/adjoiningVirtualSpaces.hpp"
#include "gc_implementation/parallelScavenge/generationSizer.hpp"
#include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp"
// If boundary moving is being used, create the young gen and old
@ -32,15 +33,17 @@
// the old behavior otherwise (with PSYoungGen and PSOldGen).
AdjoiningGenerations::AdjoiningGenerations(ReservedSpace old_young_rs,
size_t init_low_byte_size,
size_t min_low_byte_size,
size_t max_low_byte_size,
size_t init_high_byte_size,
size_t min_high_byte_size,
size_t max_high_byte_size,
GenerationSizer* policy,
size_t alignment) :
_virtual_spaces(old_young_rs, min_low_byte_size,
min_high_byte_size, alignment) {
_virtual_spaces(old_young_rs, policy->min_gen1_size(),
policy->min_gen0_size(), alignment) {
size_t init_low_byte_size = policy->initial_gen1_size();
size_t min_low_byte_size = policy->min_gen1_size();
size_t max_low_byte_size = policy->max_gen1_size();
size_t init_high_byte_size = policy->initial_gen0_size();
size_t min_high_byte_size = policy->min_gen0_size();
size_t max_high_byte_size = policy->max_gen0_size();
assert(min_low_byte_size <= init_low_byte_size &&
init_low_byte_size <= max_low_byte_size, "Parameter check");
assert(min_high_byte_size <= init_high_byte_size &&