RFR: 8343468: GenShen: Enable relocation of remembered set card tables [v5]

Aleksey Shipilev shade at openjdk.org
Wed Mar 5 17:48:09 UTC 2025


On Wed, 5 Mar 2025 00:55:13 GMT, Cesar Soares Lucas <cslucas at openjdk.org> wrote:

>> src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 258:
>> 
>>> 256:   if (ShenandoahCardBarrier) {
>>> 257:     ShenandoahThreadLocalData::set_card_table(Thread::current(), bs->card_table()->write_byte_map_base());
>>> 258:   }
>> 
>> Er. This sets up card table for VMThread, right? I am surprised we do not need this for other fields in `ShenandoahThreadLocalData`.
>
> Yes, that's for the VMThread. That seems like a good question. I

Actually, I am wondering why this is needed. It looks to me VMThread attaches after heap initialization, and the normal `ShenandoahBarrierSet::on_thread_attach` should handle it.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23170#discussion_r1981887605


More information about the shenandoah-dev mailing list