RFR 8226310: Shenandoah: Concurrent evacuation of CLDG
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/
>> hotspot_gc_shenandoah (fastdebug and release)
> + 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.
More information about the hotspot-gc-dev