RFR 8225590: Shenandoah: Refactor ShenandoahClassLoaderDataRoots API to mirror CLDG API

Zhengyu Gu zgu at redhat.com
Wed Jun 12 15:31:37 UTC 2019


ShenandoahClassDataRoots only exports a generic CLDG iteration API 
(roots_cld_do), which requires caller to pass in proper strong closure 
and/or weak closure, while CLDG has two more explicit APIs:
always_strong_cld_do() and cld_do() for iterating strong class loader 
data and all class loader data.

This refactor converts ShenandoahClassDataRoots API to mirror the two 
more explicit CLDG APIs. I think, should result more readable and less 
error prone code.

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

Test:
   hotspot_gc_shenandoah (fastdebug and release)

Thanks,

-Zhengyu


More information about the shenandoah-dev mailing list