On Wed, 20 Nov 2024 00:13:13 GMT, William Kemper <wkem...@openjdk.org> wrote:
>> src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp line 420: >> >>> 418: } >>> 419: int gc_state = _heap->gc_state(); >>> 420: if ((gc_state & ShenandoahHeap::YOUNG_MARKING) != 0) { >> >> It is not very clear this works fine with single-gen mode. Does `MARKING` >> imply `YOUNG_MARKING` in single-gen mode? I think we better make it >> abundantly clear with `is_generational()` checks. > > Yes, in single gen mode we set `MARKING` and `YOUNG_MARKING` together. See > https://github.com/openjdk/shenandoah/blob/master/src/hotspot/share/gc/shenandoah/shenandoahGlobalGeneration.cpp#L81 We should really either predicate it on generational mode (we already poll it a few lines below) and check for `MARKING` specifically, or assert it. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/21273#discussion_r1852659199