RFR: 8210064: ZGC: Introduce ZConcurrentRootsIterator for scanning a subset of strong IN_NATIVE roots concurrently
Erik Österlund
erik.osterlund at oracle.com
Fri Aug 31 08:37:00 UTC 2018
Hi Per,
On 2018-08-31 09:57, Per Liden wrote:
> 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.
Sure, that makes sense.
Thanks for the review!
/Erik
> The other things are minor style adjustments.
> /Per
>
>>
>> Bug:
>> https://bugs.openjdk.java.net/browse/JDK-8210064
>>
>> Tested through hs-tier1-3.
>>
>> Thanks,
>> /Erik
More information about the hotspot-gc-dev
mailing list