RFR: 8365880: Shenandoah: Unify memory usage accounting in ShenandoahFreeSet [v23]
Y. Srinivas Ramakrishna
ysr at openjdk.org
Thu Oct 9 02:31:12 UTC 2025
On Wed, 8 Oct 2025 18:33:15 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:
>> This PR eliminates redundant bookkeeping that had been carried out by both ShenandoahGeneration and ShenandoahFreeSet. In the new code, we keep a single tally of relevant information within ShenandoahFreeSet.
>> Queries serviced by ShenandoahGeneration are now delegated to ShenandoahFreeSet.
>>
>> This change eliminates rare and troublesome assertion failures that were often raised when the ShenandoahFreeSet tallies did not match the ShenandoahGeneration tallies. These assertion failures resulted because the two sets of books are updated at different times, using different synchronization mechanisms.
>>
>> The other benefit of this change is that we have less synchronization overhead because we only have to maintain a single set of books.
>
> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
>
> fix anothr override declaration
Will pick this up in a bit but thought I should flush the comments (which I already made in verbal form earlier today at one of our meetings).
Sorry for the delay on this, but on it now and will get it done later tonight.
-------------
PR Review: https://git.openjdk.org/jdk/pull/26867#pullrequestreview-3316341505
More information about the shenandoah-dev
mailing list