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

Reply via email to