> 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
