[15] RFR 8242216: ObjectSampler::weak_oops_do() should not trigger barrier
Zhengyu Gu
zgu at redhat.com
Tue Apr 7 14:14:33 UTC 2020
Hi Erik,
This patch only affects on site:
226 if (is_alive->do_object_b(current->object_raw())) {
Should it always give you the same answer, not matter if it is by
is_alive closure, or by barrier?
Thanks,
-Zhengyu
On 4/7/20 9:09 AM, Erik Österlund wrote:
> Hi Zhengyu,
>
> This change breaks ZGC. The raw oop may not have been relocated. It was
> not by accident that I used an access load instead of a raw load,
> when I built the leak profiler support.
> Since this kind of issue keeps on popping up, where you can't deal with
> access barriers because of some Shenandoah OOM handler,
> perhaps your barriers need to be fixed instead to deal with these issues
> instead. I predict it is not the last time we have
> to restructure the shared code because of Shenandoah's OOM handler.
>
> Thanks,
> /Erik
>
> On 2020-04-06 20:22, Zhengyu Gu wrote:
>> Hi,
>>
>> This is a similar problem as JDK-8237396.
>>
>> Shenandoah does not expect barriers on it GC paths. Otherwise, it
>> causes Shenandoah's OOM handler to fail.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8242216
>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8242216/webrev.00/index.html
>>
>> Test:
>> tier1 (fastdebug and release) on Linux x86_64
>> Submit tests.
>>
>>
>> Thanks,
>>
>> -Zhengyu
>>
>
More information about the hotspot-gc-dev
mailing list