RFR: 8324649: Shenandoah: refactor implementation of free set [v4]

Kelvin Nilsen kdnilsen at openjdk.org
Wed Jan 31 01:15:03 UTC 2024


On Mon, 29 Jan 2024 22:40:07 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> Kelvin Nilsen has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - Fix typo in comment
>>  - Remove unnecessary include
>
> src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp line 108:
> 
>> 106: }
>> 107: 
>> 108: void ShenandoahSetsOfFree::clear_all() {
> 
> I'd opt for something that uses a term other than `clear`, since `clear` has no specific semantics since you are also including `NotFree` as a type of set you track here (this goes back to the question of whether you really need to track that separately at all -- it could be relegated to a default sentinel type for any memory region, and may or may not need tracking the intervals here? (I haven't looked to see if you ever need to use the [left, right] of the NotFree interval for anything other than assertion checking. You could say `clear_mutator_and_collector`, or `unfree()`. Something that more clearly conveys the mental model of the class more clearly in its API names.

changing this to make_all_regions_unavailable()

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17561#discussion_r1472189049


More information about the hotspot-gc-dev mailing list