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

Roman Kennke rkennke at openjdk.org
Tue Mar 26 16:48:35 UTC 2024


On Tue, 26 Mar 2024 16:38:10 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>> Kelvin Nilsen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 94 commits:
>> 
>>  - Merge remote-tracking branch 'origin/master' into restructure-free-set
>>  - Merge branch 'openjdk:master' into master
>>  - Merge branch 'openjdk:master' into master
>>  - Fix for certain compilers
>>  - Add a few more conditions to ShenandoahSimpleBitMapTest
>>  - Fix typo in log message for 32-bit platforms
>>  - Fix one bug and add disabled instrumentation for debugging
>>  - Give special handling to count-zeros when arg is 0
>>  - Exploit count_<leading|trailing>_zeros instructions
>>    
>>    The ShenandoahSimpleBitMap can run more efficiently if we use hardware
>>    instructions to count leading and trailing zeros.
>>  - Remove comment that pertains only to generational mode
>>  - ... and 84 more: https://git.openjdk.org/jdk/compare/da8a095a...7bc418fa
>
> src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp line 53:
> 
>> 51:   uintx omit_mask = right_n_bits(bit_number);
>> 52:   uintx mask = ((uintx) 0 - 1) & ~omit_mask;
>> 53: #undef KELVIN_DEBUG
> 
> Please remove KELVIN_DEBUG before integration. You may want to turn it into proper logging, if you think it may be useful.

log_*_develop() is only built in debug builds, that may be useful.

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

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


More information about the shenandoah-dev mailing list