LABEL REPORT: gc-shenandoah

This report shows bugs with the given label, along with their backporting status.

Report generated: Mon Oct 12 07:28:10 CEST 2026

Minimal actionable level to display: WAITING

hotspot/compiler

Fix Versions Bug Synopsis
17 18 19 20 21 22 23 24 25 26 27 28
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8252366 Shenandoah: revert/cleanup changes in graphKit.cpp
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8340186 Shenandoah: Missing load_reference_barrier_phantom_narrow match in is_shenandoah_lrb_call
✖ ✖ ✖ ✖ ✔ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8328107 Shenandoah/C2: TestVerifyLoopOptimizations test failure
✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8316959 Improve InlineCacheBuffer pending queue management

hotspot/gc

Fix Versions Bug Synopsis
17 18 19 20 21 22 23 24 25 26 27 28
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✖ JDK-8342444 Shenandoah: Uncommit regions from a separate, STS aware thread
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8369048 GenShen: Defer ShenFreeSet::available() during rebuild
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8299703 GenShen: improvements in card scanning
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8311843 GenShen: assertion failed "Old generation affiliated regions must be less than capacity"
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8315044 GenShen: Verifier detects clean card should be dirty
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8318462 [GenShen] Prevent unsafe access to displaced mark-word
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8380388 Lilliput2/Shenandoah: Prevent hash-code race during evacuation
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8231366 Shenandoah: Shenandoah String Dedup thread is not properly initialized
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8297796 GenShen: instrument the remembered set scan
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8298597 HdrSeq: support for a merge() method
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8305334 GenShen: reference processing needs a card-marking barrier
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8311883 [Genshen] Adaptive tenuring threshold
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8312117 GenShen: Preempt OLD marking more quickly when YOUNG triggers arise
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8313574 GenShen: Completing a global mark should also complete an old mark
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8314777 GenShen: Alias young and old marking bits to legacy Shenandoah marking bit in gc state
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8315247 GenShen: Condition calls to post-write barrier code generation by a flag
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8315465 GenShen: Old-gen needs special attention during GLOBAL GC
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8315478 GenShen: Tolerate round-off errors in preselected promotion budget
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8315560 GenShen: assert failed: Object klass pointer must go to metaspace
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8315872 GenShen: ShenandoahGenerationalHeap as a subclass of ShenandoahHeap
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8316137 GenShen: missing ShenandoahCardBarrier filter
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8316297 GenShen: Degenerated GCs fail to make progress
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8316299 GenShen: Reduce frequency of expedited GC
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8317049 GenShen: Very rare loss of function for ShenandoahControlThread::_regulator_lock
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8317371 GenShen: Needs improved support for humongous allocation
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8319342 GenShen: Reset the count of degenerated cycles in a row following Full GC
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8324325 [Genshen] Normalize wrt AgeTable changes from JDK-8314329
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8325670 GenShen: Allow old to expand at end of each GC
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8325886 GenShen: separate generational evacuation code
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8329790 GenShen: Old regions that are pinned during final mark are not made parsable
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8330071 GenShen: Allow old to expand again at end of each GC
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8335930 GenShen: Reserve regions within each generation's freeset until available is sufficient
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8346044 GenShen: ShenandoahGenerationalHeap entry missing from Universe.java
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✖ JDK-8346051 MemoryTest fails when Shenandoah's generational mode is enabled
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✖ JDK-8357563 Shenandoah headers leak un-prefixed defines
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ JDK-8361363 ShenandoahAsserts::print_obj() does not work for forwarded objects and UseCompactObjectHeaders
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ JDK-8368152 Shenandoah: Incorrect behavior at end of degenerated cycle
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8200103 Shenandoah: make does not work on armbian stretch 32bit
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8236829 JDK-8232102 backport breaks s390
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8252114 Windows-AArch64: Enable and test ZGC and ShenandoahGC
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8280579 Shenandoah: Skip regions in the back of sorted array when choosing cset
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8282809 Shenandoah Generational: JBB 2015 crash on PPC64 product build
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8282810 Shenandoah Generational: Improve load balancing of remembered set scanning
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ✖ JDK-8282833 Shenandoah Generational: Improve Adaptive Shenandoah Heuristics: trigger more conservatively
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8282840 Shenandoah Generational: Relax enforcement of evacuation budgets
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8282844 Shenandoah Generational: Investigate assertion failure during verification before mark
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8282997 Shenandoah Generational: Mutator threads may fail to evacuate
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8298647 GenShen require heap size 2MB granularity
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8306024 GenShen: Disable failing Shenandoah tests and assertions while corrections are made
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8306333 GenShen: Investigate gc/shenandoah/TestDynamicSoftMaxHeapSize.java#generational
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8306334 Handle preemption of old cycle between filling and bootstrap phases
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8306335 GenShen: Investigate gc/shenandoah/oom/TestThreadFailure.java
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8306336 GenShen: Investigate gc/shenandoah/oom/TestClassLoaderLeak.java
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8306337 GenShen: Investigate gc/shenandoah/mxbeans/TestChurnNotifications.java#generational
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8306339 GenShen: Investigate gc/stress/gcold/TestGCOldWithShenandoah.java#generational
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8309317 [Shenandoah] TestRetainObjects#no-tlab and TestSieveObjects#no-tlab time out on some machines
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8309319 [GenShen] Assertion "used cannot exceed regions" with TestAllocObjects & TestDynamicSoftMaxHeapSize
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8309320 [GenShen] Assertion "size must be multiple of card table size"" with TestElasticTLAB
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8309321 [GenShen] Assertion "Cannot budget more than is available"" with TestGCOldWithShenandoah
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8309322 [GenShen] TestAllocOutOfMemory#large failed
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8309392 [GenShen] Review and correct copyright headers that may have been incorrectly updated
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8309639 GenShen: Regression in LRU cache benchmark
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8309693 Synchronize openjdk/shenandoah:master with changes made for PR
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8309874 NMethod barriers may remain armed when regions are promoted in place
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8310062 [Shenandoah] Incomplete SATB buffers may not be processed during degenerated young collection
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8310574 GenShen: Should not update-references for in-place-promotions
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8310680 GenShen: In-place region promotions may fail
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8311599 GenShen: Missing card mark barrier when processing references
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8311602 GenShen: Decouple generational mode heuristics
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8312321 GenShen: Remembered set scan may encounter garbage objects
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8312322 GenShen: Cancelled GCs may become stuck in self-cancellation loop
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8312422 GenShen: In-place region promotion state may carry over when evacuation fails
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8312610 GenShen: Old generation available is unintentionally restricted by mutator's available memory
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8315479 GenShen: Expand old-gen while selecting collection set during GLOBAL GC
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8315875 GenShen: Remove heap mode check from ShenandoahInitLogger
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8315950 Shenandoah: Improvements to ShenandoahInitLogger
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8316226 GenShen: Consider forcing auto-tenure age to be greater than 1
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8316755 GenShen: Serviceability needs to know about ShenandoahGenerationalHeap
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8317534 GenShen: Remove unused code
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8318019 GenShen: Fix assertion to allow empty evacuation cycles
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8318057 GenShen: investigate small refactor of remset swap code
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8318190 GenShen: Be less aggressive with triggers for old-gen has expanded
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8318201 GenShen: Remove preparatory young GC before bootstrap
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8318570 GenShen: Only start old cycles if a young cycle is ready to run
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8318572 GenShen: Fix error in log message for ingored old-has-grown triggers
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8318619 GenShen: Add configurable threshold for young triggers to expedite old evacuations
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8319198 GenShen: Old at end of Full GC must include newly promoted objects
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8319671 GenShen: Old marking may encounter invalid pointers in SATB buffers
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8319867 GenShen: Make old regions parsable at end of concurrent cycles
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8319931 GenShen: Increase no progress threshold for TestThreadFailure
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8320112 GenShen: Improve end of process report
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8320119 GenShen: Correct misspellings of parsable
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8320336 GenShen: Reduce proactive humongous defragmentation efforts
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8320913 GenShen: Bootstrap 21u backports repo
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8321605 GenShen: Old generation reference process is never reset
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8321806 Shenandoah: each mutator must see FullGC or GC overhead limit is exceeded before throwing OOM
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8321816 GenShen: Provide a minimum amount of time for an old collection to run
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8321937 GenShen: Sync up 21u based repo
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8321939 [GenShen] ShenandoahOldEvacRatioPercent=100 fails with divide-by-zero
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8322219 GenShen: GHA for shenandoah repo should run all shenandoah jtreg tests
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8322242 [GenShen] TestAllocObjects#generational fails with "Unrecognized VM option 'ShenandoahSuspendibleWorkers'"
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8322347 GenShen: Run shenandoah tier2 and tier3 tests separately in GHA
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8322875 [GenShen] Unused/obsolete method parameter consumed_by_advance_promotion
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8323023 GenShen: Region logging test fails intermittently
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8323083 [GenShen] Alloca avoidance, const-safety, interface decluttering in promotion budgeting
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8323630 GenShen: Control thread may (still) ignore requests to start concurrent GC
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8324067 GenShen: Isolate regulator thread to generational mode
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8324173 GenShen: Fix error that could cause young gcs to fail when old marking is running
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8325808 GenShen: Move generational mode code out of shFullGC.cpp
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8325885 GenShen: harmonize with JDK-8325671
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8326626 GenShen: Remove dead code associated with non-elastic TLABS
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8327000 GenShen: Integrate updated Shenandoah implementation of FreeSet into GenShen
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8327097 GenShen: Align PLAB sizes down rather than up
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8327388 GenShen: census during marking is partial
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8328126 GenShen: Reduce verbosity of logging for satb mode
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8328220 GenShen: Move generational mode operational parameters out of ShenandoahHeap
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8328235 GenShen: Robustify ShenandoahGCSession and fix missing use
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8328307 GenShen: Re-enable old-has-grown trigger for old-generation GC
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8328626 GenShen: Combine old generation surplus/deficit fields into a single balance field
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8328985 GenShen: Only use _plabs when Shenandoah mode is generational
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8329342 GenShen: Synchronize shenandoah-jdk21u:master with shenandoah:master
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8329350 GenShen: Do not reset mark bitmaps on a safepoint
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8329699 GenShen: Move promotion logic out of shHeap and shHeapRegion
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8329789 GenShen: Over assertive assert when scanning remembered set
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8329807 Shenandoah: Temporarily revert JDK-8324655
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8330414 GenShen: Class unloading requires old regions be made parseable
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8331609 GenShen: Refactor generational mode allocations
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8332081 GenShen: Disentangle generational mode update references
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8332094 GenShen: Reuse existing code to verify usage before rebuilding free set
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8332095 GenShen: Move more generational mode members out of shHeap
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8332254 GenShen: Remove obsolete comments and revert unnecessary formatting changes
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8332330 Shenandoah: Change jcheck configuration for fix version to match project repo
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8332331 Shenandoah: Change jcheck configuration for fix version to match project repo
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8332548 GenShen: Factor generational mode out of gc helpers
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8332824 GenShen: Temporarily revert recent changes to GC helpers
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8332913 GenShen: Restore shared update refs iterator
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8333109 GenShen: Factor generational mode out of gc helpers (redo)
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8333457 GenShen: Move remembered set into new generational code
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8333750 GenShen: Only instantiate young/old generations in generational mode
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8333825 GenShen: Revert/Remove ShenandoahMaxEvacLABRatio
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8333930 GenShen: Check for cancellation of old mark after final mark
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8334491 GenShen: Revert changes to Shenandoah defaults
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8334681 GenShen: Do not use gtest skip test feature
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8335289 GenShen: Whitebox breakpoint GC requests may cause assertions
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8335347 GenShen: Revert change that has adaptive heuristic ignore abbreviated cycles
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8335932 GenShen: Fix old heuristic unit test
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8336106 Genshen: Fix use of missing API in Shenandoah Old Heuristic test
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8337242 GenShen: Remove unnecessary copyright changes
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8337847 [GenShen] jdk.test.whitebox.Whitebox.isObjectInOldGen misreports
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338336 GenShen: Cleanup stale TODOs
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338341 GenShen: Cleanup headers, unreachable code and unintentional changes
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338420 GenShen: Forward declare card table for Shenandoah barrier set
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338473 GenShen: Cleanup access levels, whitespace, typos and unused code
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338477 GenShen: Cleanup generational heap
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338479 GenShen: Detemplatize ShenandoahScanRemembered
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338528 GenShen: Cleanup shenandoahHeapRegion
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338535 GenShen: some style improvements to source code implementation
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338695 GenShen: Clean up jtreg tests
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338717 GenShen: Fix up some assertions
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338763 GenShen: Global GC should not swap remembered sets for the verifier
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338779 GenShen: Prefer log_develop_debug in performance critical code
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338780 GenShen: Fix up some comments
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8338881 GenShen: Use explicit third temp register for post barrier
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8339094 Shenandoah: Fix up test output from ShenandoahNumberSeqTest
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8339127 GenShen: Restore completed mark context assertion during class unloading
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8339197 GenShen: Adding Generation and Evacuation Information JFR Logging
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8339346 GenShen: Remove even more stale TODOs
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8339612 GenShen: Consider not promoting humongous objects that represent primitive arrays
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8339616 GenShen: Introduce new state to distinguish promote-in-place phase as distinct from concurrent evacuation
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8339643 Port JEP 404 to RISC-V
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8339695 GenShen: Concurrent reset performance has regressed
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8339870 Remove yet more stale TODOs
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8340395 GenShen: Remove unnecessary check on card barrier flag
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8340695 GenShen: Clean up failing tests
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8341042 GenShen: Reset mark bitmaps for unaffiliated regions when preparing for a cycle
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8341099 GenShen: assert(HAS_FWD == _heap->has_forwarded_objects()) failed: Forwarded object status is sane
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8341485 GenShen: Make evac tracker a non-product feature and confine it to generational mode
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8341992 GenShen: Fix formatting, remove unreachable code, unused imports and unnecessary comments
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342001 GenShen: Factor cases for allocation type into separate methods
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342214 GenShen: Reduce code duplication in shFreeSet with iterator abstraction
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342239 GenShen: Revert changes in adaptive heuristic to avoid overflow on 32 bit
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342255 GenShen: Remove unnecessary enum initial values
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342278 GenShen: Move non-generational mode test out of generational test configuration
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342560 GenShen: Fix confusing method name
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342564 GenShen: Only reference young/old generation names in generational mode
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342580 GenShen: TestChurnNotifications fails executing in unintended test-id modes with ShenandoahGCMode=generational
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342734 GenShen: Test failure gc/shenandoah/TestReferenceRefersToShenandoah.java#generational
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342848 Shenandoah: Marking bitmap may not be completely cleared in generational mode
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342861 GenShen: Old generation in unexpected state when abandoning mixed gc candidates
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342919 GenShen: Fix whitespace
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342924 GenShen: Problem list gc/shenandoah/TestReferenceRefersToShenandoah.java
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8342927 GenShen: Guarantee slices of time for coalesce and filling
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8343226 Shenandoah: Move tenuring threshold constraint functions into shared constraints
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8343227 GenShen: Fold resource mark into management of preselected regions
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8343649 Shenandoah: ShenandoahEvacInfo event does not follow JFR guidelines
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344107 Shenandoah: "embedded oops must be OK" assert failure
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344151 GenShen: Improve comments, clean up unnecessary changes
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344152 GenShen: Initialize RegionData in product builds
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344260 GenShen: Excess unaffiliated regions reserved for old will not be transferred to young
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344263 GenShen: Reduce extraneous log messages at INFO level
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344264 GenShen: Improve comments and method names
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344320 GenShen: Possible null pointer usage in shGenerationalHeap
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344321 GenShen: Fix various sonar scan warnings
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344339 GenShen: Avoid using namespaces
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344592 GenShen: Remove unnecessary comments and changes
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344638 GenShen: Verifier should not touch claim token
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344640 GenShen: Reuse existing card mark barrier function when dropping references
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344670 GenShen: Use concurrent worker session for concurrent mark phase
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344779 GenShen: Consolidate shared heap region closures into one header
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344797 GenShen: Update and rename confusing method
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8344985 GenShen: Refactor arraycopy barrier for generational mode
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8346681 Shenandoah: Does not throw OOME when EATests expects it
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8364297 Shenandoah: Do not retire regions only because available < ShenandoahEvacWaste
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8381331 Shenandoah: Implement CAS allocator for OldCollector
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8387285 [Lilliput2] Shenandoah: Preserve hash after humongous compaction
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8312112 GenShen: multiple problems observed in a GC log file
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8312115 GenShen: fix log messages
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8325673 GenShen: Share Reserves between Old and Young Collector
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8361706 Parallel weak klass link cleaning does not clean out previous klasses
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8390122 Shenandoah: SBS::oop_load drops memory ordering decorators
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8361342 Shenandoah: Evacuation may assert on invalid mirror object after JDK-8340297
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8364183 Shenandoah: Improve commit/uncommit handling
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8372543 Shenandoah: undercalculated the available size when soft max takes effect
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8383176 Shenandoah: Skip marked objects in final verification steps
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8335126 Shenandoah: Improve OOM handling
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ✖ ❉ ✖ JDK-8383196 Shenandoah: Interpreter barriers clobber interpreter registers
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ✖ ❉ ✖ JDK-8384274 Shenandoah: GC checks in C1 LRB clobber fastpath result
✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8310110 Shenandoah: Trace page sizes
✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8311978 Shenandoah: Create abstraction over heap metrics for heuristics
✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8310388 Shenandoah: Auxiliary bitmap is not madvised for THP
✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8316632 Shenandoah: Raise OOME when gc threshold is exceeded
✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8320969 Shenandoah: Enforce stable number of GC workers
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8322954 Shenandoah: Convert evac-update closures asserts to rich asserts
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8322815 Eliminate -Wparentheses warnings in shenandoah code
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8323627 Shenandoah: Refactor init logger
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8323629 Shenandoah: Fix missing include and declaration
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8324334 Shenandoah: Improve end of process report
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8324553 Shenandoah: Move periodic tasks closer to their collaborators
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8324981 Shenandoah: Move commit and soft max heap changed methods into heap
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8325516 Shenandoah: Move heap change tracking into ShenandoahHeap
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8325517 Shenandoah: Reduce unnecessary includes from shenandoahControlThread.cpp
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8325574 Shenandoah: Simplify and enhance reporting of requested GCs
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8332255 Shenandoah: Remove duplicate definition of init mark closure
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8332082 Shenandoah: Use consistent tests to determine when pre-write barrier is active
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8333105 Shenandoah: Results of concurrent mark may be lost for degenerated cycle
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8333926 Shenandoah: Lower default immediate garbage threshold
✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ ✔ ✖ ✖ ✖ JDK-8334147 Shenandoah: Avoid taking lock for disabled free set logging
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8335356 Shenandoah: Improve concurrent cleanup locking
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8337213 Shenandoah: Add verification for class mirrors
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8336742 Shenandoah: Add more verbose logging/stats for mark termination attempts
✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ ✔ ✖ ✖ ✖ JDK-8336914 Shenandoah: Missing verification steps after JDK-8255765
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8338444 Shenandoah: Remove ShenandoahHumongousThreshold tunable
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8338662 Shenandoah: Remove excessive ShenandoahVerifier::verify_during_evacuation
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8340181 Shenandoah: Cleanup ShenandoahRuntime stubs
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8342081 Shenandoah: Remove extra ShenandoahMarkUpdateRefsSuperClosure
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8342079 Shenandoah: Remove extra ShenandoahInitMarkRootsClosure
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8342119 Shenandoah: Remove extra ShenandoahUpdateRefsClosure
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✖ JDK-8350285 Shenandoah: Regression caused by ShenandoahLock under extreme contention
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✖ JDK-8350314 Shenandoah: Capture thread state sync times in GC timings
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ JDK-8361948 Shenandoah: region free capacity unit mismatch
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ JDK-8246037 Shenandoah: update man pages to mention -XX:+UseShenandoahGC
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ JDK-8264851 Shenandoah: Rework control loop mechanics to use timed waits
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ JDK-8241066 Shenandoah: fix or cleanup SH::do_full_collection
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ JDK-8261743 Shenandoah: enable String deduplication with compact heuristics
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ JDK-8372861 Genshen: Override parallel_region_stride of ShenandoahResetBitmapClosure to a reasonable value for better parallelism
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ✖ ❉ ✖ JDK-8382608 Shenandoah: STS yield deadlocks in OOM-evac scope
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ✖ ❉ ✖ JDK-8383183 Shenandoah: Mangle trashed regions up to top instead of end
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8314329 AgeTable: add is_clear() & allocation spec, and relax assert to allow use of 0-index slot
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8357818 Shenandoah doesn't use shared API for printing heap before/after GC
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8365622 Shenandoah: Fix Shenandoah simple bit map test
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8371667 Shenandoah: Re-design alloc request type enum for better efficiency and cleaner code
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8379531 Shenandoah: Allow safepoint preemption during allocation of very large arrays
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8388139 Shenandoah: -XX:+VerifyOops fails on forwarded objects with COH
✖ ❉ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8273559 Shenandoah: Shenandoah should support multi-threaded heap dump
✖ ✖ ✖ ✖ ✔ ✖ ✔ ❉ ✔ ✖ ✖ ✖ JDK-8333088 ubsan: shenandoahAdaptiveHeuristics.cpp:245:44: runtime error: division by zero
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ✖ ❉ ✖ JDK-8376472 Shenandoah: Assembler store barriers read destination memory despite the decorators
✖ ✖ ✖ ✖ 👎 ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8309953 Strengthen and optimize oopDesc age methods
✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8314935 Shenandoah: Unable to throw OOME on back-to-back Full GCs
✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8317535 Shenandoah: Remove unused code
✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8320877 Shenandoah: Remove ShenandoahUnloadClassesFrequency support
✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8320888 Shenandoah: Enable ShenandoahVerifyOptoBarriers in debug builds
✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8320907 Shenandoah: Remove ShenandoahSelfFixing flag
✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8321120 Shenandoah: Remove ShenandoahElasticTLAB flag
✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8321122 Shenandoah: Remove ShenandoahLoopOptsAfterExpansion flag
✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8321410 Shenandoah: Remove ShenandoahSuspendibleWorkers flag
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8325807 Shenandoah: Refactor full gc in preparation for generational mode changes
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8332256 Shenandoah: Do not visit heap threads during shutdown
✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8332257 Shenandoah: Move evacuation methods to implementation file
✖ ✖ ✖ ✖ ✔ ✖ ❉ ✖ ✔ ✖ ✖ ✖ JDK-8331572 Allow using OopMapCache outside of STW GC phases
✖ ✖ ✖ ✖ ✔ ✖ ✔ ❉ ✔ ✖ ✖ ✖ JDK-8333728 ubsan: shenandoahFreeSet.cpp:1347:24: runtime error: division by zero
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8336944 Shenandoah: Should only relativize stack chunks for successful evacuations
✖ ✖ ✖ ✖ ✔ ✖ ✔ ❉ ✔ ✖ ✖ ✖ JDK-8336640 Shenandoah: Parallel worker use in parallel_heap_region_iterate
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8336685 Shenandoah: Remove experimental incremental update mode
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8335865 Shenandoah: Improve THP pretouch after JDK-8315923
✖ ✖ ✖ ✖ ✔ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8338202 Shenandoah: Improve handshake closure labels
✖ ✖ ✖ ✖ ✔ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8337981 ShenandoahHeap::is_in should check for alive regions
✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8341379 Shenandoah: Improve lock contention during cleanup
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✖ JDK-8350905 Shenandoah: Releasing a WeakHandle's referent may extend its lifetime
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✖ JDK-8354452 Shenandoah: Enforce range checks on parameters controlling heuristic sleep times
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✖ JDK-8354541 Remove Shenandoah post barrier expand loop opts
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ JDK-8364936 Shenandoah: Switch nmethod entry barriers to conc_instruction_and_data_patch
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ JDK-8371381 [Shenandoah] Setting ergo flags should use FLAG_SET_ERGO
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ ✖ ✖ JDK-8372513 Shenandoah: ShenandoahMaxRegionSize can produce an unaligned heap alignment
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ✔ ❉ ✖ JDK-8373714 Shenandoah: Register heuristic penalties following a degenerated GC
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ✖ ❉ ✖ JDK-8376970 Shenandoah: Verifier should do basic verification before touching oops
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ✖ ❉ ✖ JDK-8380431 Shenandoah: Concurrent modification of stack-chunk objects during evacuation
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ✖ ❉ ✖ JDK-8335355 Shenandoah: Fix race condition in gc/shenandoah/mxbeans/TestPauseNotifications.java
❉ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8258251 Move PtrQueue behaviors to PtrQueueSet subclasses
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8383650 Shenandoah: Missing card table updates for pinned regions
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8382390 Shenandoah: heap usage log improvement
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8382627 Shenandoah: assert(old_reserve_result + young_reserve_result <= old_available + young_available) failed
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8392481 Shenandoah: Degenerated GC keeps dangling young pointers in SATB buffers
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8359947 GenShen: use smaller TLABs by default
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8350050 Shenandoah: Disable and purge allocation pacing support
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8361712 Improve ShenandoahAsserts printing
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8364081 Shenandoah & GenShen logging improvement
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8365572 Shenandoah: Remove unused thread local _paced_time field
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8369068 GenShen: Generations still aren't reconciled assertion failure
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8370520 GenShen: Track and report on promotion failures
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8369013 Shenandoah: passive mode should support enabling ShenandoahCardBarrier
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8370667 GenShen: Only make assertions about region pinning for collected generation
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8370726 GenShen: Misplaced assertion that old referent is marked during young collection
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8370041 GenShen: Filter young pointers from thread local SATB buffers when only marking old
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8372444 Genshen: Optimize evacuation function
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ JDK-8373048 Genshen: Remove dead code from Shenandoah
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8373054 Shenandoah: Remove unnecessary BarrierSetNMethod::arm in shenandoahCodeRoots
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8373225 GenShen: More adaptive old-generation growth heuristics
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8373100 Genshen: Control thread can miss allocation failure notification
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8373720 GenShen: Count live-at-old mark using Snapshot at Beginning
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8351892 GenShen: Remove vestigial young generation sizing options
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8376531 Genshen: Convert ShenandoahOldGeneration to use Atomic
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8377180 Shenandoah: make escalation from degen to full more conservative
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8377200 Shenandoah: Convert shenandoahSharedVariables and related code to use Atomic
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8377396 GenShen: Consolidate and simplify in place region promotions
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8377048 Shenandoah: shenandoahLock related improvments
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8378338 Shenandoah: Heap-used generic verification error after update-refs
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8378806 Genshen: Add scope of collection to end of cycle message in JMX notification
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8380562 GenShen: GC notification event may see invalid values
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8379020 GenShen: Promote all objects when whitebox full GC is requested
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8377976 GenShen: Explicit GC requests must clear concurrent gc request cancellation
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8380958 GenShen: Regulator thread may observe inconsistent old generation state
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8382211 Shenandoah: Clean up and wire up final verification
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8381985 Shenandoah: allocation rate sample could be wrong in some rare cases
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8382277 Shenandoah: Improve mutator runtime entry points
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8345301 GenShen: TestShenandoahEvacuationInformationEvent.java intermittent fails
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8345501 GenShen: Test TestEvilSyncBug.java#generational intermittent timed out
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8376626 Shenandoah: Remove command line options for setting min and max region sizes
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8381550 Shenandoah: Fix confusing end of degenerated cycle log message
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8381154 Shenandoah: Region states could be read in wrong order for comparisons
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8382636 Shenandoah: Use self-forwarding to handle OOM during evacuation
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8383810 Shenandoah: Simplify native CAS barriers
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8384080 Shenandoah: Simplify C1 CAS barriers
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8383847 Shenandoah: gc/TestJNIWeak/TestJNIWeak.java times out intermittently
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8384801 Shenandoah: ShouldNotReachHere() in shenandoahSupport.cpp with AllocatePrefetchStyle=3
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8384514 Shenandoah: gc/shenandoah/mxbeans/TestCycleEndMessage.java intermittent fails
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8385179 Shenandoah: Simplify and optimize string deduplication
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8385334 Shenandoah: Improve gc+stats logging
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8384221 GenShen: WhiteBox full GC promotion is not reliable
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8384604 Shenandoah: Completed GC count doesn't add up in the log
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8385333 Shenandoah: Final mark spins up workers without work to do
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8386202 Genshen: Regulator thread reporting hiccup times proportional to safepoint times
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8386204 GenShen: Bootstrap cycles are misidentified in logs
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8386288 GenShen: assert(region->get_top_before_promote() == nullptr) failed: Cannot add region scheduled for in-place-promotion to the collection set
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8386992 Shenandoah: Pad hot atomic counters to avoid false sharing on the allocation path
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8387047 Shenandoah: Purge SBS::resolve_forwarded
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8385643 Shenandoah: Rework mark loop inlining
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8386292 Shenandoah: Simplify and strengthen C1 barriers
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8386910 Shenandoah: remove redundant logging of free set status
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8387293 Shenandoah: Improve gc+stats logging for generational mode
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8382213 Shenandoah: Drop weak root processing flags earlier
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8386512 Shenandoah: Add a diagnostic option to facilitate testing pinned regions
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8387707 Shenandoah: Simplify reserved queue handling in mark loop
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8386872 Test gc/shenandoah/generational/TestOldGrowthTriggers still fails intermittently
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8387961 Shenandoah: Rework marked objects loop prefetch
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8388058 Shenandoah: Refactor arraycopy_work
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8387463 Shenandoah: Use direct oop_oop_iterate methods for known types in marking loops
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8388487 Shenandoah: Robust stack watermark epoch wraparound
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8388756 Shenandoah: Re-learning at explicit GC request considered harmful
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8388880 Shenandoah: Improve pinning performance
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8388292 Shenandoah: Micro-optimize CompressedOops uses
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8390307 Shenandoah: Print region age in region printouts
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8390310 Shenandoah: Abbreviated cycles should allow promotion-in-place
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8390390 Shenandoah: ShenandoahAdaptiveInitialConfidence accepts negative values
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8390907 Genshen: Improve mark loop performance
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8387026 Shenandoah: Cleanup and outline native barriers
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8391299 Shenandoah: Improve GC trigger messages
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8391311 GenShen: Avoid double region iteration in final mark
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8391062 Shenandoah: Drain overflow queues eagerly
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8391488 GenShen: Remembered set scan should use compact-object-header aware accessors
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8391194 Shenandoah: Rebalance marking queues upfront
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✔ ❉ JDK-8391977 Shenandoah: Internal memory should be mtGC
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ JDK-8391591 GenShen: Humongous allocation failure should trigger a degenerated cycle instead of a full GC
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ ✖ ✖ JDK-8356990 JEP 521: Generational Shenandoah
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ❉ ✖ JDK-8377041 Shenandoah: Use Atomic for volatile fields accessed with AtomicAccess in Shenandoah related code
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✊ ✖ ✔ ❉ JDK-8389846 GenShen: ShenandoahScanRemembered::process_clusters may miss dirty cards when use write table
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ✊ ❉ ✖ ✖ JDK-8371573 Shenandoah: Remove unnecessary include after JDK-8351091
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ♨ ✖ ✖ ❉ JDK-8393082 Shenandoah: SATB flush on thread detach should be the last action
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ♨ ✖ ✖ ❉ JDK-8393229 GenShen: Remembered set scan should use compact-object-header aware accessors for update refs too
✖ ✖ ✖ ✖ ✖ ✖ ✖ ✖ ♨ ✖ ✖ ❉ JDK-8393658 Shenandoah: Disable gc/logging/TestUnifiedLoggingSwitchStress.java test

hotspot/jfr

Fix Versions Bug Synopsis
17 18 19 20 21 22 23 24 25 26 27 28
✖ ✖ ✖ ✖ ✔ ✖ ✖ ❉ ✔ ✖ ✖ ✖ JDK-8279016 JFR Leak Profiler is broken with Shenandoah

hotspot/other

Fix Versions Bug Synopsis
17 18 19 20 21 22 23 24 25 26 27 28
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8310075 Revert accidental change to jcheck configuration for shenandoah project

hotspot/runtime

Fix Versions Bug Synopsis
17 18 19 20 21 22 23 24 25 26 27 28
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8252096 Shenandoah: adjust SerialPageShiftCount for x86_32 and JFR

infrastructure/build

Fix Versions Bug Synopsis
17 18 19 20 21 22 23 24 25 26 27 28
✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ ✔ ✖ ✖ ✖ JDK-8321123 [Shenandoah/JDK21] Fix repo permissions