Shenandoah: SBSA::load_at() should save/restore registers when calling SATB barrier
Zhengyu Gu
zgu at redhat.com
Mon Oct 7 11:31:53 UTC 2019
>>
>> Webrev:
>> http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.01/
>
> Is that the same patch as before?
No. This patch pushes/pops rax and rbx in SBSA::load_at() (Line# 495 -
499 and 512 - 514.
Thanks,
-Zhengyu
>
> Roman
>
>
>>>>>> This fix also fixes the intermittent is_loader_alive() assertion we
>>>>>> have
>>>>>> seen in nightly tests. While this assertion is relative rare on
>>>>>> x86_64,
>>>>>> but it is quite reproducible on x86_32 (because of it has less
>>>>>> registers(?)). With this fix, I have yet seen once.
>>
>> Unfortunately, this assertion failure came back during stress runs (put
>> tier3 tests in loop) over the weekend, sigh! But I think they are
>> different issues and this change should stay.
>>
>> Thanks,
>>
>> -Zhengyu
>>
>>
>>>>>>
>>>>>>
>>>>>> Webrev:
>>>>>> http://cr.openjdk.java.net/~zgu/shenandoah/load_at_keepalive_fix/webrev.00/
>>>>>>
>>>>>>
>>>>>>
>>>>>> Test:
>>>>>> hotspot_gc_shenandoah (fastdebug and release) x86_64 and x86_32 on
>>>>>> Linux
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> -Zhengyu
>>>>>>
>>>>>
>>>
>
More information about the shenandoah-dev
mailing list