RFR(XS) 8224115: Shenandoah: Eliminate RWLock that protects recorded nmethod data array

Zhengyu Gu zgu at redhat.com
Thu May 23 15:29:16 UTC 2019



On 5/23/19 9:24 AM, Zhengyu Gu wrote:
> 
> 
> On 5/23/19 6:40 AM, Aleksey Shipilev wrote:
>> On 5/20/19 1:26 PM, Zhengyu Gu wrote:
>>> Split the original patch, moved root processing changes that deal 
>>> with traversal GC problem into
>>> JDK-8224179.
>>>
>>> Updated webrev: http://cr.openjdk.java.net/~zgu/JDK-8224115/webrev.01/
>>
>> Looks fine, except:
>>
>> What is this removal? It does not seem related:
>>
>>   248 ShenandoahAllCodeRootsIterator ShenandoahCodeRoots::iterator() {
>>   249   return ShenandoahAllCodeRootsIterator();
>>   250 }
>>   251
>>   252 ShenandoahCsetCodeRootsIterator 
>> ShenandoahCodeRoots::cset_iterator() {
>>   253   return ShenandoahCsetCodeRootsIterator();
>>   254 }
> 
> Can make separate patch. Both methods seem to depend on inline behavior 
> to avoid fatal error, where they may free 
> ShenandoahParallelCodeHeapIterator inside 
> ShenandoahParallelCodeCacheIterator twice due to copy constructors.

Addressed by JDK-8224679: Shenandoah: Make 
ShenandoahParallelCodeCacheIterator noncopyable	


Updated webrev: http://cr.openjdk.java.net/~zgu/JDK-8224115/webrev.02/

Reran hotspot_gc_shenandoah tests.

Thanks,

-Zhengyu

> 
> Thanks,
> 
> -Zhengyu
> 
>>
>> -Aleksey
>>


More information about the shenandoah-dev mailing list