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

Mikael Gerdin mikael.gerdin at oracle.com
Fri Sep 26 08:06:42 UTC 2014


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.

/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