RFR: 8263427: Shenandoah: Trigger weak-LRB even when heap is stable [v3]

Roman Kennke rkennke at openjdk.java.net
Mon Mar 15 09:30:12 UTC 2021


On Mon, 15 Mar 2021 00:25:54 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

>> Roman Kennke has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - Correct order of rendezvous, global- and local-flag updates; cleanup rendezvous
>>  - Verify correct weakroots-in-progress state (by Aleksey)
>
> src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 1737:
> 
>> 1735:   // We need a rendezvous here to avoid the following race:
>> 1736:   // 1. Java thread reads referent, sees non-null but unreachable oop
>> 1737:   // 2. GC thread clears the referent
> 
> How is this possible? GC threads (workers) are not running when rendezvous roots. What do I miss?

But they are running *before* rendezvous roots.

-------------

PR: https://git.openjdk.java.net/jdk/pull/2945


More information about the shenandoah-dev mailing list