I make tools for understanding the Java Virtual Machine. Please support my work by sponsoring me on GitHub. Thank you!

VM Options Explorer - Switch comparison of OpenJDK16 vs SapMachine


SapMachine changed default values for:

NameOpenJDK16 valueSapMachine value
C1UpdateMethodDatatrueInTieredtrue
ExtensiveErrorReportsPRODUCT_ONLY(false) NOT_PRODUCT(true)PRODUCT_ONLY(true) NOT_PRODUCT(true)
LogEventsBufferEntries2075
MarkStackSizeNOT_LP64(32*K) LP64_ONLY(4*M)NOT_LP64(64*K) LP64_ONLY(4*M)
NativeMemoryTrackingoffDEBUG_ONLY(summary
NmethodSweepActivity104
PrintExtendedThreadInfofalsetrue
SelfDestructTimer00.0
SweeperThreshold0.515.0
VerifyArchivedFieldstrueInDebug0

SapMachine added:

ArchiveHeapTestClass
ArrayOperationPartialInlineSize
AsyncLogBufferSize
AutoCreateSharedArchive
CICountNative
CompressedClassSpaceBaseAddress
DoJVMTIVirtualThreadTransitions
DummyManageableStringFlag
DumpVitalsAtExit
DuplicateBackedge
EliminateAllocationFieldsLimit
EnableJVMTIStackDepthAsserts
EnableMallocTrace
EnableVitals
ErrorLogPrintCodeLimit
ExitVMOnOutOfMemoryError
ExtentLocalCacheSize
G1EagerReclaimRemSetThreshold
G1EvacuationFailureALotCSetPercent
G1NumCardsCostSampleThreshold
G1RemSetArrayOfCardsEntries
G1RemSetArrayOfCardsEntriesBase
G1RemSetCoarsenHowlBitmapToHowlFullPercent
G1RemSetCoarsenHowlToFullPercent
G1RemSetFreeMemoryKeepExcessRatio
G1RemSetFreeMemoryRescheduleDelayMillis
G1RemSetFreeMemoryStepDurationMillis
G1RemSetHowlMaxNumBuckets
G1RemSetHowlNumBuckets
G1RestoreRetainedRegionChunksPerWorker
G1UseConcRefinement
G1UsePreventiveGC
GCCardSizeInBytes
HeapDumpGzipLevel
HiMemReport
HiMemReportDir
HiMemReportExec
HiMemReportMax
JVMCICompilerIdleDelay
JVMCINativeLibraryErrorFile
JVMCINativeLibraryThreadFraction
JVMCIThreadsPerNativeLibraryRuntime
LoomDeoptAfterThaw
LoomVerifyAfterThaw
MallocLimit
MinInlineFrequencyRatio
NoAsyncDeflationProgressMax
OptimizeUnstableIf
PostVirtualThreadCompatibleLifecycleEvents
PrintClassLoaderDataGraphAtExit
PrintMallocTraceAtExit
PrintMetaspaceStatisticsAtExit
PrintVitalsAtExit
RecordDynamicDumpInfo
ReplayReduce
ShenandoahIUBarrier
ShenandoahMaxSATBBufferFlushes
ShenandoahNMethodBarrier
ShenandoahStackWatermarkBarrier
ShowCarrierFrames
StressCCP
StressDuplicateBackedge
StringDeduplicationCleanupDeadMinimum
StringDeduplicationCleanupDeadPercent
StringDeduplicationGrowTableLoad
StringDeduplicationHashSeed
StringDeduplicationInitialTableSize
StringDeduplicationShrinkTableLoad
StringDeduplicationTargetTableLoad
SuperWordMaxVectorSize
TestFlagFor_bool
TestFlagFor_double
TestFlagFor_int
TestFlagFor_intx
TestFlagFor_size_t
TestFlagFor_uint
TestFlagFor_uint64_t
TestFlagFor_uintx
TieredOldPercentage
TraceDwarfLevel
TraceOptimizedUpcallStubs
UseContinuationFastPath
UseKNLSetting
UseSystemMemoryBarrier
UseVectorStubs
UseVtableBasedCHA
VerifyContinuations
VerifyHeavyMonitors
VerifyReceiverTypes
VitalsFile
VitalsLockFreeSampling
VitalsSampleInterval

SapMachine removed:

AOTLibrary
AlwaysLockClassLoader
ArrayCopyPartialInlineSize
AssertOnSuspendWaitFailure
BiasedLockingBulkRebiasThreshold
BiasedLockingBulkRevokeThreshold
BiasedLockingDecayTime
BiasedLockingStartupDelay
CalculateClassFingerprint
CriticalJNINatives
DumpSharedSpaces
DynamicDumpSharedSpaces
DynamicallyResizeSystemDictionaries
FilterSpuriousWakeups
G1ConcRefinementGreenZone
G1ConcRefinementRedZone
G1ConcRefinementServiceIntervalMillis
G1ConcRefinementThresholdStep
G1ConcRefinementYellowZone
G1EagerReclaimHumongousObjects
G1EagerReclaimHumongousObjectsWithStaleRefs
G1RSetRegionEntries
G1RSetSparseRegionEntries
G1UseAdaptiveConcRefinement
GCParallelVerificationEnabled
HotMethodDetectionLimit
InlineNIOCheckIndex
LogTouchedMethods
MetaspaceHandleDeallocations
MinInliningThreshold
PreferContainerQuotaForCPUCount
PrefetchFieldsAhead
PrintAOT
PrintBiasedLockingStatistics
PrintPreciseBiasedLockingStatistics
PrintSharedDictionary
PrintTouchedMethodsAtExit
RequireSharedSpaces
ShenandoahSATBBufferFlushInterval
ShenandoahStoreValEnqueueBarrier
StressCodeAging
StringDeduplicationRehashALot
SuspendRetryCount
SuspendRetryDelay
Tier0AOTBackEdgeThreshold
Tier0AOTCompileThreshold
Tier0AOTInvocationThreshold
Tier0AOTMinInvocationThreshold
Tier3AOTBackEdgeThreshold
Tier3AOTCompileThreshold
Tier3AOTInvocationThreshold
Tier3AOTMinInvocationThreshold
Tier40BackEdgeThreshold
Tier40CompileThreshold
Tier40InvocationThreshold
Tier40MinInvocationThreshold
TraceSuspendWaitFailures
UseAOT
UseAOTStrictLoading
UseBiasedLocking
UseCodeAging
UseOptoBiasInlining
UseSharedSpaces