8035057: NewSize ergonomics wrong when setting small or unaligned size on command line

Making sure that if NewSize is set on the command line it should be used for both min and initial size even if it is re-aligned.

Reviewed-by: jwilhelm, jmasa
This commit is contained in:
Stefan Johansson 2014-02-21 09:48:52 +01:00
parent 4dde43fa62
commit 90d8f00199

View file

@ -304,10 +304,13 @@ void GenCollectorPolicy::initialize_flags() {
}
// Now take the actual NewSize into account. We will silently increase NewSize
// if the user specified a smaller value.
// if the user specified a smaller or unaligned value.
smallest_new_size = MAX2(smallest_new_size, (uintx)align_size_down(NewSize, _gen_alignment));
if (smallest_new_size != NewSize) {
FLAG_SET_ERGO(uintx, NewSize, smallest_new_size);
// Do not use FLAG_SET_ERGO to update NewSize here, since this will override
// if NewSize was set on the command line or not. This information is needed
// later when setting the initial and minimum young generation size.
NewSize = smallest_new_size;
}
_initial_gen0_size = NewSize;