git: openjdk/jdk: master: 8337511: Implement JEP 404: Generational Shenandoah (Experimental)
William Kemper
wkemper at openjdk.org
Fri Nov 29 20:54:35 UTC 2024
Changeset: 28ae281b
Branch: master
Author: William Kemper <wkemper at openjdk.org>
Date: 2024-11-29 20:53:07 +0000
URL: https://git.openjdk.org/jdk/commit/28ae281b42cd00f471e275db544a5d23a42df59c
8337511: Implement JEP 404: Generational Shenandoah (Experimental)
Co-authored-by: Kelvin Nilsen <kdnilsen at openjdk.org>
Co-authored-by: Y. Srinivas Ramakrishna <ysr at openjdk.org>
Co-authored-by: Bernd Mathiske <bmathiske at openjdk.org>
Co-authored-by: Martin Doerr <mdoerr at openjdk.org>
Co-authored-by: Fei Yang <fyang at openjdk.org>
Reviewed-by: rkennke, shade, phh
! src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp
! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp
! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp
! src/hotspot/cpu/ppc/gc/shenandoah/c1/shenandoahBarrierSetC1_ppc.cpp
! src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.cpp
! src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.hpp
! src/hotspot/cpu/riscv/gc/shenandoah/c1/shenandoahBarrierSetC1_riscv.cpp
! src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp
! src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.hpp
! src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp
! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp
! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp
! src/hotspot/share/gc/shared/cardTable.cpp
! src/hotspot/share/gc/shared/gcConfiguration.cpp
! src/hotspot/share/gc/shared/gcName.hpp
! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp
! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp
! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp
! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp
! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp
! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp
! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp
! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp
+ src/hotspot/share/gc/shenandoah/heuristics/shenandoahGenerationalHeuristics.cpp
+ src/hotspot/share/gc/shenandoah/heuristics/shenandoahGenerationalHeuristics.hpp
+ src/hotspot/share/gc/shenandoah/heuristics/shenandoahGlobalHeuristics.cpp
+ src/hotspot/share/gc/shenandoah/heuristics/shenandoahGlobalHeuristics.hpp
! src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.cpp
! src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.hpp
+ src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp
+ src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.hpp
! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp
! src/hotspot/share/gc/shenandoah/heuristics/shenandoahSpaceInfo.hpp
! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp
+ src/hotspot/share/gc/shenandoah/heuristics/shenandoahYoungHeuristics.cpp
+ src/hotspot/share/gc/shenandoah/heuristics/shenandoahYoungHeuristics.hpp
+ src/hotspot/share/gc/shenandoah/mode/shenandoahGenerationalMode.cpp
+ src/hotspot/share/gc/shenandoah/mode/shenandoahGenerationalMode.hpp
+ src/hotspot/share/gc/shenandoah/mode/shenandoahMode.cpp
! src/hotspot/share/gc/shenandoah/mode/shenandoahMode.hpp
! src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp
! src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.hpp
! src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.cpp
! src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahAffiliation.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahAgeCensus.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahAgeCensus.hpp
! src/hotspot/share/gc/shenandoah/shenandoahAllocRequest.hpp
! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp
! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp
! src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp
! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahCardStats.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahCardStats.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahCardTable.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahCardTable.hpp
! src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp
! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahCollectionSetPreselector.hpp
! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.cpp
! src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp
! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp
! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.hpp
! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp
! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp
! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp
! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp
! src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahEvacInfo.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahEvacTracker.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahEvacTracker.hpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp
! src/hotspot/share/gc/shenandoah/shenandoahGC.cpp
! src/hotspot/share/gc/shenandoah/shenandoahGC.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahGeneration.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahGenerationSizer.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahGenerationSizer.hpp
! src/hotspot/share/gc/shenandoah/shenandoahGenerationType.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahGenerationalControlThread.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahGenerationalEvacuationTask.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahGenerationalEvacuationTask.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahGenerationalFullGC.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahGenerationalFullGC.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahGlobalGeneration.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahGlobalGeneration.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahHeapRegionClosures.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahHeapRegionClosures.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionCounters.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionCounters.hpp
! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp
! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahMarkBitMap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMarkBitMap.hpp
! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp
! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahMmuTracker.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahMmuTracker.hpp
! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp
! src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.cpp
! src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahOldGC.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahOldGC.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.hpp
! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp
! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp
! src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahRegulatorThread.hpp
! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp
! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.hpp
! src/hotspot/share/gc/shenandoah/shenandoahSATBMarkQueueSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp
! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp
! src/hotspot/share/gc/shenandoah/shenandoahStackWatermark.cpp
! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.inline.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.cpp
! src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahTrace.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahTrace.hpp
! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp
! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp
! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp
! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp
! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp
! src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp
! src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.cpp
! src/hotspot/share/gc/shenandoah/shenandoahWorkerPolicy.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahYoungGeneration.cpp
+ src/hotspot/share/gc/shenandoah/shenandoahYoungGeneration.hpp
! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp
! src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp
! src/hotspot/share/jfr/metadata/metadata.xml
! src/hotspot/share/prims/whitebox.cpp
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahGeneration.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahGenerationalHeap.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeap.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/Universe.java
! src/jdk.jfr/share/conf/jfr/default.jfc
! src/jdk.jfr/share/conf/jfr/profile.jfc
! test/hotspot/gtest/gc/shenandoah/test_shenandoahNumberSeq.cpp
+ test/hotspot/gtest/gc/shenandoah/test_shenandoahOldGeneration.cpp
+ test/hotspot/gtest/gc/shenandoah/test_shenandoahOldHeuristic.cpp
! test/hotspot/jtreg/ProblemList.txt
! test/hotspot/jtreg/gc/TestAllocHumongousFragment.java
! test/hotspot/jtreg/gc/shenandoah/TestAllocIntArrays.java
! test/hotspot/jtreg/gc/shenandoah/TestAllocObjectArrays.java
! test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java
! test/hotspot/jtreg/gc/shenandoah/TestArrayCopyCheckCast.java
! test/hotspot/jtreg/gc/shenandoah/TestArrayCopyStress.java
! test/hotspot/jtreg/gc/shenandoah/TestDynamicSoftMaxHeapSize.java
! test/hotspot/jtreg/gc/shenandoah/TestEvilSyncBug.java
! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java
! test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java
! test/hotspot/jtreg/gc/shenandoah/TestJcmdHeapDump.java
! test/hotspot/jtreg/gc/shenandoah/TestLargeObjectAlignment.java
! test/hotspot/jtreg/gc/shenandoah/TestLotsOfCycles.java
! test/hotspot/jtreg/gc/shenandoah/TestObjItrWithHeapDump.java
- test/hotspot/jtreg/gc/shenandoah/TestParallelRefprocSanity.java
! test/hotspot/jtreg/gc/shenandoah/TestPeriodicGC.java
! test/hotspot/jtreg/gc/shenandoah/TestReferenceRefersToShenandoah.java
! test/hotspot/jtreg/gc/shenandoah/TestReferenceShortcutCycle.java
! test/hotspot/jtreg/gc/shenandoah/TestRefprocSanity.java
! test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java
+ test/hotspot/jtreg/gc/shenandoah/TestRegionSamplingLogging.java
! test/hotspot/jtreg/gc/shenandoah/TestResizeTLAB.java
! test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java
+ test/hotspot/jtreg/gc/shenandoah/TestShenandoahRegionLogging.java
! test/hotspot/jtreg/gc/shenandoah/TestSieveObjects.java
! test/hotspot/jtreg/gc/shenandoah/TestSmallHeap.java
! test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java
! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java
! test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java
! test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java
! test/hotspot/jtreg/gc/shenandoah/TestVerifyLevels.java
! test/hotspot/jtreg/gc/shenandoah/TestWithLogLevel.java
! test/hotspot/jtreg/gc/shenandoah/TestWrongArrayMember.java
! test/hotspot/jtreg/gc/shenandoah/compiler/TestClone.java
! test/hotspot/jtreg/gc/shenandoah/compiler/TestReferenceCAS.java
+ test/hotspot/jtreg/gc/shenandoah/generational/TestConcurrentEvac.java
+ test/hotspot/jtreg/gc/shenandoah/generational/TestOldGrowthTriggers.java
+ test/hotspot/jtreg/gc/shenandoah/generational/TestSimpleGenerational.java
! test/hotspot/jtreg/gc/shenandoah/jni/TestJNICritical.java
! test/hotspot/jtreg/gc/shenandoah/jni/TestJNIGlobalRefs.java
! test/hotspot/jtreg/gc/shenandoah/jni/TestPinnedGarbage.java
! test/hotspot/jtreg/gc/shenandoah/jvmti/TestHeapDump.java
! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java
! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestMemoryMXBeans.java
! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestMemoryPools.java
! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java
- test/hotspot/jtreg/gc/shenandoah/oom/TestAllocLargeObj.java
- test/hotspot/jtreg/gc/shenandoah/oom/TestAllocLargerThanHeap.java
+ test/hotspot/jtreg/gc/shenandoah/oom/TestAllocOutOfMemory.java
- test/hotspot/jtreg/gc/shenandoah/oom/TestAllocSmallObj.java
! test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java
! test/hotspot/jtreg/gc/shenandoah/oom/TestThreadFailure.java
! test/hotspot/jtreg/gc/shenandoah/options/TestModeUnlock.java
! test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java
! test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierEnable.java
! test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java
! test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithShenandoah.java
! test/hotspot/jtreg/gc/stress/systemgc/TestSystemGCWithShenandoah.java
+ test/jdk/jdk/jfr/event/gc/detailed/TestShenandoahEvacuationInformationEvent.java
! test/lib/jdk/test/lib/jfr/EventNames.java
More information about the jdk-changes
mailing list