RFR(S): Refactor parallel ClassLoaderData iterator

Zhengyu Gu zgu at redhat.com
Thu Apr 27 20:24:11 UTC 2017



On 04/27/2017 04:06 PM, Aleksey Shipilev wrote:
> On 04/27/2017 09:56 PM, Zhengyu Gu wrote:
>> Using additonal atomic variable and atomic operations to have all workers to
>> walk CLD once, does not seem very profitable. ClassLoaderData itself supports
>> parallel walking.
>>
>> Also, cleanup a unnecessary ClassLoaderDataGraph::clear_claimed_marks()
>>
>> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/par_cld/webrev.00/index.html
>
> Looks good to me.
>
> How do you figure CLDG::clear_claimed_marks() is not needed in the places you
> purged it? That's because ShenandoahRootProcessor will construct
> ParallelCLDRootIterator and do CLDG::c_c_m()?
>
CLDG::clear_claimed_marks() are not obvious at those locations, they are 
required by ShenandoahRootProcessor to process CLD, so encapsulate the 
call inside ShenandoahRootProcessor (via ParallelCLDRootIterator) seems 
cleaner.

Thanks,

-Zhengyu

> Thanks,
> -Aleksey
>


More information about the shenandoah-dev mailing list