RFR 8221629: Shenandoah: Cleanup class unloading logic

Zhengyu Gu zgu at redhat.com
Thu Mar 28 19:53:47 UTC 2019


When ClassUnloading = true, we should not mark through weak CLDS. 
Therefore, it does not make sense to have weak_cld_closure parameter for 
RootProcessor::process_strong_roots().

I also collapse update_all_roots/traversal_update_all_roots methods vs. 
template.

Bug: https://bugs.openjdk.java.net/browse/JDK-8221629
Webrev: http://cr.openjdk.java.net/~zgu/JDK-8221629/webrev.00/index.html

Test:
   hotspot_gc_shenandoah on Linux x64 (fastdebug and release)

   Specjvm with VM following VM options (fastdebug)
   -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC
   -XX:+ClassUnloadingWithConcurrentMark
   -XX:ShenandoahGCHeuristics=traversal
   -XX:ShenandoahUnloadClassesFrequency=1 -XX:+UnlockDiagnosticVMOptions
   -XX:+ShenandoahVerify

Thanks,

-Zhengyu


More information about the hotspot-gc-dev mailing list