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:
http://cr.openjdk.java.net/~zgu/JDK-8225590/webrev.01/index.html

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

Thanks,

-Zhengyu


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