On Fri, 24 Oct 2025 03:41:50 GMT, Kelvin Nilsen <[email protected]> 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:
>
> Rework implementation of CompressedClassSpaceSizeInJmapHeap.java
test/hotspot/jtreg/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java line 78:
> 76: do {
> 77: exitValue = run(pb);
> 78: } while ((exitValue != 0) && (allowed_retries-- > 0));
Just a nit, but the other variables here use Java's camel case convention, so
should probably have `allowedRetries`, not `allowed_retries`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26867#discussion_r2461988687