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!
Roman
More information about the hotspot-gc-dev
mailing list