RFR: 8058963: CollectorPolicy::satisfy_failed_metadata_allocation can avoid some safepoints

Erik Helin erik.helin at oracle.com
Fri Sep 26 14:45:40 UTC 2014


Hi Mikael,

On 2014-09-26 10:06, Mikael Gerdin wrote:
> Hi Erik,
>
> On Tuesday 23 September 2014 17.15.58 Erik Helin wrote:
>> Hi all,
>>
>> this small change enables us to skip two possible safepoints in
>> CollectorPolicy::satisfy_failed_metadata_allocation:
>>
>> 1. When a thread continues a loop after having been stalled due to a
>> GC_locker initiated Full GC.
>> 2. When the VM_CollectForMetadata VM operation's prologue fails because
>> a full GC has already been run just prior to the CollectForMetadata VM
>> operation.
>>
>> The way this is done is simply by trying to allocate at the start of the
>> loop. This way, whenever we loop around and a full GC has happened, the
>> allocation request might be satisfied and we can do an early return.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~ehelin/8058963/webrev.00/
>
> Change looks good.

Thanks!
Erik

> /Mikael
>
>>
>> Bug:
>> https://bugs.openjdk.java.net/browse/JDK-8058963
>>
>> Testing:
>> - JPRT
>> - Aurora:
>>     - Kitchensink
>>     - Weblogic+Medrec
>>     - runThese
>>     - vm.quick, regression, gc, compiler, runtime, parallel class loading,
>>       metaspace, oom
>>     - JTReg tests
>>
>> Thanks,
>> Erik
>



More information about the hotspot-gc-dev mailing list