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.

Thanks,

-Zhengyu



> 
> Roman
> 



More information about the hotspot-gc-dev mailing list