On Wed, 20 Aug 2025 19:17:48 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.

This pull request has now been integrated.

Changeset: ec059c0e
Author:    Kelvin Nilsen <[email protected]>
URL:       
https://git.openjdk.org/jdk/commit/ec059c0e85bc612f430269d9e110dc7ecbdce342
Stats:     3516 lines in 43 files changed: 2110 ins; 1006 del; 400 mod

8365880: Shenandoah: Unify memory usage accounting in ShenandoahFreeSet

Reviewed-by: wkemper

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

PR: https://git.openjdk.org/jdk/pull/26867

Reply via email to