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

Kelvin Nilsen kdnilsen at openjdk.org
Sat Apr 13 15:19:50 UTC 2024


On Tue, 9 Apr 2024 19:33:52 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Remove debugging instrumentation
>
> src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp line 45:
> 
>> 43: // break abstraction rules, because efficient implementation requires assumptions about superclass internals that
>> 44: // might be violatee through future software maintenance.
>> 45: class ShenandoahSimpleBitMap {
> 
> I think this class should go into its own set of files. It would certainly help readability of ShFreeSet which is now somewhat dominated by ShSimpleBitMap.

Thanks for suggestion.  Done.

> src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp line 165:
> 
>> 163: 
>> 164: // Each ShenandoahHeapRegion is associated with a ShenandoahFreeSetPartitionId.
>> 165: enum ShenandoahFreeSetPartitionId : uint8_t {
> 
> Make this an 'enum class' instead.
> I see that you are using the enum as index, in this case you can declare the enum class like 'enum class ShenandoahFreeSetPartitionId : uint8_t'

Thanks for this suggestion.  Done.

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

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


More information about the shenandoah-dev mailing list