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

Zhengyu Gu zgu at redhat.com
Thu Jun 20 15:25:12 UTC 2019

Brought webrev to current head:

Could I get review of this refactoring? I would like concurrent CLDG 
evacuation to be based on this new API.



On 6/12/19 11:31 AM, Zhengyu Gu wrote:
> 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 hotspot-gc-dev mailing list