[14] RFR 8228720: Shenandoah: Implementation of concurrent class unloading
Roman Kennke
rkennke at redhat.com
Wed Nov 27 16:15:05 UTC 2019
Hi Zhengyu,
this is great work!
I looked over the changeset and couldn't find anything to complain
about. Thumbs up!
Thanks,
Roman
> Shenandoah concurrent class unloading has been baked in shenandoah/jdk
> repo for quite some time, it is ready for integration into 14.
>
> The implementation is similar to ZGC's with added complexity, due to
> additional GC modes other than concurrent mode. E.g. degenerated GC and
> full GC.
>
> This patch only contains Shenandoah specific changes, the shared part
> has been upstreamed under JDK-8230765 to support x86_32 platforms.
>
> A few key points:
>
> 1) Available on x86_64 and x86_32 platforms with Shenandoah concurrent
> GC (not yet with traversal GC)
>
> 2) Concurrent class unloading is enabled by default with Shenandoah
> concurrent GC for every GC cycle. Class unloading can be disabled with
> -XX:-ClassUnloading/-XX:-ClassUnloadingWithConcurrentMark and frequency
> can be changed via experimental flag -XX:ShenandoahRefProcFrequency=n
>
> 3) For degenerated GC and full GC, class unloading falls back to STW.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8228720
> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228720/webrev.02
>
> Test:
> hotspot_gc_shenandoah (fastdebug and release) with x86_64 and x86_32
> JVM on Linux.
>
> Thanks,
>
> -Zhengyu
>
More information about the hotspot-gc-dev
mailing list