LABEL REPORT: gc-shenandoah

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

Report generated: Mon Aug 10 13:33:27 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-8383196 Shenandoah: Interpreter barriers clobber interpreter registers
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-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-8338202 Shenandoah: Improve handshake closure labels
JDK-8335865 Shenandoah: Improve THP pretouch after JDK-8315923
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-8372498 [genshen] gc/TestAllocHumongousFragment.java#generational causes intermittent SIGSEGV crashes
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-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-8382150 Shenandoah: Clean up nmethod entry barrier support
JDK-8382211 Shenandoah: Clean up and wire up final verification
JDK-8382257 Shenandoah: Clean up stack watermark barrier support
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-8382933 Improve Shenandoah clone barrier tests
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-8383642 Additional Shenandoah clone barrier tests
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-8385180 Shenandoah: Load klass once in marking task
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-8382213 Shenandoah: Drop weak root processing flags earlier
JDK-8386910 Shenandoah: remove redundant logging of free set status
JDK-8387293 Shenandoah: Improve gc+stats logging for generational mode
JDK-8387713 Shenandoah: Rework native card table barrier
JDK-8386512 Shenandoah: Add a diagnostic option to facilitate testing pinned regions
JDK-8387707 Shenandoah: Simplify reserved queue handling in mark loop
JDK-8387907 Shenandoah: Marking loop prefetch
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-8356990 JEP 521: Generational Shenandoah
JDK-8377041 Shenandoah: Use Atomic for volatile fields accessed with AtomicAccess in Shenandoah related code
JDK-8373116 Genshen: arraycopy_work should be always done for arrays in old gen during young concurrent marking
JDK-8371573 Shenandoah: Remove unnecessary include after JDK-8351091
JDK-8370039 GenShen: array copy SATB barrier improvements
JDK-8388449 GenShen: Degenerated cycle could be skipped
JDK-8387391 hotspot_gc_shenandoah should include gtests
JDK-8388809 Shenandoah: Control thread may observe incorrect cancellation reason
JDK-8389905 Shenandoah: SBSA::card_table uses own temp registers that clobber obj
JDK-8389846 GenShen: ShenandoahScanRemembered::process_clusters may miss dirty cards when use write table
JDK-8388880 Shenandoah: Improve pinning performance

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