RFR(M) 8150721: Don't explicitly manage G1 young regions in YoungList

Stefan Johansson stefan.johansson at oracle.com
Mon May 2 13:25:40 UTC 2016


Hi Mikael,

On 2016-04-28 14:37, Mikael Gerdin wrote:
> Hi,
>
> Please review this change to change G1 to stop explicit tracking of 
> all young regions in the YoungList class.
> With JDK-8150393 the survivor regions are tracked in a GrowableArray. 
> This removes the final dependency on keeping a linked list of young 
> regions in YoungList and this change is a cleanup to get rid of a lot 
> of code related to that.
>
> There are a few notable changes due to this cleanup:
> * During full GCs, calls to uninstall the surv rate group for young 
> regions were moved to TearDownRegionSetsClosure
> * The young RSet sampling thread can no longer iterate over the young 
> list to sample RSets, it must instead walk the incremental collection 
> set. I would argue that this is more correct anyway since eden regions 
> which had not yet been added to the collection set would not have any 
> interesting RSets anyway.
>
> I decided to make eden and survivors two different classes for now, 
> since it's more clear that they are actually distinct that way.
> The reason for keeping G1EdenRegions around when it's practically 
> empty is that I plan to move the eden SurvRateGroup object these 
> YoungList replacements to get rid of set_region_{eden,survivor}
>
> Webrevs:
> Webrev for entire change
> http://cr.openjdk.java.net/~mgerdin/8150721/webrev.0.full/
Looks good, but I think you should rename youngList.*pp to something 
like youngRegions.*pp or split out the two new classes to separate files.

Thanks,
Stefan

> Webrev for not tracking regions in YoungList
> http://cr.openjdk.java.net/~mgerdin/8150721/webrev.0.notrack/
> Webrev for splitting and renaming the remains of YoungList
> http://cr.openjdk.java.net/~mgerdin/8150721/webrev.0.rename/
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8150721
> Testing: RBT GC Testing, Aurora performance testing shows no 
> significant regressions
>
> Thanks
> /Mikael




More information about the hotspot-gc-dev mailing list