RFR 8226310: Shenandoah: Concurrent evacuation of CLDG

Zhengyu Gu zgu at redhat.com
Mon Jun 24 17:32:18 UTC 2019

On 6/24/19 1:18 PM, Roman Kennke wrote:
> Hi Zhengyu,
>> Please review this patch that moves evacuation of CLDG to concurrent phase.
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8226310
>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8226310/webrev.00/
>> Test:
>>    hotspot_gc_shenandoah (fastdebug and release)
> Nice.
> +  ShenandoahClassLoaderDataRoots<true /*concurrent*/, false /*single
> threaded*/> _cld_roots;
> Why is it only single-threaded? Does it matter?

single-threaded = false here. Only ShenandoahHeapIterationRootScanner 
should use single-threaded.

> Do you think this is back-portable?
It is back-portable to where LRB is used.

> The question came up in IRC if we should start pushing this to sh/jdk
> for the start, let it bake there a little and at some point push it to
> jdk/jdk in one change. It doesn't have to be now, and I guess it depends
> upon how risky it is.

This patch does not address concurrent unloading, I think it is at the 
same risk level as JNIHandles and weak roots.

All concurrent evacuation works are in jdk14, we can bake there for a 
while before backport to JDK13.

We can move concurrent unloading work to sh-jdk, which is more risky. 
currently is under umbrella of JDK-8226241.



> Roman

More information about the hotspot-gc-dev mailing list