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