RFR(S): JDK-8028093 - Initial young size is smaller than minimum young size

Bengt Rutisson bengt.rutisson at oracle.com
Mon Nov 11 09:32:14 UTC 2013


Hi Jesper,

This looks wrong to me.

adjust_gen0_sizes() is first called with the min values to adjust them. 
Then called with the initial values to adjust them. With your suggested 
change we suddenly mix min and initial values when we adjust. That seems 
very strange to me.

If the issue is that the min and initial values don't match I think we 
should add a third step where we explicitly adjust them to match. 
Something like:

adjust_gen0_sizes(&_min_gen0_size, &_min_gen1_size, _min_heap_byte_size, 
_min_gen1_size);
adjust_gen0_sizes(&_initial_gen0_size, &_initial_gen1_size, 
_initial_heap_byte_size, _initial_gen1_size);
adjust_min_and_initial_values(...);

Thanks,
Bengt

On 2013-11-10 00:17, Jesper Wilhelmsson wrote:
> Hi,
>
> Can I have a couple of reviews of this small bugfix.
>
> Bug JDK-8028093: https://bugs.openjdk.java.net/browse/JDK-8028093
>
> The problem is that TwoGenerationCollectorPolicy::adjust_gen0_sizes() 
> is called with the wrong argument in one place. The last argument 
> should always be the value of _min_gen1_size, but in one call it is 
> the _initial_gen1_size.
>
> Since these variables are class local I see no reason to take 
> _min_gen1_size as an argument at all. Apparently it is error prone. 
> The proposed fix is therefore to remove the argument and use 
> _min_gen1_size directly in adjust_gen0_sizes().
>
> Webrev: http://cr.openjdk.java.net/~jwilhelm/8028093/webrev/
>
> Thanks!
> /Jesper




More information about the hotspot-gc-dev mailing list