On Thu, 21 Nov 2024 13:50:42 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:
>> William Kemper has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains 524 commits: >> >> - Merge remote-tracking branch 'shenandoah/master' into >> great-genshen-pr-redux >> - 8344670: GenShen: Use concurrent worker session for concurrent mark phase >> >> Reviewed-by: kdnilsen >> - 8344640: GenShen: Reuse existing card mark barrier function when dropping >> references >> >> Reviewed-by: shade, ysr >> - 8344592: GenShen: Remove unnecessary comments and changes >> >> Reviewed-by: kdnilsen >> - 8344263: GenShen: Reduce extraneous log messages at INFO level >> >> Reviewed-by: ysr, shade >> - 8344638: GenShen: Verifier should not touch claim token >> >> Reviewed-by: shade >> - Merge >> - 8344320: GenShen: Possible null pointer usage in shGenerationalHeap >> >> Reviewed-by: wkemper, ysr >> - 8344321: GenShen: Fix various sonar scan warnings >> >> Reviewed-by: kdnilsen, shade >> - 8344264: GenShen: Improve comments and method names >> >> Reviewed-by: shade >> - ... and 514 more: https://git.openjdk.org/jdk/compare/95a00f8a...7ab16403 > > src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.cpp line 64: > >> 62: } >> 63: } >> 64: return _mark_bit_map.is_bitmap_clear_range(start, end); > > Comprehension check: this seems to bail out the moment it discovers an > uncommitted slice. Does it really happen? More worryingly, if there is a mix > of committed and uncommitted chunks, this method returns `true`, even if > committed chunks are not actually clean? In all (3) usages of this method, the `start` and `end` are within the same region, so it isn't really iterating across regions. I'll rewrite it to handle this case more clearly. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/21273#discussion_r1852802615