RFR: 8210064: ZGC: Introduce ZConcurrentRootsIterator for scanning a subset of strong IN_NATIVE roots concurrently

Per Liden per.liden at oracle.com
Fri Aug 31 07:57:44 UTC 2018


Hi Erik,

On 08/30/2018 10:46 AM, Erik Österlund wrote:
> Hi,
> 
> We now have enough load barriers to support scanning of CLDs and JNI 
> handles concurrently. I propose to do that and move these root sets out 
> from ZRootsIterator, and hence the GC pause. They will be scanned during 
> concurrent marking (and heap iteration), but no longer during relocation.
> 
> I still perform ClassLoaderDataGraph::clear_claimed_marks() in the pause 
> because it seems cheap. But it can be moved out of the pause when Coleen 
> gets her new cool CLDG lock in.
> 
> Webrev:
> http://cr.openjdk.java.net/~eosterlund/8210064/webrev.00/

I have some minor requests. Instead of listing them all, I attached a 
patch which addresses those.

The main thing is that I don't think ZDriver should know about 
"concurrent roots", just that it's doing "mark" or "mark continue", so I 
suggest we turn that into a "bool initial" argument to mark() instead of 
exposing a mark_concurrent_roots() function.

The other things are minor style adjustments.

/Per

> 
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8210064
> 
> Tested through hs-tier1-3.
> 
> Thanks,
> /Erik
-------------- next part --------------
A non-text attachment was scrubbed...
Name: review_8210064.patch
Type: text/x-patch
Size: 4352 bytes
Desc: not available
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20180831/218442ba/review_8210064.patch>


More information about the hotspot-gc-dev mailing list