Request for sponsor - JDK-8031538

Staffan Friberg staffan.friberg at oracle.com
Tue Mar 3 17:12:51 UTC 2015


Looks good, nice solution with the MAX2 instead of 0 check.

//Staffan

On 03/03/2015 02:06 AM, Thomas Schatzl wrote:
> Hi Staffan,
>
> On Mon, 2015-03-02 at 15:42 -0800, Staffan Friberg wrote:
>> Found this old thread lying around.
>>
>> How about the following patch?
>>
>> Checking the calculate_young_list_desired_min_length which simply just
>> adds the base_min_length I think changing the base_min_length to contain
>> more than survivors might increase the nursery size unexpectedly. This
>> will keep the calculation the same, while still making sure we can't set
>> the young size below what the it currently is.
>>
>> @@ -538,13 +538,13 @@
>>      // This is how many young regions we already have (currently: the
>> survivors).
>>      uint base_min_length = recorded_survivor_regions();
>>      // This is the absolute minimum young length, which ensures that we
>> -  // can allocate one eden region in the worst-case.
>> -  uint absolute_min_length = base_min_length + 1;
>> +  // will at least have one eden region available in the young list.
>> +  // If we shrink the young list target it won't shrink below the
>> current size.
>> +  uint eden_length = _g1->young_list()->length() -
>> recorded_survivor_regions();
>> +  uint absolute_min_length = base_min_length + (eden_length == 0) ? 1 :
>> eden_length;
>>      uint desired_min_length =
>> calculate_young_list_desired_min_length(base_min_length);
>> -  if (desired_min_length < absolute_min_length) {
>> -    desired_min_length = absolute_min_length;
>> -  }
>> +  desired_min_length = MAX2(desired_min_length, absolute_min_length);
>>
>>      // Calculate the absolute and desired max bounds.
>    looks good; I applied some minor refactoring (the eden length
> calculation moved to the YoungList class). If you are good with these
> changes, I can sponsor it.
>
> Webrev: http://cr.openjdk.java.net/~tschatzl/8031538/webrev/
>
> Thanks,
>    Thomas
>
>




More information about the hotspot-gc-dev mailing list