RFR 8226310: Shenandoah: Concurrent evacuation of CLDG

Roman Kennke rkennke at redhat.com
Mon Jun 24 17:41:05 UTC 2019

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.

Ah! Ok then.

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

Ok, good.

>> 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.

Sounds good to me. Thanks!


More information about the hotspot-gc-dev mailing list