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

Zhengyu Gu zgu at redhat.com
Tue Jul 30 20:31:58 UTC 2019



On 7/30/19 1:26 PM, Zhengyu Gu wrote:
> 
> 
> 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.

Actually, you are right. It does not work with traversal. I wonder how 
the tests passed early.

I would like to withdraw this RFR.

Thanks,

-Zhengyu



> 
> 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