RFR(S) 228777: Shenandoah: Cleanup STW weak root processing

Zhengyu Gu zgu at redhat.com
Tue Jul 30 17:26:47 UTC 2019



On 7/30/19 12:50 PM, Roman Kennke wrote:
> I am not sure about this. If final-mark could not finish to pre-evacuate
> all roots we might have from-space refs there. Or does the OOM-protocol
> ensure that any ref should be updated correctly? We need to be careful
> here. Better safe than sorry.

If pre-evacuation fails, it runs degenerated GC cycle and roots are 
updated in final_updaterefs().

We do have no-forwarded assertion in place, should catch the problem if 
otherwise.

Thanks,

-Zhengyu

> 
> Roman
> 
> 
>> Shenandoah pre-evacuates or updates weak roots at STW pauses. Therefore,
>> weak roots should not have forwarded references during mark phase.
>>
>> Current has_forwarded_objects() branch does not break things, but does
>> unncessary works, let's prune it.
>>
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8228777
>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8228777/webrev.00/
>>
>> Test:
>>    hotspot_gc_shenandoah (fastdebug and release)
>>
>> Thanks,
>>
>> -Zhengyu
> 



More information about the hotspot-gc-dev mailing list