> 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 with a new target base due to a 
merge or a rebase. The pull request now contains 154 commits:

 - Merge remote-tracking branch 'jdk/master' into 
freeset-has-authoritative-tallies
 - Rework implementation of CompressedClassSpaceSizeInJmapHeap.java
 - fix errors in CompressedClassSpaceSizeInJmapHeap.java
 - Add debug instrumentation to CompressedClassSpaceSizeInJmapHeap.java
 - Add sleep to CompressedClassSpaceSizeInJmapHeap.java test
 - Fix up vmstructs and other infrastructure for jmap heap dump
 - After initialization, check for SoftMaxHeapSize changed by constraints 
enforcement
 - clamp SoftMaxHeapSize during initialization
 - revert change to SoftMaxHeapSizeConstraintFunc
 - fix anothr override declaration
 - ... and 144 more: https://git.openjdk.org/jdk/compare/97e5ac6e...abf9b1f8

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

Changes: https://git.openjdk.org/jdk/pull/26867/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26867&range=31
  Stats: 3529 lines in 44 files changed: 2120 ins; 1005 del; 404 mod
  Patch: https://git.openjdk.org/jdk/pull/26867.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26867/head:pull/26867

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

Reply via email to