> 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 156 commits: - Merge remote-tracking branch 'jdk/master' into freeset-has-authoritative-tallies - reviewer feedback - 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 - ... and 146 more: https://git.openjdk.org/jdk/compare/d18e815b...657529e3 ------------- Changes: https://git.openjdk.org/jdk/pull/26867/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26867&range=33 Stats: 3531 lines in 44 files changed: 2118 ins; 1009 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
