RFR: 8373116: Genshen: arraycopy_work should be always done for arrays in old gen during young concurrent marking [v6]
Xiaolong Peng
xpeng at openjdk.org
Mon Dec 8 18:05:00 UTC 2025
On Mon, 8 Dec 2025 15:55:41 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> Xiaolong Peng has updated the pull request incrementally with one additional commit since the last revision:
>>
>> enqueue objects stored in old array at ShenandoahSATBBarrier when concurrent young marking is in progress
>
> src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp line 451:
>
>> 449: if (ShenandoahSATBBarrier) {
>> 450: if (!_heap->marking_context()->allocated_after_mark_start(reinterpret_cast<HeapWord*>(dst)) ||
>> 451: (_heap->is_concurrent_young_mark_in_progress() && _heap->heap_region_containing(dst)->is_old())) {
>
> We could also check if Shenandoah is running in generational mode. Even in non-generational mode, we set `YOUNG_MARKING` in gc state.
When is_old returns true, it implies Shenandoah is in generational mode, so logically it is not needed to test if is in generational mode, but we may want to test the mode for performance consideration.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28669#discussion_r2599591835
More information about the shenandoah-dev
mailing list