[14] RFR 8228720: Shenandoah: Implementation of concurrent class unloading
Zhengyu Gu
zgu at redhat.com
Wed Nov 27 16:25:43 UTC 2019
Thanks, Roman.
-Zhengyu
On 11/27/19 11:15 AM, Roman Kennke wrote:
> 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 shenandoah-dev
mailing list