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