VM Options Explorer - Corretto JDK11

Hey Reader! If these notes float your boat you'll find more great JVM info in this book I co-wrote! Optimizing Java: Practical techniques for improving JVM application performance
NameSinceDeprecatedTypeOSCPUComponentDefaultAvailabilityDescriptionDefined in
SinceDeprecatedTypeOSCPUComponentAvailability
AOTLibraryccstrlistruntimeNULLexperimentalAOT libraryshare/runtime/globals.hpp
AVX3Thresholdintx864096
range(0, max_jint)
diagnosticMinimum array size in bytes to use AVX512 intrinsicsfor copy, inflate and fill. When this value is set as zerocompare operations can also use AVX512 intrinsics.cpu/x86/globals_x86.hpp
AbortVMOnCompilationFailureboolruntimefalsediagnosticAbort VM when method had failed to compile.share/runtime/globals.hpp
AbortVMOnExceptionMessageccstrruntimeNULLdiagnosticCall fatal if the exception pointed by AbortVMOnException has this messageshare/runtime/globals.hpp
AbortVMOnExceptionccstrruntimeNULLdiagnosticCall fatal if this exception is thrown. Example: java -XX:AbortVMOnException=java.lang.NullPointerException Fooshare/runtime/globals.hpp
AbortVMOnSafepointTimeoutboolruntimefalsediagnosticAbort upon failure to reach safepoint (see SafepointTimeout)share/runtime/globals.hpp
AbortVMOnVMOperationTimeoutDelayintxruntime1000
range(0, max_intx)
diagnosticDelay in milliseconds for option AbortVMOnVMOperationTimeoutshare/runtime/globals.hpp
AbortVMOnVMOperationTimeoutboolruntimefalsediagnosticAbort upon failure to complete VM operation promptlyshare/runtime/globals.hpp
ActiveProcessorCountintgc-1productSpecify the CPU count the VM should use and report as activeshare/gc/shared/gc_globals.hpp
AdaptiveSizeDecrementScaleFactoruintxgc4
range(1, max_uintx)
productAdaptive size scale down factor for shrinkingshare/gc/shared/gc_globals.hpp
AdaptiveSizeMajorGCDecayTimeScaleuintxgc10
range(0, max_uintx)
productTime scale over which major costs decayshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyCollectionCostMarginuintxgc50
range(0, 100)
productIf collection costs are within margin, reduce both by full deltashare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyGCTimeLimitThresholduintxgc5
range(1, max_uintx)
developNumber of consecutive collections before gc time limit firesshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyInitializingStepsuintxgc20
range(0, max_uintx)
productNumber of steps where heuristics is used before data is usedshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyOutputIntervaluintxgc0
range(0, max_uintx)
productCollection interval for printing information; zero means nevershare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyReadyThresholduintxgc5developNumber of collections before the adaptive sizing is startedshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyWeightuintxgc10
range(0, 100)
productWeight given to exponential resizing, between 0 and 100share/gc/shared/gc_globals.hpp
AdaptiveSizeThroughPutPolicyuintxgc0
range(0, 1)
productPolicy for changing generation size for throughput goalsshare/gc/shared/gc_globals.hpp
AdaptiveTimeWeightuintxgc25
range(0, 100)
productWeight given to time in adaptive policy, between 0 and 100share/gc/shared/gc_globals.hpp
AggressiveHeapboolgcfalseproductOptimize heap options for long-running memory intensive appsshare/gc/shared/gc_globals.hpp
AggressiveOptsDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproduct(Deprecated) Enable aggressive optimizations - see arguments.cppshare/runtime/globals.hpp
AggressiveUnboxingboolc2falseexperimentalControl optimizations for aggressive boxing eliminationshare/opto/c2_globals.hpp
AliasLevelintxc23
range(0, 3)
product0 for no aliasing, 1 for oop/field/static/array split,
2 for class split, 3 for unique instances
share/opto/c2_globals.hpp
AlignVectorboolc2trueproductPerform vector store/load alignment in loopshare/opto/c2_globals.hpp
AllocateHeapAtccstrruntimeNULLproductPath to the directoy where a temporary file will be created to use as the backing store for Java Heap.share/runtime/globals.hpp
AllocateInstancePrefetchLinesintxruntime1
range(1, 64)
productNumber of lines to prefetch ahead of instance allocation pointershare/runtime/globals.hpp
AllocatePrefetchDistanceintxruntime-1productDistance to prefetch ahead of allocation pointer. -1: use system-specific value (automatically determinedshare/runtime/globals.hpp
AllocatePrefetchInstrintxruntime0productSelect instruction to prefetch ahead of allocation pointershare/runtime/globals.hpp
AllocatePrefetchLinesintxruntime3
range(1, 64)
productNumber of lines to prefetch ahead of array allocation pointershare/runtime/globals.hpp
AllocatePrefetchStepSizeintxruntime16
range(1, 512)
productStep size in bytes of sequential prefetch instructionsshare/runtime/globals.hpp
AllocatePrefetchStyleintxruntime1
range(0, 3)
product0 = no prefetch,
1 = generate prefetch instructions for each allocation,
2 = use TLAB watermark to gate allocation prefetch,
3 = generate one prefetch instruction per cache line
share/runtime/globals.hpp
AllowExtshmboolaixfalseproductAllow VM to run with EXTSHM=ON.os/aix/globals_aix.hpp
AllowJNIEnvProxyDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolruntimefalseproductAllow JNIEnv proxies for jdbxshare/runtime/globals.hpp
AllowNonVirtualCallsDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproductObey the ACC_SUPER flag and allow invokenonvirtual callsshare/runtime/globals.hpp
AllowParallelDefineClassboolruntimefalseproductAllow parallel defineClass requests for class loaders registering as parallel capableshare/runtime/globals.hpp
AllowUserSignalHandlersboolruntimefalseproductDo not complain if the application installs signal handlers (Solaris & Linux only)share/runtime/globals.hpp
AllowVectorizeOnDemandboolc2trueproductGlobally supress vectorization set in VectorizeMethodshare/opto/c2_globals.hpp
AlwaysActAsServerClassMachineboolgcfalseproductAlways act like a server-class machineshare/gc/shared/gc_globals.hpp
AlwaysAtomicAccessesboolruntimefalseexperimentalAccesses to all variables should always be atomicshare/runtime/globals.hpp
AlwaysCompileLoopMethodsboolruntimefalseproductWhen using recompilation, never interpret methods containing loopsshare/runtime/globals.hpp
AlwaysIncrementalInlineboolc2falsedevelopdo all inlining incrementallyshare/opto/c2_globals.hpp
AlwaysLockClassLoaderboolruntimefalseproductRequire the VM to acquire the class loader lock before calling loadClass() even for class loaders registering as parallel capableshare/runtime/globals.hpp
AlwaysPreTouchboolgcfalseproductForce all freshly committed pages to be pre-touchedshare/gc/shared/gc_globals.hpp
AlwaysRestoreFPUboolruntimefalseproductRestore the FPU control word after every JNI call (expensive)share/runtime/globals.hpp
AlwaysSafeConstructorsboolruntimefalseexperimentalForce safe construction, as if all fields are final.share/runtime/globals.hpp
AlwaysTenureboolgcfalseproductAlways tenure objects in eden (ParallelGC only)share/gc/shared/gc_globals.hpp
ArrayAllocatorMallocLimitsize_truntimeSOLARIS_ONLY(64*K) NOT_SOLARIS((size_t)-1)experimentalAllocation less than this value will be allocated using malloc. Larger allocations will use mmap.share/runtime/globals.hpp
ArrayCopyLoadStoreMaxElemintxc28
range(0, max_intx)
productMaximum number of arraycopy elements inlined as a sequence ofloads/storesshare/opto/c2_globals.hpp
ArraycopyDstPrefetchDistanceuintxsparc0productDistance to prefetch destination array in arraycopycpu/sparc/globals_sparc.hpp
ArraycopySrcPrefetchDistanceuintxsparc0productDistance to prefetch source array in arraycopycpu/sparc/globals_sparc.hpp
AssertOnSuspendWaitFailureboolruntimefalseproductAssert/Guarantee on external suspend wait failureshare/runtime/globals.hpp
AssertRangeCheckEliminationboolc1falsedevelopAssert Range Check Eliminationshare/c1/c1_globals.hpp
AssumeMPDeprecated in JDK10
Obsoleted in JDK12
Expired in JDK13
boolruntimetrueproduct(Deprecated) Instruct the VM to assume multiple processors are availableshare/runtime/globals.hpp
AutoBoxCacheMaxintxc2128
range(0, max_jint)
productSets max value cached by the java.lang.Integer autobox cacheshare/opto/c2_globals.hpp
AvoidUnalignedAccessesboolaarch64falseproductAvoid generating unaligned memory accessescpu/aarch64/globals_aarch64.hpp
BCEATraceLevelintxruntime0
range(0, 3)
productHow much tracing to do of bytecode escape analysis estimates (0-3)share/runtime/globals.hpp
BackgroundCompilationboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
BackgroundCompilationboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
BackgroundCompilationboolruntimeproduct_pdA thread requesting compilation is not blocked during compilationshare/runtime/globals.hpp
BackgroundCompilationboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
BackgroundCompilationbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
BackgroundCompilationboolsparctruedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
BackgroundCompilationboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
BailoutAfterHIRboolc1falsedevelopbailout of compilation after building of HIRshare/c1/c1_globals.hpp
BailoutAfterLIRboolc1falsedevelopbailout of compilation after building of LIRshare/c1/c1_globals.hpp
BailoutOnExceptionHandlersboolc1falsedevelopbailout of compilation for methods with exception handlersshare/c1/c1_globals.hpp
BailoutToInterpreterForThrowsboolc2falsedevelopCompiled methods which throws/catches exceptions will be deopt and intp.share/opto/c2_globals.hpp
BaseFootPrintEstimatesize_tgc256*M
range(0, max_uintx)
productEstimate of footprint other than Java Heapshare/gc/shared/gc_globals.hpp
BciProfileWidthintxruntime2developNumber of return bci's to record in ret profileshare/runtime/globals.hpp
BiasedLockingBulkRebiasThresholdDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
intxruntime20
range(0, max_intx)
productThreshold of number of revocations per type to try to rebias all objects in the heap of that typeshare/runtime/globals.hpp
BiasedLockingBulkRevokeThresholdDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
intxruntime40
range(0, max_intx)
productThreshold of number of revocations per type to permanently revoke biases of all objects in the heap of that typeshare/runtime/globals.hpp
BiasedLockingDecayTimeDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
intxruntime25000
range(500, max_intx)
productDecay time (in milliseconds) to re-enable bulk rebiasing of a type after previous bulk rebiasshare/runtime/globals.hpp
BiasedLockingStartupDelayDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
intxruntime0
range(0, (intx)(max_jint-(max_jint%PeriodicTask::interval_gran)))
productNumber of milliseconds to wait before enabling biased lockingshare/runtime/globals.hpp
BinarySwitchThresholdintxruntime5developMinimal number of lookupswitch entries for rewriting to binary switchshare/runtime/globals.hpp
BindCMSThreadToCPUboolgcfalsediagnosticBind CMS Thread to CPU if possibleshare/gc/cms/cms_globals.hpp
BindGCTaskThreadsToCPUsObsoleted in JDK14
Expired in JDK16
boolgcfalseproductBind GCTaskThreads to CPUs if possibleshare/gc/shared/gc_globals.hpp
BlockCopyLowLimitintxsparc2048
range(1, max_jint)
productMinimum size in bytes when block copy will be usedcpu/sparc/globals_sparc.hpp
BlockLayoutByFrequencyboolc2trueproductUse edge frequencies to drive block orderingshare/opto/c2_globals.hpp
BlockLayoutMinDiamondPercentageintxc220
range(0, 100)
productMiniumum %% of a successor (predecessor) for which block layout a will allow a fork (join) in a single chainshare/opto/c2_globals.hpp
BlockLayoutRotateLoopsboolc2trueproductAllow back branches to be fall throughs in the block layoutshare/opto/c2_globals.hpp
BlockOffsetArrayUseUnallocatedBlockboolgcfalsediagnosticMaintain _unallocated_block in BlockOffsetArray (currently applicable only to CMS collector)share/gc/shared/gc_globals.hpp
BlockZeroingLowLimitintxaarch64256
range(1, max_jint)
productMinimum size in bytes when block zeroing will be usedcpu/aarch64/globals_aarch64.hpp
BlockZeroingLowLimitintxsparc2048
range(1, max_jint)
productMinimum size in bytes when block zeroing will be usedcpu/sparc/globals_sparc.hpp
BootstrapJVMCIbooljvmcifalseexperimentalBootstrap JVMCI before running Java main methodshare/jvmci/jvmci_globals.hpp
BranchOnRegisterObsoleted in JDK15
Expired in JDK16
boolc2falseproductUse Sparc V9 branch-on-register opcodesshare/opto/c2_globals.hpp
BreakAtNodeintxc20notproductBreak at construction of this Node (either _idx or _debug_idx)share/opto/c2_globals.hpp
BreakAtWarningboolruntimefalsedevelopExecute breakpoint upon encountering VM warningshare/runtime/globals.hpp
BytecodeVerificationLocalboolruntimefalseproductEnable the Java bytecode verifier for local classesshare/runtime/globals.hpp
BytecodeVerificationRemoteboolruntimetrueproductEnable the Java bytecode verifier for remote classesshare/runtime/globals.hpp
C1Breakpointboolc1falsedevelopSets a breakpoint at entry of each compiled methodshare/c1/c1_globals.hpp
C1OptimizeVirtualCallProfilingboolc1trueproductUse CHA and exact type results at call sites when updating MDOsshare/c1/c1_globals.hpp
C1ProfileBranchesboolc1trueproductProfile branches when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileCallsboolc1trueproductProfile calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileCheckcastsboolc1trueproductProfile checkcasts when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileInlinedCallsboolc1trueproductProfile inlined calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileVirtualCallsboolc1trueproductProfile virtual calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1UpdateMethodDataboolc1trueInTieredproductUpdate MethodData*s in Tier1-generated codeshare/c1/c1_globals.hpp
CIBreakAtOSRintxruntime-1developThe id of osr compilation to break atshare/runtime/globals.hpp
CIBreakAtintxruntime-1developThe id of compilation to break atshare/runtime/globals.hpp
CICompileNativesboolruntimetruedevelopcompile native methods if supported by the compilershare/runtime/globals.hpp
CICompileOSRboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CICompileOSRboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
CICompileOSRboolruntimedevelop_pdcompile on stack replacement methods if supported by the compilershare/runtime/globals.hpp
CICompileOSRboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CICompileOSRbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
CICompileOSRboolsparctruedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
CICompileOSRboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
CICompilerCountPerCPUboolruntimefalseproduct1 compiler thread for log(N CPUs)share/runtime/globals.hpp
CICompilerCountintxruntimeCI_COMPILER_COUNT
range(0, max_jint)
productNumber of compiler threads to runshare/runtime/globals.hpp
CICountOSRboolruntimefalsedevelopuse a separate counter when assigning ids to osr compilationsshare/runtime/globals.hpp
CICrashAtintxruntime-1notproductid of compilation to trigger assert in compiler thread for the purpose of testing, e.g. generation of replay datashare/runtime/globals.hpp
CIFireOOMAtintxruntime-1developFire OutOfMemoryErrors throughout CI for testing the compiler (non-negative value throws OOM after this many CI accesses in each compile)share/runtime/globals.hpp
CIObjectFactoryVerifyboolruntimefalsenotproductenable potentially expensive verification in ciObjectFactoryshare/runtime/globals.hpp
CIPrintCompileQueueboolruntimefalsediagnosticdisplay the contents of the compile queue whenever a compilation is enqueuedshare/runtime/globals.hpp
CIPrintCompilerNameboolruntimefalsedevelopwhen CIPrint is active, print the name of the active compilershare/runtime/globals.hpp
CIPrintMethodCodesboolruntimefalsedevelopprint method bytecodes of the compiled codeshare/runtime/globals.hpp
CIPrintRequestsboolruntimefalsedevelopdisplay every request for compilationshare/runtime/globals.hpp
CIPrintTypeFlowboolruntimefalsedevelopprint the results of ciTypeFlow analysisshare/runtime/globals.hpp
CIStartOSRintxruntime0developThe id of the first osr compilation to permit (CICountOSR must be on)share/runtime/globals.hpp
CIStartintxruntime0developThe id of the first compilation to permitshare/runtime/globals.hpp
CIStopOSRintxruntimemax_jintdevelopThe id of the last osr compilation to permit (CICountOSR must be on)share/runtime/globals.hpp
CIStopintxruntimemax_jintdevelopThe id of the last compilation to permitshare/runtime/globals.hpp
CITimeEachboolruntimefalsedevelopdisplay timing information after each successful compilationshare/runtime/globals.hpp
CITimeVerboseboolruntimefalsedevelopbe more verbose in compilation timingsshare/runtime/globals.hpp
CITimeboolruntimefalseproductcollect timing information for compilationshare/runtime/globals.hpp
CITraceTypeFlowboolruntimefalsedevelopdetailed per-bytecode tracing of ciTypeFlow analysisshare/runtime/globals.hpp
CMSAbortSemanticsObsoleted in JDK14
Expired in JDK15
boolgcfalseproductWhether abort-on-overflow semantics is implementedshare/gc/cms/cms_globals.hpp
CMSAbortablePrecleanMinWorkPerIterationObsoleted in JDK14
Expired in JDK15
uintxgc100
range(0, max_uintx)
productNominal minimum work per abortable preclean iterationshare/gc/cms/cms_globals.hpp
CMSAbortablePrecleanWaitMillisintxgc100
range(0, max_intx)
manageableTime that we sleep between iterations when not given enough work per iterationshare/gc/cms/cms_globals.hpp
CMSBitMapYieldQuantumObsoleted in JDK14
Expired in JDK15
size_tgc10*M
range(1, max_uintx)
productBitmap operations should process at most this many bits between yieldsshare/gc/cms/cms_globals.hpp
CMSBootstrapOccupancyObsoleted in JDK14
Expired in JDK15
uintxgc50
range(0, 100)
productPercentage CMS generation occupancy at which to initiate CMS collection for bootstrapping collection statsshare/gc/cms/cms_globals.hpp
CMSCheckIntervaluintxgc1000developInterval in milliseconds that CMS thread checks if it should start a collection cycleshare/gc/cms/cms_globals.hpp
CMSClassUnloadingEnabledObsoleted in JDK14
Expired in JDK15
boolgctrueproductWhether class unloading enabled when using CMS GCshare/gc/cms/cms_globals.hpp
CMSClassUnloadingMaxIntervalObsoleted in JDK14
Expired in JDK15
uintxgc0
range(0, max_uintx)
productWhen CMS class unloading is enabled, the maximum CMS cycle count for which classes may not be unloadedshare/gc/cms/cms_globals.hpp
CMSCleanOnEnterObsoleted in JDK14
Expired in JDK15
boolgctrueproductClean-on-enter optimization for reducing number of dirty cardsshare/gc/cms/cms_globals.hpp
CMSConcMarkMultipleObsoleted in JDK14
Expired in JDK15
size_tgc32
range(1, SIZE_MAX / 4096)
productSize (in cards) of CMS concurrent MT marking taskshare/gc/cms/cms_globals.hpp
CMSConcurrentMTEnabledObsoleted in JDK14
Expired in JDK15
boolgctrueproductWhether multi-threaded concurrent work enabled (effective only if ParNewGC)share/gc/cms/cms_globals.hpp
CMSCoordinatorYieldSleepCountObsoleted in JDK14
Expired in JDK15
uintxgc10
range(0, max_juint)
productNumber of times the coordinator GC thread will sleep while yielding before giving up and resuming GCshare/gc/cms/cms_globals.hpp
CMSEdenChunksRecordAlwaysObsoleted in JDK14
Expired in JDK15
boolgctrueproductAlways record eden chunks used for the parallel initial mark or remark of edenshare/gc/cms/cms_globals.hpp
CMSExpAvgFactorObsoleted in JDK14
Expired in JDK15
uintxgc50
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponential averages for CMS statisticsshare/gc/cms/cms_globals.hpp
CMSExtrapolateSweepObsoleted in JDK14
Expired in JDK15
boolgcfalseproductCMS: cushion for block demand during sweepshare/gc/cms/cms_globals.hpp
CMSIncrementalSafetyFactorObsoleted in JDK14
Expired in JDK15
uintxgc10
range(0, 100)
productPercentage (0-100) used to add conservatism when computing the duty cycleshare/gc/cms/cms_globals.hpp
CMSIndexedFreeListReplenishObsoleted in JDK14
Expired in JDK15
uintxgc4
range(1, max_uintx)
productReplenish an indexed free list with this number of chunksshare/gc/cms/cms_globals.hpp
CMSInitiatingOccupancyFractionObsoleted in JDK14
Expired in JDK15
intxgc-1
range(min_intx, 100)
productPercentage CMS generation occupancy to start a CMS collection cycle. A negative value means that CMSTriggerRatio is usedshare/gc/cms/cms_globals.hpp
CMSIsTooFullPercentageObsoleted in JDK14
Expired in JDK15
uintxgc98
range(0, 100)
productAn absolute ceiling above which CMS will always consider the unloading of classes when class unloading is enabledshare/gc/cms/cms_globals.hpp
CMSLargeCoalSurplusPercentObsoleted in JDK14
Expired in JDK15
doublegc0.95
range(0.0, DBL_MAX)
productCMS: the factor by which to inflate estimated demand of large block sizes to prevent coalescing with an adjoining blockshare/gc/cms/cms_globals.hpp
CMSLargeSplitSurplusPercentObsoleted in JDK14
Expired in JDK15
doublegc1.00
range(0.0, DBL_MAX)
productCMS: the factor by which to inflate estimated demand of large block sizes to prevent splitting to supply demand for smaller blocksshare/gc/cms/cms_globals.hpp
CMSLoopWarnObsoleted in JDK14
Expired in JDK15
boolgcfalseproductWarn in case of excessive CMS loopingshare/gc/cms/cms_globals.hpp
CMSMarkStackOverflowALotboolgcfalsenotproductSimulate frequent marking stack / work queue overflowshare/gc/cms/cms_globals.hpp
CMSMarkStackOverflowIntervaluintxgc1000notproductAn 'interval' counter that determines how frequently to simulate overflow; a smaller number increases frequencyshare/gc/cms/cms_globals.hpp
CMSMaxAbortablePrecleanLoopsObsoleted in JDK14
Expired in JDK15
uintxgc0
range(0, max_uintx)
productMaximum number of abortable preclean iterations, if > 0share/gc/cms/cms_globals.hpp
CMSMaxAbortablePrecleanTimeObsoleted in JDK14
Expired in JDK15
intxgc5000
range(0, max_intx)
productMaximum time in abortable preclean (in milliseconds)share/gc/cms/cms_globals.hpp
CMSOldPLABMaxObsoleted in JDK14
Expired in JDK15
size_tgc1024
range(1, max_uintx)
productMaximum size of CMS gen promotion LAB caches per worker per block sizeshare/gc/cms/cms_globals.hpp
CMSOldPLABMinObsoleted in JDK14
Expired in JDK15
size_tgc16
range(1, max_uintx)
productMinimum size of CMS gen promotion LAB caches per worker per block sizeshare/gc/cms/cms_globals.hpp
CMSOldPLABNumRefillsObsoleted in JDK14
Expired in JDK15
uintxgc4
range(1, max_uintx)
productNominal number of refills of CMS gen promotion LAB cache per worker per block sizeshare/gc/cms/cms_globals.hpp
CMSOldPLABReactivityFactorObsoleted in JDK14
Expired in JDK15
uintxgc2
range(1, max_uintx)
productThe gain in the feedback loop for on-the-fly PLAB resizing during a scavengeshare/gc/cms/cms_globals.hpp
CMSOldPLABResizeQuickerObsoleted in JDK14
Expired in JDK15
boolgcfalseproductReact on-the-fly during a scavenge to a sudden change in block demand rateshare/gc/cms/cms_globals.hpp
CMSOldPLABToleranceFactorObsoleted in JDK14
Expired in JDK15
uintxgc4
range(1, max_uintx)
productThe tolerance of the phase-change detector for on-the-fly PLAB resizing during a scavengeshare/gc/cms/cms_globals.hpp
CMSPLABRecordAlwaysObsoleted in JDK14
Expired in JDK15
boolgctrueproductAlways record survivor space PLAB boundaries (effective only if CMSParallelSurvivorRemarkEnabled)share/gc/cms/cms_globals.hpp
CMSParallelInitialMarkEnabledObsoleted in JDK14
Expired in JDK15
boolgctrueproductUse the parallel initial mark.share/gc/cms/cms_globals.hpp
CMSParallelRemarkEnabledObsoleted in JDK14
Expired in JDK15
boolgctrueproductWhether parallel remark enabled (only if ParNewGC)share/gc/cms/cms_globals.hpp
CMSParallelSurvivorRemarkEnabledObsoleted in JDK14
Expired in JDK15
boolgctrueproductWhether parallel remark of survivor space enabled (effective only if CMSParallelRemarkEnabled)share/gc/cms/cms_globals.hpp
CMSPrecleanDenominatorObsoleted in JDK14
Expired in JDK15
uintxgc3
range(1, max_uintx)
productCMSPrecleanNumerator:CMSPrecleanDenominator yields convergence ratioshare/gc/cms/cms_globals.hpp
CMSPrecleanIterObsoleted in JDK14
Expired in JDK15
uintxgc3
range(0, 9)
productMaximum number of precleaning iteration passesshare/gc/cms/cms_globals.hpp
CMSPrecleanNumeratorObsoleted in JDK14
Expired in JDK15
uintxgc2
range(0, max_uintx-1)
productCMSPrecleanNumerator:CMSPrecleanDenominator yields convergence ratioshare/gc/cms/cms_globals.hpp
CMSPrecleanRefLists1Obsoleted in JDK14
Expired in JDK15
boolgctrueproductPreclean ref lists during (initial) preclean phaseshare/gc/cms/cms_globals.hpp
CMSPrecleanRefLists2Obsoleted in JDK14
Expired in JDK15
boolgcfalseproductPreclean ref lists during abortable preclean phaseshare/gc/cms/cms_globals.hpp
CMSPrecleanSurvivors1Obsoleted in JDK14
Expired in JDK15
boolgcfalseproductPreclean survivors during (initial) preclean phaseshare/gc/cms/cms_globals.hpp
CMSPrecleanSurvivors2Obsoleted in JDK14
Expired in JDK15
boolgctrueproductPreclean survivors during abortable preclean phaseshare/gc/cms/cms_globals.hpp
CMSPrecleanThresholdObsoleted in JDK14
Expired in JDK15
uintxgc1000
range(100, max_uintx)
productDo not iterate again if number of dirty cards is less than thisshare/gc/cms/cms_globals.hpp
CMSPrecleaningEnabledObsoleted in JDK14
Expired in JDK15
boolgctrueproductWhether concurrent precleaning enabledshare/gc/cms/cms_globals.hpp
CMSPrintChunksInDumpObsoleted in JDK14
Expired in JDK15
boolgcfalseproductIf logging for the 'gc' and 'promotion' tags is enabled ontrace level include more detailed information about thefree chunksshare/gc/cms/cms_globals.hpp
CMSPrintObjectsInDumpObsoleted in JDK14
Expired in JDK15
boolgcfalseproductIf logging for the 'gc' and 'promotion' tags is enabled ontrace level include more detailed information about theallocated objectsshare/gc/cms/cms_globals.hpp
CMSRemarkVerifyVariantObsoleted in JDK14
Expired in JDK15
uintxgc1
range(1, 2)
productChoose variant (1,2) of verification following remarkshare/gc/cms/cms_globals.hpp
CMSReplenishIntermediateObsoleted in JDK14
Expired in JDK15
boolgctrueproductReplenish all intermediate free-list cachesshare/gc/cms/cms_globals.hpp
CMSRescanMultipleObsoleted in JDK14
Expired in JDK15
size_tgc32
range(1, SIZE_MAX / 4096)
productSize (in cards) of CMS parallel rescan taskshare/gc/cms/cms_globals.hpp
CMSSamplingGrainObsoleted in JDK14
Expired in JDK15
uintxgc16*K
range(ObjectAlignmentInBytes, max_uintx)
productThe minimum distance between eden samples for CMS (see above)share/gc/cms/cms_globals.hpp
CMSScavengeBeforeRemarkObsoleted in JDK14
Expired in JDK15
boolgcfalseproductAttempt scavenge before the CMS remark stepshare/gc/cms/cms_globals.hpp
CMSScheduleRemarkEdenPenetrationObsoleted in JDK14
Expired in JDK15
uintxgc50
range(0, 100)
productThe Eden occupancy percentage (0-100) at which to try and schedule remark pauseshare/gc/cms/cms_globals.hpp
CMSScheduleRemarkEdenSizeThresholdObsoleted in JDK14
Expired in JDK15
size_tgc2*M
range(0, max_uintx)
productIf Eden size is below this, do not try to schedule remarkshare/gc/cms/cms_globals.hpp
CMSScheduleRemarkSamplingRatioObsoleted in JDK14
Expired in JDK15
uintxgc5
range(1, max_uintx)
productStart sampling eden top at least before young gen occupancy reaches 1/<ratio> of the size at which we plan to schedule remarkshare/gc/cms/cms_globals.hpp
CMSSmallCoalSurplusPercentObsoleted in JDK14
Expired in JDK15
doublegc1.05
range(0.0, DBL_MAX)
productCMS: the factor by which to inflate estimated demand of small block sizes to prevent coalescing with an adjoining blockshare/gc/cms/cms_globals.hpp
CMSSmallSplitSurplusPercentObsoleted in JDK14
Expired in JDK15
doublegc1.10
range(0.0, DBL_MAX)
productCMS: the factor by which to inflate estimated demand of small block sizes to prevent splitting to supply demand for smaller blocksshare/gc/cms/cms_globals.hpp
CMSSplitIndexedFreeListBlocksObsoleted in JDK14
Expired in JDK15
boolgctrueproductWhen satisfying batched demand, split blocks from the IndexedFreeList whose size is a multiple of requested sizeshare/gc/cms/cms_globals.hpp
CMSTestInFreeListboolgcfalsedevelopCheck if the coalesced range is already in the free lists as claimedshare/gc/cms/cms_globals.hpp
CMSTriggerIntervalintxgc-1
range(-1, max_intx)
manageableCommence a CMS collection cycle (at least) every so many milliseconds (0 permanently, -1 disabled)share/gc/cms/cms_globals.hpp
CMSTriggerRatioObsoleted in JDK14
Expired in JDK15
uintxgc80
range(0, 100)
productPercentage of MinHeapFreeRatio in CMS generation that is allocated before a CMS collection cycle commencesshare/gc/cms/cms_globals.hpp
CMSVerifyReturnedBytesboolgcfalsenotproductCheck that all the garbage collected was returned to the free listsshare/gc/cms/cms_globals.hpp
CMSWaitDurationintxgc2000
range(min_jint, max_jint)
manageableTime in milliseconds that CMS thread waits for young GCshare/gc/cms/cms_globals.hpp
CMSWorkQueueDrainThresholdObsoleted in JDK14
Expired in JDK15
uintxgc10
range(1, max_juint)
productDon't drain below this size per parallel worker/thiefshare/gc/cms/cms_globals.hpp
CMSYieldSleepCountObsoleted in JDK14
Expired in JDK15
uintxgc0
range(0, max_juint)
productNumber of times a GC thread (minus the coordinator) will sleep while yielding before giving up and resuming GCshare/gc/cms/cms_globals.hpp
CMSYieldObsoleted in JDK14
Expired in JDK15
boolgctrueproductYield between steps of CMSshare/gc/cms/cms_globals.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
uintxaarch6464*Mdefine_pd_global// default max size of CMS young gen, per GC worker threadcpu/aarch64/globals_aarch64.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
size_tarm16*Mdefine_pd_global// default max size of CMS young gen, per GC worker threadcpu/arm/globals_arm.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
size_tgcproduct_pdThe maximum size of young gen chosen by default per GC worker thread availableshare/gc/cms/cms_globals.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
size_tppc16*Mdefine_pd_global// Default max size of CMS young gen, per GC worker thread.cpu/ppc/globals_ppc.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
size_ts39016*Mdefine_pd_global// Default max size of CMS young gen, per GC worker thread.cpu/s390/globals_s390.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
size_tsparc16*Mdefine_pd_global// default max size of CMS young gen, per GC worker threadcpu/sparc/globals_sparc.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
size_tx8664*Mdefine_pd_global// default max size of CMS young gen, per GC worker threadcpu/x86/globals_x86.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
size_tzero16*Mdefine_pd_global// default max size of CMS young gen, per GC worker threadcpu/zero/globals_zero.hpp
CMS_FLSPaddingObsoleted in JDK14
Expired in JDK15
uintxgc1
range(0, max_juint)
productThe multiple of deviation from mean to use for buffering against volatility in free list demandshare/gc/cms/cms_globals.hpp
CMS_FLSWeightObsoleted in JDK14
Expired in JDK15
uintxgc75
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying averages for CMS FLS statisticsshare/gc/cms/cms_globals.hpp
CMS_SweepPaddingObsoleted in JDK14
Expired in JDK15
uintxgc1
range(0, max_juint)
productThe multiple of deviation from mean to use for buffering against volatility in inter-sweep durationshare/gc/cms/cms_globals.hpp
CMS_SweepTimerThresholdMillisObsoleted in JDK14
Expired in JDK15
uintxgc10
range(0, max_uintx)
productSkip block flux-rate sampling for an epoch unless inter-sweep duration exceeds this threshold in millisecondsshare/gc/cms/cms_globals.hpp
CMS_SweepWeightObsoleted in JDK14
Expired in JDK15
uintxgc75
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for inter-sweep durationshare/gc/cms/cms_globals.hpp
CPUForCMSThreaduintxgc0
range(0, max_juint)
diagnosticWhen BindCMSThreadToCPU is true, the CPU to bind CMS thread toshare/gc/cms/cms_globals.hpp
CSEArrayLengthboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CSEArrayLengthboolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
CSEArrayLengthboolc1develop_pdCreate separate nodes for length in array accessesshare/c1/c1_globals.hpp
CSEArrayLengthboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CSEArrayLengthbools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
CSEArrayLengthboolsparctruedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
CSEArrayLengthboolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
CalculateClassFingerprintboolruntimefalseproductCalculate class fingerprintshare/runtime/globals.hpp
CanonicalizeNodesboolc1truedevelopCanonicalize graph nodesshare/c1/c1_globals.hpp
CheckCompressedOopsboolruntimetruenotproductGenerate checks in encoding/decoding code in debug VMshare/runtime/globals.hpp
CheckIntrinsicsboolruntimetruediagnosticWhen a class C is loaded, check that (1) all intrinsics defined by the VM for class C are present in the loaded class file and are marked with the @HotSpotIntrinsicCandidate annotation, that (2) there is an intrinsic registered for all loaded methods that are annotated with the @HotSpotIntrinsicCandidate annotation, and that (3) no orphan methods exist for class C (i.e., methods for which the VM declares an intrinsic but that are not declared in the loaded class C. Check (3) is available only in debug builds.share/runtime/globals.hpp
CheckJNICallsboolruntimefalseproductVerify all arguments to JNI callsshare/runtime/globals.hpp
CheckMemoryInitializationboolruntimefalsenotproductCheck memory initializationshare/runtime/globals.hpp
CheckUnhandledOopsboolruntimefalsedevelopCheck for unhandled oops in VM codeshare/runtime/globals.hpp
CheckZapUnusedHeapAreaboolruntimefalsedevelopCheck zapping of unused heap spaceshare/runtime/globals.hpp
ClassUnloadingWithConcurrentMarkboolruntimetrueproductDo unloading of classes with a concurrent marking cycleshare/runtime/globals.hpp
ClassUnloadingboolruntimetrueproductDo unloading of classesshare/runtime/globals.hpp
CleanChunkPoolAsyncboolruntimetruedevelopClean the chunk pool asynchronouslyshare/runtime/globals.hpp
ClipInliningboolruntimetrueproductClip inlining if aggregate method exceeds DesiredMethodLimitshare/runtime/globals.hpp
CodeCacheExpansionSizeintxaarch6432*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheExpansionSizesize_tarm32*Kdefine_pd_globalcpu/arm/c2_globals_arm.hpp
CodeCacheExpansionSizeuintxruntimeproduct_pdCode cache expansion size (in bytes)share/runtime/globals.hpp
CodeCacheExpansionSizeuintxppc32*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheExpansionSizeuintxs39064*Kdefine_pd_globalcpu/s390/c2_globals_s390.hpp
CodeCacheExpansionSizeuintxsparc32*Kdefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
CodeCacheExpansionSizeuintxx8632*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheMinBlockLengthuintxaarch641define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinBlockLengthuintxarm4define_pd_globalcpu/arm/c2_globals_arm.hpp
CodeCacheMinBlockLengthuintxruntimediagnostic_pdMinimum number of segments in a code cache blockshare/runtime/globals.hpp
CodeCacheMinBlockLengthuintxppc1define_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheMinBlockLengthuintxs3904define_pd_globalcpu/s390/c2_globals_s390.hpp
CodeCacheMinBlockLengthuintxsparc1define_pd_globalcpu/sparc/c1_globals_sparc.hpp
CodeCacheMinBlockLengthuintxx861define_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheMinimumUseSpaceuintxaarch64400*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinimumUseSpacesize_tarm400*Kdefine_pd_globalcpu/arm/c2_globals_arm.hpp
CodeCacheMinimumUseSpaceuintxruntimedevelop_pdMinimum code cache size (in bytes) required to start VM.share/runtime/globals.hpp
CodeCacheMinimumUseSpaceuintxppc400*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheMinimumUseSpaceuintxs390400*Kdefine_pd_globalcpu/s390/c2_globals_s390.hpp
CodeCacheMinimumUseSpaceuintxsparc400*Kdefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
CodeCacheMinimumUseSpaceuintxx86400*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheSegmentSizeuintxaarch6464 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/aarch64/globals_aarch64.hpp
CodeCacheSegmentSizeuintxarm64 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/arm/globals_arm.hpp
CodeCacheSegmentSizeuintxruntimedevelop_pdCode cache segment size (in bytes) - smallest unit of allocationshare/runtime/globals.hpp
CodeCacheSegmentSizeuintxppc128define_pd_globalcpu/ppc/globals_ppc.hpp
CodeCacheSegmentSizeuintxs390256define_pd_globalcpu/s390/globals_s390.hpp
CodeCacheSegmentSizeuintxsparc64 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/sparc/globals_sparc.hpp
CodeCacheSegmentSizeuintxx8664 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/x86/globals_x86.hpp
CodeCacheSegmentSizeuintxzero64 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/zero/globals_zero.hpp
CodeEntryAlignmentintxaarch6464define_pd_globalcpu/aarch64/globals_aarch64.hpp
CodeEntryAlignmentintxarm16define_pd_globalcpu/arm/globals_arm.hpp
CodeEntryAlignmentintxruntimedevelop_pdCode entry alignment for generated code (in bytes)share/runtime/globals.hpp
CodeEntryAlignmentintxppc128define_pd_globalcpu/ppc/globals_ppc.hpp
CodeEntryAlignmentintxs39064define_pd_globalcpu/s390/globals_s390.hpp
CodeEntryAlignmentintxsparc32define_pd_globalcpu/sparc/globals_sparc.hpp
CodeEntryAlignmentintxx8616define_pd_globalcpu/x86/globals_x86.hpp
CodeEntryAlignmentintxzero32define_pd_globalcpu/zero/globals_zero.hpp
CollectIndexSetStatisticsboolruntimefalsenotproductCollect information about IndexSetsshare/runtime/globals.hpp
CommentedAssemblyboolc1trueInDebugdevelopShow extra info in PrintNMethods outputshare/c1/c1_globals.hpp
CompactFieldsDeprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
boolruntimetrueproductAllocate nonstatic fields in gaps between previous fieldsshare/runtime/globals.hpp
CompactStringsboolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
CompactStringsboolarmfalsedefine_pd_globalcpu/arm/globals_arm.hpp
CompactStringsboolruntimeproduct_pdEnable Strings to use single byte chars in backing storeshare/runtime/globals.hpp
CompactStringsboolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
CompactStringsbools390truedefine_pd_globalcpu/s390/globals_s390.hpp
CompactStringsboolsparctruedefine_pd_globalcpu/sparc/globals_sparc.hpp
CompactStringsboolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
CompactStringsboolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
CompilationPolicyChoiceDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
intxruntime0
range(0, 2)
productwhich compilation policy (0-2)share/runtime/globals.hpp
CompileCommandFileccstrruntimeNULLproductRead compiler commands from this file [.hotspot_compiler]share/runtime/globals.hpp
CompileCommandccstrlistruntimePrepend to .hotspot_compiler; e.g. log,java/lang/String.productshare/runtime/globals.hpp
CompileOnlyccstrlistruntimeList of methods (pkg/class.name) to restrict compilation toproductshare/runtime/globals.hpp
CompileTheWorldPreloadClassesboolruntimetruedevelopPreload all classes used by a class before start loadingshare/runtime/globals.hpp
CompileTheWorldSafepointIntervalintxruntime100notproductForce a safepoint every n compiles so sweeper can keep upshare/runtime/globals.hpp
CompileTheWorldStartAtintxruntime1notproductFirst class to consider when using +CompileTheWorldshare/runtime/globals.hpp
CompileTheWorldStopAtintxruntimemax_jintnotproductLast class to consider when using +CompileTheWorldshare/runtime/globals.hpp
CompileTheWorldboolruntimefalsedevelopCompile all methods in all classes in bootstrap class path (stress test)share/runtime/globals.hpp
CompileThresholdScalingdoubleruntime1.0
range(0.0, DBL_MAX)
productFactor to control when first compilation happens (both with and without tiered compilation): values greater than 1.0 delay counter overflow, values between 0 and 1.0 rush counter overflow, value of 1.0 leaves compilation thresholds unchanged value of 0.0 is equivalent to -Xint. Flag can be set as per-method option. If a value is specified for a method, compilation thresholds for that method are scaled by both the value of the global flag and the value of the per-method flag.share/runtime/globals.hpp
CompileThresholdintxaarch641500define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CompileThresholdintxarm10000define_pd_globalcpu/arm/c2_globals_arm.hpp
CompileThresholdintxruntimeproduct_pdnumber of interpreted method invocations before (re-)compilingshare/runtime/globals.hpp
CompileThresholdintxppc1000define_pd_globalcpu/ppc/c1_globals_ppc.hpp
CompileThresholdintxs39010000define_pd_globalcpu/s390/c2_globals_s390.hpp
CompileThresholdintxsparc1000define_pd_global// Design center runs on 1.3.1cpu/sparc/c1_globals_sparc.hpp
CompileThresholdintxx861500define_pd_globalcpu/x86/c1_globals_x86.hpp
CompilerDirectivesFileccstrruntimeNULLdiagnosticRead compiler directives from this fileshare/runtime/globals.hpp
CompilerDirectivesIgnoreCompileCommandsboolruntimefalsediagnosticDisable backwards compatibility for compile commands.share/runtime/globals.hpp
CompilerDirectivesLimitintruntime50diagnosticLimit on number of compiler directives.share/runtime/globals.hpp
CompilerDirectivesPrintboolruntimefalsediagnosticPrint compiler directives on installation.share/runtime/globals.hpp
CompilerThreadHintNoPreemptDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproduct(Solaris only) Give compiler threads an extra quantashare/runtime/globals.hpp
CompilerThreadPriorityintxruntime-1
range(min_jint, max_jint)
productThe native priority at which compiler threads should run (-1 means no change)share/runtime/globals.hpp
CompilerThreadStackSizeintxaixppc4096define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
CompilerThreadStackSizeintxbsdx86512define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
CompilerThreadStackSizeintxbsdzero0define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
CompilerThreadStackSizeintxlinuxaarch642048define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
CompilerThreadStackSizeintxlinuxarm512define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
CompilerThreadStackSizeintxlinuxppc4096define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
CompilerThreadStackSizeintxlinuxs3902048define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
CompilerThreadStackSizeintxlinuxx86512define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
CompilerThreadStackSizeintxlinuxzero0define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
CompilerThreadStackSizeintxruntimeproduct_pdCompiler Thread Stack Size (in Kbytes)share/runtime/globals.hpp
CompilerThreadStackSizeintxsparc1024define_pd_globalcpu/sparc/globals_sparc.hpp
CompilerThreadStackSizeintxsolarisx86512define_pd_globalos_cpu/solaris_x86/globals_solaris_x86.hpp
CompilerThreadStackSizeintxwindowsx860define_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
CompressedClassSpaceSizesize_truntime1*G
range(1*M, 3*G)
productMaximum size of class area in Metaspace when compressed class pointers are usedshare/runtime/globals.hpp
ComputeExactFPURegisterUsageboolc1truedevelopCompute additional live set for fpu registers to simplify fpu stack merge (Intel only)share/c1/c1_globals.hpp
ConcGCThreadsuintgc0productNumber of threads concurrent gc will useshare/gc/shared/gc_globals.hpp
ConcGCYieldTimeoutintxgc0
range(0, max_intx)
developIf non-zero, assert that GC threads yield within this number of millisecondsshare/gc/shared/gc_globals.hpp
ConditionalMoveLimitintxaarch643define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
ConditionalMoveLimitintxarm4define_pd_globalcpu/arm/c2_globals_arm.hpp
ConditionalMoveLimitintxc2product_pdLimit of ops to make speculative when using CMOVEshare/opto/c2_globals.hpp
ConditionalMoveLimitintxppc3define_pd_globalcpu/ppc/c2_globals_ppc.hpp
ConditionalMoveLimitintxs3904define_pd_globalcpu/s390/c2_globals_s390.hpp
ConditionalMoveLimitintxsparc4define_pd_globalcpu/sparc/c2_globals_sparc.hpp
ConditionalMoveLimitintxx863define_pd_globalcpu/x86/c2_globals_x86.hpp
ContendedPaddingWidthintxruntime128
range(0, 8192)
productHow many bytes to pad the fields/classes marked @Contended withshare/runtime/globals.hpp
ConvertCmpD2CmpFboolc2truedevelopConvert cmpD to cmpF when one input is constant in float rangeshare/opto/c2_globals.hpp
ConvertFloat2IntClippingboolc2truedevelopConvert float2int clipping idiom to integer clippingshare/opto/c2_globals.hpp
CountBytecodesboolruntimefalsedevelopCount number of bytecodes executedshare/runtime/globals.hpp
CountCompiledCallsboolruntimefalsedevelopCount method invocationsshare/runtime/globals.hpp
CountJNICallsboolruntimefalsedevelopCount jni method invocationsshare/runtime/globals.hpp
CountJVMCallsboolruntimefalsenotproductCount jvm method invocationsshare/runtime/globals.hpp
CountLinearScanboolc1falsedevelopcollect statistic counters during LinearScanshare/c1/c1_globals.hpp
CountRemovableExceptionsboolruntimefalsenotproductCount exceptions that could be replaced by branches due to inliningshare/runtime/globals.hpp
CountRuntimeCallsboolruntimefalsenotproductCount VM runtime callsshare/runtime/globals.hpp
CounterDecayMinIntervalLengthintxruntime500developThe minimum interval (in milliseconds) between invocation of CounterDecayshare/runtime/globals.hpp
CounterHalfLifeTimeintxruntime30developHalf-life time of invocation counters (in seconds)share/runtime/globals.hpp
CrashGCForDumpingJavaThreadboolruntimefalsenotproductManually make GC thread crash then dump java stack trace; Test onlyshare/runtime/globals.hpp
CrashOnOutOfMemoryErrorboolruntimefalseproductJVM aborts, producing an error log and core/mini dump, on the first occurrence of an out-of-memory errorshare/runtime/globals.hpp
CreateCoredumpOnCrashboolruntimetrueproductCreate core/mini dump on VM fatal errorshare/runtime/globals.hpp
CriticalJNINativesboolruntimetrueproductCheck for critical JNI entry pointsshare/runtime/globals.hpp
DSCR_DPFD_PPC64uint64_tppc8productPower8 or later: DPFD (default prefetch depth) value of the Data Stream Control Register. 0: hardware default, 1: none, 2-7: min-max, 8: don't touchcpu/ppc/globals_ppc.hpp
DSCR_PPC64uint64_tppc(uintx)-1productPower8 or later: Specify encoded value for Data Stream Control Registercpu/ppc/globals_ppc.hpp
DSCR_URG_PPC64uint64_tppc8productPower8 or later: URG (depth attainment urgency) value of the Data Stream Control Register. 0: hardware default, 1: none, 2-7: min-max, 8: don't touchcpu/ppc/globals_ppc.hpp
DTraceAllocProbesboolruntimefalseproductEnable dtrace probes for object allocationshare/runtime/globals.hpp
DTraceMethodProbesboolruntimefalseproductEnable dtrace probes for method-entry and method-exitshare/runtime/globals.hpp
DTraceMonitorProbesboolruntimefalseproductEnable dtrace probes for monitor eventsshare/runtime/globals.hpp
DebugDeoptimizationboolruntimefalsedevelopTracing various information while debugging deoptimizationshare/runtime/globals.hpp
DebugInlinedCallsboolc2truediagnosticIf false, restricts profiled locations to the root method onlyshare/opto/c2_globals.hpp
DebugNonSafepointsboolruntimetrueInDebugdiagnosticGenerate extra debugging information for non-safepoints in nmethodsshare/runtime/globals.hpp
DebugVtablesboolruntimefalsedevelopadd debugging code to vtable dispatchshare/runtime/globals.hpp
DebuggingObsoleted in JDK16
Expired in JDK17
boolruntimefalseproductSet when executing debug methods in debug.cpp (to prevent triggering assertions)share/runtime/globals.hpp
DeferInitialCardMarkboolgcfalsediagnosticWhen +ReduceInitialCardMarks, explicitly defer any that may arise from new_pre_store_barriershare/gc/shared/gc_globals.hpp
DelayCompilationDuringStartupboolruntimetruedevelopDelay invoking the compiler until main application class is loadedshare/runtime/globals.hpp
DeoptC1boolc1truedevelopUse deoptimization in C1share/c1/c1_globals.hpp
DeoptimizeALotIntervalintxruntime5notproductNumber of exits until DeoptimizeALot kicks inshare/runtime/globals.hpp
DeoptimizeALotboolruntimefalsedevelopDeoptimize at every exit from the runtime systemshare/runtime/globals.hpp
DeoptimizeOnlyAtccstrlistruntimeA comma separated list of bcis to deoptimize atnotproductshare/runtime/globals.hpp
DeoptimizeRandomboolruntimefalseproductDeoptimize random frames on random exit from the runtime systemshare/runtime/globals.hpp
DesiredMethodLimitintxruntime8000developThe desired maximum method size (in bytecodes) after inliningshare/runtime/globals.hpp
DisableAttachMechanismboolruntimefalseproductDisable mechanism that allows tools to attach to this VMshare/runtime/globals.hpp
DisableExplicitGCboolgcfalseproductIgnore calls to System.gc()share/gc/shared/gc_globals.hpp
DisableIntrinsicccstrlistruntimedo not expand intrinsics whose (internal) names appear herediagnosticshare/runtime/globals.hpp
DisablePrimordialThreadGuardPagesboolruntimefalseexperimentalDisable the use of stack guard pages if the JVM is loaded on the primordial process threadshare/runtime/globals.hpp
DisableStartThreadboolruntimefalsedevelopDisable starting of additional Java threads (for debugging only)share/runtime/globals.hpp
DisplayVMOutputToStderrboolruntimefalseproductIf DisplayVMOutput is true, display all VM output to stderrshare/runtime/globals.hpp
DisplayVMOutputToStdoutboolruntimefalseproductIf DisplayVMOutput is true, display all VM output to stdoutshare/runtime/globals.hpp
DisplayVMOutputboolruntimetruediagnosticDisplay all VM output on the tty, independently of LogVMOutputshare/runtime/globals.hpp
DoCEEboolc1truedevelopDo Conditional Expression Elimination to simplify CFGshare/c1/c1_globals.hpp
DoEscapeAnalysisboolc2trueproductPerform escape analysisshare/opto/c2_globals.hpp
DoReserveCopyInSuperWordboolc2trueproductCreate reserve copy of graph in SuperWord.share/opto/c2_globals.hpp
DominatorSearchLimitintxc21000
range(0, max_jint)
diagnosticIterations limit in Node::dominatesshare/opto/c2_globals.hpp
DontCompileHugeMethodsboolruntimetrueproductDo not compile methods > HugeMethodLimitshare/runtime/globals.hpp
DontYieldALotIntervalintxruntime10developInterval between which yields will be dropped (milliseconds)share/runtime/globals.hpp
DontYieldALotboolaixppcfalsedefine_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
DontYieldALotboolbsdx86falsedefine_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
DontYieldALotboolbsdzerofalsedefine_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
DontYieldALotboollinuxaarch64falsedefine_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
DontYieldALotboollinuxarmfalsedefine_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
DontYieldALotboollinuxppcfalsedefine_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
DontYieldALotboollinuxs390falsedefine_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
DontYieldALotboollinuxx86falsedefine_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
DontYieldALotboollinuxzerofalsedefine_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
DontYieldALotboolruntimeproduct_pdThrow away obvious excess yield callsshare/runtime/globals.hpp
DontYieldALotboolsparctruedefine_pd_global// yield no more than 100 times per secondcpu/sparc/globals_sparc.hpp
DontYieldALotboolsolarisx86truedefine_pd_global// Determined in the design centeros_cpu/solaris_x86/globals_solaris_x86.hpp
DontYieldALotboolwindowsx86falsedefine_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
DumpLoadedClassListccstrruntimeNULLproductDump the names all loaded classes, that could be stored into the CDS archive, in the specified fileshare/runtime/globals.hpp
DumpPrivateMappingsInCoreboollinuxtruediagnosticIf true, sets bit 2 of /proc/PID/coredump_filter, thus resulting in file-backed private mappings of the process to be dumped into the corefile.os/linux/globals_linux.hpp
DumpReplayDataOnErrorboolruntimetrueproductRecord replay data for crashing compiler threadsshare/runtime/globals.hpp
DumpSharedMappingsInCoreboollinuxtruediagnosticIf true, sets bit 3 of /proc/PID/coredump_filter, thus resulting in file-backed shared mappings of the process to be dumped into the corefile.os/linux/globals_linux.hpp
DumpSharedSpacesboolruntimefalseproductSpecial mode: JVM reads a class list, loads classes, builds shared spaces, and dumps the shared spaces to a file to be used in future JVM runsshare/runtime/globals.hpp
DynamicallyResizeSystemDictionariesboolruntimetruediagnosticDynamically resize system dictionaries as neededshare/runtime/globals.hpp
EagerInitializationboolruntimefalsedevelopEagerly initialize classes if possibleshare/runtime/globals.hpp
EagerJVMCIbooljvmcifalseexperimentalForce eager JVMCI initializationshare/jvmci/jvmci_globals.hpp
EagerXrunInitboolruntimefalseproductEagerly initialize -Xrun libraries; allows startup profiling, but not all -Xrun libraries may support the state of the VM at this timeshare/runtime/globals.hpp
EliminateAllocationArraySizeLimitintxc264
range(0, max_jint)
productArray size (number of elements) limit for scalar replacementshare/opto/c2_globals.hpp
EliminateAllocationsboolc2trueproductUse escape analysis to eliminate allocationsshare/opto/c2_globals.hpp
EliminateAutoBoxboolc2trueproductControl optimizations for autobox eliminationshare/opto/c2_globals.hpp
EliminateBlocksboolc1truedevelopEliminate unneccessary basic blocksshare/c1/c1_globals.hpp
EliminateFieldAccessboolc1truedevelopOptimize field loads and storesshare/c1/c1_globals.hpp
EliminateLocksboolc2trueproductCoarsen locks when possibleshare/opto/c2_globals.hpp
EliminateNestedLocksboolc2trueproductEliminate nested locks of the same object when possibleshare/opto/c2_globals.hpp
EliminateNullChecksboolc1truedevelopEliminate unneccessary null checksshare/c1/c1_globals.hpp
EmitSyncObsoleted in JDK12
Expired in JDK13
intxruntime0experimental(Unsafe, Unstable) Control emission of inline sync fast-path codeshare/runtime/globals.hpp
EnableContendedboolruntimetrueproductEnable @Contended annotation supportshare/runtime/globals.hpp
EnableDynamicAgentLoadingboolruntimetrueproductAllow tools to load agents with the attach mechanismshare/runtime/globals.hpp
EnableJVMCIbooljvmcifalseexperimentalEnable JVMCIshare/jvmci/jvmci_globals.hpp
EnableThreadSMRExtraValidityChecksboolruntimetruediagnosticEnable Thread SMR extra validity checksshare/runtime/globals.hpp
EnableThreadSMRStatisticsboolruntimetrueInDebugdiagnosticEnable Thread SMR Statisticsshare/runtime/globals.hpp
EpsilonElasticTLABDecayboolgctrueexperimentalUse timed decays to shrik TLAB sizes. This conserves memory for the threads that allocate in bursts of different sizes, for example the small/rare allocations coming after the initial large burst.share/gc/epsilon/epsilon_globals.hpp
EpsilonElasticTLABboolgctrueexperimentalUse elastic policy to manage TLAB sizes. This conserves memory for non-actively allocating threads, even when they request large TLABs for themselves. Active threads would experience smaller TLABs until policy catches up.share/gc/epsilon/epsilon_globals.hpp
EpsilonMaxTLABSizesize_tgc4 * M
range(1, max_intx)
experimentalMax TLAB size to use with Epsilon GC. Larger value improves performance at the expense of per-thread memory waste. This asks TLAB machinery to cap TLAB sizes at this value.share/gc/epsilon/epsilon_globals.hpp
EpsilonMinHeapExpandsize_tgc128 * M
range(1, max_intx)
experimentalMin expansion step for heap. Larger value improves performance at the potential expense of memory waste.share/gc/epsilon/epsilon_globals.hpp
EpsilonPrintHeapStepssize_tgc20
range(0, max_intx)
experimentalPrint heap occupancy stats with this number of steps.
0 turns the printing off.
share/gc/epsilon/epsilon_globals.hpp
EpsilonTLABDecayTimesize_tgc1000
range(1, max_intx)
experimentalTLAB sizing policy decays to initial size after thread had not allocated for this long. Time is in milliseconds. Lower value improves memory footprint, but penalizes actively allocating threads.share/gc/epsilon/epsilon_globals.hpp
EpsilonTLABElasticitydoublegc1.1
range(1.0, DBL_MAX)
experimentalMultiplier to use when deciding on next TLAB size. Larger value improves performance at the expense of per-thread memory waste. Lower value improves memory footprint, but penalizes actively allocating threads.share/gc/epsilon/epsilon_globals.hpp
EpsilonUpdateCountersStepsize_tgc1 * M
range(1, max_intx)
experimentalUpdate heap occupancy counters after allocating this much memory. Higher values would make allocations faster at the expense of lower resolution in heap counters.share/gc/epsilon/epsilon_globals.hpp
ErgoHeapSizeLimitsize_tgc0
range(0, max_uintx)
productMaximum ergonomically set heap size (in bytes); zero means use MaxRAM * MaxRAMPercentage / 100share/gc/shared/gc_globals.hpp
ErrorFileToStderrboolruntimefalseproductIf true, error data is printed to stderr instead of a fileshare/runtime/globals.hpp
ErrorFileToStdoutboolruntimefalseproductIf true, error data is printed to stdout instead of a fileshare/runtime/globals.hpp
ErrorFileccstrruntimeNULLproductIf an error occurs, save the error data to this file [default: ./hs_err_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
ErrorHandlerTestuintxruntime0notproductIf > 0, provokes an error after VM initialization; the value determines which error to provoke. See test_error_handler() in vmError.cpp.share/runtime/globals.hpp
ErrorLogTimeoutuint64_truntime2 * 60
range(0, (uint64_t)max_jlong/1000)
productTimeout, in seconds, to limit the time spent on writing an error log in case of a crash.share/runtime/globals.hpp
ErrorReportServerObsoleted in JDK12
Expired in JDK13
ccstrruntimeNULLproductOverride built-in error report server addressshare/runtime/globals.hpp
EscapeAnalysisTimeoutdoublec220. DEBUG_ONLY(+40.)
range(0, DBL_MAX)
productAbort EA when it reaches time limit (in sec)share/opto/c2_globals.hpp
EstimateArgEscapeboolruntimetrueproductAnalyze bytecodes to estimate escape state of argumentsshare/runtime/globals.hpp
ExecuteInternalVMTestsboolgcfalsenotproductEnable execution of internal VM testsshare/gc/shared/gc_globals.hpp
ExecutingUnitTestsboolgcfalseproductWhether the JVM is running unit tests or notshare/gc/shared/gc_globals.hpp
ExitEscapeAnalysisOnTimeoutboolc2truedevelopExit or throw assert in EA when it reaches time limitshare/opto/c2_globals.hpp
ExitOnFullCodeCacheboolruntimefalsenotproductExit the VM if we fill the code cacheshare/runtime/globals.hpp
ExitOnOutOfMemoryErrorboolruntimefalseproductJVM exits on the first occurrence of an out-of-memory errorshare/runtime/globals.hpp
ExitVMOnVerifyErrorboolruntimefalsenotproductstandard exit from VM if bytecode verify error (only in debug mode)share/runtime/globals.hpp
ExpandLoadingBaseDecode_NNbools390trueproductExpand the assembler instruction required to load the base from DecodeN_NN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseDecodebools390trueproductExpand the assembler instruction required to load the base from DecodeN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncode_NNbools390trueproductExpand the assembler instruction required to load the base from EncodeP_NN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncodebools390trueproductExpand the assembler instruction required to load the base from EncodeP nodes during matching.cpu/s390/globals_s390.hpp
ExplicitGCInvokesConcurrentboolgcfalseproductA System.gc() request invokes a concurrent collection; (effective only when using concurrent collectors)share/gc/shared/gc_globals.hpp
ExtendedDTraceProbesboolruntimefalseproductEnable performance-impacting dtrace probesshare/runtime/globals.hpp
ExtensiveErrorReportsboolruntimePRODUCT_ONLY(false) NOT_PRODUCT(true)productError reports are more extensive.share/runtime/globals.hpp
ExtraSharedClassListFileccstrruntimeNULLproductExtra classlist for building the CDS archive fileshare/runtime/globals.hpp
FLOATPRESSUREintxaarch6464define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
FLOATPRESSUREintxarm30define_pd_globalcpu/arm/c2_globals_arm.hpp
FLOATPRESSUREintxc2develop_pdNumber of float LRG's that constitute high register pressureshare/opto/c2_globals.hpp
FLOATPRESSUREintxppc28define_pd_globalcpu/ppc/c2_globals_ppc.hpp
FLOATPRESSUREintxs39015define_pd_globalcpu/s390/c2_globals_s390.hpp
FLOATPRESSUREintxsparc52define_pd_global// C2 on V9 gets to use all the float/double registerscpu/sparc/c2_globals_sparc.hpp
FLOATPRESSUREintxx866define_pd_globalcpu/x86/c2_globals_x86.hpp
FLSAlwaysCoalesceLargeObsoleted in JDK14
Expired in JDK15
boolgcfalseproductCMS: larger free blocks are always available for coalescingshare/gc/cms/cms_globals.hpp
FLSCoalescePolicyObsoleted in JDK14
Expired in JDK15
uintxgc2
range(0, 4)
productCMS: aggressiveness level for coalescing, increasing from 0 to 4share/gc/cms/cms_globals.hpp
FLSLargestBlockCoalesceProximityObsoleted in JDK14
Expired in JDK15
doublegc0.99
range(0.0, 1.0)
productCMS: the smaller the percentage the greater the coalescing forceshare/gc/cms/cms_globals.hpp
FLSVerifyAllHeapReferencesboolgcfalsediagnosticVerify that all references across the FLS boundary are to valid objectsshare/gc/cms/cms_globals.hpp
FLSVerifyDictionaryboolruntimefalsedevelopDo lots of (expensive) FLS dictionary verificationshare/runtime/globals.hpp
FLSVerifyIndexTableboolgcfalsediagnosticDo lots of (expensive) FLS index table verificationshare/gc/cms/cms_globals.hpp
FLSVerifyListsboolgcfalsediagnosticDo lots of (expensive) FreeListSpace verificationshare/gc/cms/cms_globals.hpp
FailOverToOldVerifierObsoleted in JDK14
Expired in JDK15
boolruntimetrueproductFail over to old verifier when split verifier failsshare/runtime/globals.hpp
FastAllocateSizeLimitintxruntime128*Kdevelop/* Note: This value is zero mod 1<<13 for a cheap sparc set. */Inline allocations larger than this in doublewords must go slowshare/runtime/globals.hpp
FastSuperclassLimitintxruntime8developDepth of hardwired instanceof accelerator arrayshare/runtime/globals.hpp
FieldsAllocationStyleDeprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
intxruntime1
range(0, 2)
product0 - type based with oops first,
1 - with oops last,
2 - oops in super and sub classes are together
share/runtime/globals.hpp
FillDelaySlotsboolruntimetruedevelopFill delay slots (on SPARC only)share/runtime/globals.hpp
FilterSpuriousWakeupsboolruntimetrueproductWhen true prevents OS-level spurious, or premature, wakeups from Object.wait (Ignored for Windows)share/runtime/globals.hpp
FlightRecorderOptionsccstrruntimeNULLproductFlight Recorder optionsshare/runtime/globals.hpp
FlightRecorderDeprecated in JDK13boolruntimefalseproductEnable Flight Recordershare/runtime/globals.hpp
FoldStableValuesboolruntimetruediagnosticOptimize loads from stable fields (marked w/ @Stable)share/runtime/globals.hpp
ForceDynamicNumberOfGCThreadsboolgcfalsediagnosticForce dynamic selection of the number of parallel threads parallel gc will use to aid debuggingshare/gc/shared/gc_globals.hpp
ForceFloatExceptionsboolruntimetrueInDebugdevelopForce exceptions on FP stack under/overflowshare/runtime/globals.hpp
ForceNUMADeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproductForce NUMA optimizations on single-node/UMA systemsshare/runtime/globals.hpp
ForceTimeHighResolutionboolruntimefalseproductUsing high time resolution (for Win32 only)share/runtime/globals.hpp
ForceUnreachableboolruntimefalsediagnosticMake all non code cache addresses to be unreachable by forcing use of 64bit literal fixupsshare/runtime/globals.hpp
FreqCountInvocationsintxc21
range(1, max_intx)
developScaling factor for branch frequencies (deprecated)share/opto/c2_globals.hpp
FreqInlineSizeintxaarch64325define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
FreqInlineSizeintxarm175define_pd_globalcpu/arm/c2_globals_arm.hpp
FreqInlineSizeintxruntimeproduct_pdThe maximum bytecode size of a frequent method to be inlinedshare/runtime/globals.hpp
FreqInlineSizeintxppc325define_pd_globalcpu/ppc/c1_globals_ppc.hpp
FreqInlineSizeintxs390175define_pd_globalcpu/s390/c2_globals_s390.hpp
FreqInlineSizeintxsparc325define_pd_globalcpu/sparc/c1_globals_sparc.hpp
FreqInlineSizeintxx86325define_pd_globalcpu/x86/c1_globals_x86.hpp
FullGCALotDummiesintxgc32*KnotproductDummy object allocated with +FullGCALot, forcing all objects to moveshare/gc/shared/gc_globals.hpp
FullGCALotIntervalintxgc1notproductInterval between which full gc will occur with +FullGCALotshare/gc/shared/gc_globals.hpp
FullGCALotStartintxgc0notproductFor which invocation to start FullGCAlotshare/gc/shared/gc_globals.hpp
FullGCALotboolgcfalsedevelopForce full gc at every Nth exit from the runtime system (N=FullGCALotInterval)share/gc/shared/gc_globals.hpp
G1AdaptiveIHOPNumInitialSamplessize_tgc3
range(1, max_intx)
experimentalHow many completed time periods from initial mark to first mixed gc are required to use the input values for prediction of the optimal occupancy to start marking.share/gc/g1/g1_globals.hpp
G1ConcMarkStepDurationMillisdoublegc10.0
range(1.0, DBL_MAX)
productTarget duration of individual concurrent marking steps in milliseconds.share/gc/g1/g1_globals.hpp
G1ConcRSHotCardLimituintxgc4
range(0, max_jubyte)
productThe threshold that defines (>=) a hot card.share/gc/g1/g1_globals.hpp
G1ConcRSLogCacheSizesize_tgc10
range(0, 27)
productLog base 2 of the length of conc RS hot-card cache.share/gc/g1/g1_globals.hpp
G1ConcRefinementGreenZonesize_tgc0
range(0, max_intx)
productThe number of update buffers that are left in the queue by the concurrent processing threads. Will be selected ergonomically by default.share/gc/g1/g1_globals.hpp
G1ConcRefinementRedZonesize_tgc0
range(0, max_intx)
productMaximum number of enqueued update buffers before mutator threads start processing new ones instead of enqueueing them. Will be selected ergonomically by default.share/gc/g1/g1_globals.hpp
G1ConcRefinementServiceIntervalMillisuintxgc300
range(0, max_jint)
productThe last concurrent refinement thread wakes up every specified number of milliseconds to do miscellaneous work.share/gc/g1/g1_globals.hpp
G1ConcRefinementThreadsuintgc0
range(0, (max_jint-1)/wordSize)
productThe number of parallel rem set update threads. Will be set ergonomically by default.share/gc/g1/g1_globals.hpp
G1ConcRefinementThresholdStepsize_tgc2
range(1, SIZE_MAX)
productEach time the rset update queue increases by this amount activate the next refinement thread if available. The actual step size will be selected ergonomically by default, with this value used to determine a lower bound.share/gc/g1/g1_globals.hpp
G1ConcRefinementYellowZonesize_tgc0
range(0, max_intx)
productNumber of enqueued update buffers that will trigger concurrent processing. Will be selected ergonomically by default.share/gc/g1/g1_globals.hpp
G1ConfidencePercentuintxgc50
range(0, 100)
productConfidence level for MMU/pause predictionsshare/gc/g1/g1_globals.hpp
G1DummyRegionsPerGCuintxgc0developThe number of dummy regions G1 will allocate at the end of each evacuation pause in order to artificially fill up the heap and stress the marking implementation.share/gc/g1/g1_globals.hpp
G1EagerReclaimHumongousObjectsWithStaleRefsboolgctrueexperimentalTry to reclaim dead large objects that have a few stale references at every young GC.share/gc/g1/g1_globals.hpp
G1EagerReclaimHumongousObjectsboolgctrueexperimentalTry to reclaim dead large objects at every young GC.share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotCountuintxgc1000developNumber of successful evacuations between evacuation failures occurring at object copyingshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringConcMarkboolgctruedevelopForce use of evacuation failure handling during evacuation pauses when marking is in progressshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringInitialMarkboolgctruedevelopForce use of evacuation failure handling during initial mark evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringMixedGCboolgctruedevelopForce use of evacuation failure handling during mixed evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringYoungGCboolgctruedevelopForce use of evacuation failure handling during young evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotIntervaluintxgc5developTotal collections between forced triggering of evacuation failuresshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotboolgcfalsenotproductForce use of evacuation failure handling during certain evacuation pausesshare/gc/g1/g1_globals.hpp
G1ExitOnExpansionFailureboolgcfalsedevelopRaise a fatal VM exit out of memory failure in the event that heap expansion fails due to running out of swap.share/gc/g1/g1_globals.hpp
G1ExpandByPercentOfAvailableintxgc20
range(0, 100)
experimentalWhen expanding, % of uncommitted space to claim.share/gc/g1/g1_globals.hpp
G1HRRSUseSparseTableboolgctruedevelopWhen true, use sparse table to save space.share/gc/g1/g1_globals.hpp
G1HeapRegionSizesize_tgc0
range(0, 32*M)
productSize of the G1 regions.share/gc/g1/g1_globals.hpp
G1HeapWastePercentuintxgc5
range(0, 100)
productAmount of space, expressed as a percentage of the heap size, that G1 is willing not to collect to avoid expensive GCs.share/gc/g1/g1_globals.hpp
G1LastPLABAverageOccupancydoublegc50.0
range(0.001, 100.0)
experimentalThe expected average occupancy of the last PLAB in percent.share/gc/g1/g1_globals.hpp
G1MaxNewSizePercentuintxgc60
range(0, 100)
experimentalPercentage (0-100) of the heap size to use as default maximum young gen size.share/gc/g1/g1_globals.hpp
G1MaxVerifyFailuresintxgc-1
range(-1, max_jint)
developThe maximum number of verification failures to print. -1 means print all.share/gc/g1/g1_globals.hpp
G1MixedGCCountTargetuintxgc8
range(0, max_uintx)
productThe target number of mixed GCs after a marking cycle.share/gc/g1/g1_globals.hpp
G1MixedGCLiveThresholdPercentuintxgc85
range(0, 100)
experimentalThreshold for regions to be considered for inclusion in the collection set of mixed GCs. Regions with live bytes exceeding this will not be collected.share/gc/g1/g1_globals.hpp
G1NewSizePercentuintxgc5
range(0, 100)
experimentalPercentage (0-100) of the heap size to use as default minimum young gen size.share/gc/g1/g1_globals.hpp
G1OldCSetRegionThresholdPercentuintxgc10
range(0, 100)
experimentalAn upper bound for the number of old CSet regions expressed as a percentage of the heap size.share/gc/g1/g1_globals.hpp
G1PretouchAuxiliaryMemoryboolgcfalseexperimentalPre-touch large auxiliary data structures used by the GC.share/gc/g1/g1_globals.hpp
G1RSetRegionEntriesBaseintxgc256
range(1, max_jint/wordSize)
developMax number of regions in a fine-grain table per MB.share/gc/g1/g1_globals.hpp
G1RSetRegionEntriesintxgc0
range(0, max_jint/wordSize)
productMax number of regions for which we keep bitmaps.Will be set ergonomically by defaultshare/gc/g1/g1_globals.hpp
G1RSetScanBlockSizeDeprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
size_tgc64
range(1, max_uintx)
productSize of a work unit of cards claimed by a worker threadduring RSet scanning.share/gc/g1/g1_globals.hpp
G1RSetSparseRegionEntriesBaseintxgc4
range(1, max_jint/wordSize)
developMax number of entries per region in a sparse table per MB.share/gc/g1/g1_globals.hpp
G1RSetSparseRegionEntriesintxgc0
range(0, max_jint/wordSize)
productMax number of entries per region in a sparse table.Will be set ergonomically by default.share/gc/g1/g1_globals.hpp
G1RSetUpdatingPauseTimePercentintxgc10
range(0, 100)
productA target percentage of time that is allowed to be spend on process RS update buffers during the collection pause.share/gc/g1/g1_globals.hpp
G1RebuildRemSetChunkSizesize_tgc256 * K
range(4 * K, 32 * M)
experimentalChunk size used for rebuilding the remembered set.share/gc/g1/g1_globals.hpp
G1RefProcDrainIntervaluintgc1000
range(1, INT_MAX)
productThe number of discovered reference objects to process before draining concurrent marking work queues.share/gc/g1/g1_globals.hpp
G1ReservePercentuintxgc10
range(0, 50)
productIt determines the minimum reserve we should have in the heap to minimize the probability of promotion failure.share/gc/g1/g1_globals.hpp
G1SATBBufferEnqueueingThresholdPercentuintxgc60
range(0, 100)
productBefore enqueueing them, each mutator thread tries to do some filtering on the SATB buffers it generates. If post-filtering the percentage of retained entries is over this threshold the buffer will be enqueued for processing. A value of 0 specifies that mutator threads should not do such filtering.share/gc/g1/g1_globals.hpp
G1SATBBufferSizesize_tgc1*K
range(1, max_uintx)
productNumber of entries in an SATB log buffer.share/gc/g1/g1_globals.hpp
G1SATBProcessCompletedThresholdintxgc20
range(0, max_jint)
developNumber of completed buffers that triggers log processing.share/gc/g1/g1_globals.hpp
G1SummarizeRSetStatsPeriodintxgc0
range(0, max_intx)
diagnosticThe period (in number of GCs) at which we will generate update buffer processing info (0 means do not periodically generate this info); it also requires that logging is enabled on the tracelevel for gc+remsetshare/gc/g1/g1_globals.hpp
G1UpdateBufferSizesize_tgc256
range(1, NOT_LP64(32*M) LP64_ONLY(1*G))
productSize of an update buffershare/gc/g1/g1_globals.hpp
G1UseAdaptiveConcRefinementboolgctrueproductSelect green, yellow and red zones adaptively to meet the the pause requirements.share/gc/g1/g1_globals.hpp
G1UseAdaptiveIHOPboolgctrueproductAdaptively adjust the initiating heap occupancy from the initial value of InitiatingHeapOccupancyPercent. The policy attempts to start marking in time based on application behavior.share/gc/g1/g1_globals.hpp
G1UseReferencePrecleaningboolgctrueexperimentalConcurrently preclean java.lang.ref.references instances before the Remark pause.share/gc/g1/g1_globals.hpp
G1VerifyBitmapsboolgcfalsedevelopVerifies the consistency of the marking bitmapsshare/gc/g1/g1_globals.hpp
G1VerifyCTCleanupboolgcfalsedevelopVerify card table cleanup.share/gc/g1/g1_globals.hpp
G1VerifyHeapRegionCodeRootsboolgcfalsediagnosticVerify the code root lists attached to each heap region.share/gc/g1/g1_globals.hpp
G1VerifyRSetsDuringFullGCboolgcfalsediagnosticIf true, perform verification of each heap region's remembered set when verifying the heap during a full GC.share/gc/g1/g1_globals.hpp
GCALotAtAllSafepointsboolgcfalsenotproductEnforce ScavengeALot/GCALot at all potential safepointsshare/gc/shared/gc_globals.hpp
GCDrainStackTargetSizeuintxgc64
range(0, max_juint)
productNumber of entries we will try to leave on the stack during parallel gcshare/gc/shared/gc_globals.hpp
GCExpandToAllocateDelayMillisuintxgc0developDelay between expansion and allocation (in milliseconds)share/gc/shared/gc_globals.hpp
GCHeapFreeLimituintxgc2
range(0, 100)
productMinimum percentage of free space after a full GC before an OutOfMemoryError is thrown (used with GCTimeLimit)share/gc/shared/gc_globals.hpp
GCLockerEdenExpansionPercentuintxgc5
range(0, 100)
productHow much the GC can expand the eden by while the GC locker is active (as a percentage)share/gc/shared/gc_globals.hpp
GCLockerInvokesConcurrentObsoleted in JDK14
Expired in JDK15
boolgcfalseproductThe exit of a JNI critical section necessitating a scavenge, also kicks off a background concurrent collectionshare/gc/shared/gc_globals.hpp
GCLockerRetryAllocationCountuintxgc2
range(0, max_uintx)
diagnosticNumber of times to retry allocations when blocked by the GC lockershare/gc/shared/gc_globals.hpp
GCParallelVerificationEnabledboolgctruediagnosticEnable parallel memory system verificationshare/gc/shared/gc_globals.hpp
GCPauseIntervalMillisuintxgc0productTime slice for MMU specificationshare/gc/shared/gc_globals.hpp
GCTaskTimeStampEntriesObsoleted in JDK14
Expired in JDK16
uintgc200
range(1, max_jint)
productNumber of time stamp entries per gc worker threadshare/gc/shared/gc_globals.hpp
GCTimeLimituintxgc98
range(0, 100)
productLimit of the proportion of time spent in GC before an OutOfMemoryError is thrown (used with GCHeapFreeLimit)share/gc/shared/gc_globals.hpp
GCTimeRatiouintxgc99
range(0, max_juint)
productAdaptive size policy application time to GC time ratioshare/gc/shared/gc_globals.hpp
GCWorkerDelayMillisuintxgc0developDelay in scheduling GC workers (in milliseconds)share/gc/parallel/parallel_globals.hpp
GenerateArrayStoreCheckboolc1truedevelopGenerates code for array store checksshare/c1/c1_globals.hpp
GenerateRangeChecksboolruntimetruedevelopGenerate range checks for array accessesshare/runtime/globals.hpp
GenerateSynchronizationCodeboolruntimetruedevelopgenerate locking/unlocking code for synchronized methods and monitorsshare/runtime/globals.hpp
GuaranteedSafepointIntervalintxruntime1000
range(0, max_jint)
diagnosticGuarantee a safepoint (at least) every so many milliseconds (0 means none)share/runtime/globals.hpp
HandshakeTimeoutuintruntime0diagnosticIf nonzero set a timeout in milliseconds for handshakesshare/runtime/globals.hpp
HeapBaseMinAddresssize_taixppc2*Gdefine_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
HeapBaseMinAddresssize_tbsdx862*Gdefine_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
HeapBaseMinAddresssize_tbsdzero2*Gdefine_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
HeapBaseMinAddressuintxlinuxaarch642*Gdefine_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
HeapBaseMinAddresssize_tlinuxarm2*Gdefine_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
HeapBaseMinAddresssize_tlinuxppc2*Gdefine_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
HeapBaseMinAddresssize_tlinuxs3902*Gdefine_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
HeapBaseMinAddresssize_tlinuxsparcCONST64(4)*Gdefine_pd_globalos_cpu/linux_sparc/globals_linux_sparc.hpp
HeapBaseMinAddresssize_tlinuxx862*Gdefine_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
HeapBaseMinAddresssize_tlinuxzero2*Gdefine_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
HeapBaseMinAddresssize_tgcproduct_pdOS specific low limit for heap base addressshare/gc/shared/gc_globals.hpp
HeapBaseMinAddresssize_tsolarissparcCONST64(6)*Gdefine_pd_globalos_cpu/solaris_sparc/globals_solaris_sparc.hpp
HeapBaseMinAddresssize_tsolarisx862*Gdefine_pd_globalos_cpu/solaris_x86/globals_solaris_x86.hpp
HeapBaseMinAddresssize_twindowsx862*Gdefine_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
HeapDumpAfterFullGCboolruntimefalsemanageableDump heap to file after any major stop-the-world GCshare/runtime/globals.hpp
HeapDumpBeforeFullGCboolruntimefalsemanageableDump heap to file before any major stop-the-world GCshare/runtime/globals.hpp
HeapDumpOnOutOfMemoryErrorboolruntimefalsemanageableDump heap to file when java.lang.OutOfMemoryError is thrownshare/runtime/globals.hpp
HeapDumpPathccstrruntimeNULLmanageableWhen HeapDumpOnOutOfMemoryError is on, the path (filename or directory) of the dump file (defaults to java_pid<pid>.hprof in the working directory)share/runtime/globals.hpp
HeapFirstMaximumCompactionCountuintxgc3
range(0, max_uintx)
productThe collection count for the first maximum compactionshare/gc/parallel/parallel_globals.hpp
HeapMaximumCompactionIntervaluintxgc20
range(0, max_uintx)
productHow often should we maximally compact the heap (not allowing any dead space)share/gc/parallel/parallel_globals.hpp
HeapSearchStepsuintxruntime3 PPC64_ONLY(+17)
range(1, max_uintx)
productHeap allocation steps through preferred address regions to find where it can allocate the heap. Number of steps to take per region.share/runtime/globals.hpp
HeapSizePerGCThreadsize_tgcScaleForWordSize(32*M)
range((size_t)os::vm_page_size(), (size_t)max_uintx)
productSize of heap (bytes) per GC thread used in calculating the number of GC threadsshare/gc/shared/gc_globals.hpp
HotCallCountThresholdintxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developlarge numbers of calls (per method invocation) force hotnessshare/opto/c2_globals.hpp
HotCallProfitThresholdintxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
develophighly profitable inlining opportunities force hotnessshare/opto/c2_globals.hpp
HotCallTrivialSizeintxc2-1
range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developtrivial methods (no larger than this) force calls to be hotshare/opto/c2_globals.hpp
HotCallTrivialWorkintxc2-1
range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developtrivial execution time (no larger than this) forces hotnessshare/opto/c2_globals.hpp
HotMethodDetectionLimitintxruntime100000
range(1, max_jint)
diagnosticNumber of compiled code invocations after which the method is considered as hot by the flushershare/runtime/globals.hpp
HugeMethodLimitintxruntime8000developDon't compile methods larger than this if +DontCompileHugeMethodsshare/runtime/globals.hpp
ICMissHistogramboolruntimefalsenotproductProduce histogram of IC missesshare/runtime/globals.hpp
IEEEPrecisionboolx86truedevelopEnables IEEE precision (for INTEL only)cpu/x86/globals_x86.hpp
INTPRESSUREintxaarch6424define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
INTPRESSUREintxarm12define_pd_globalcpu/arm/c2_globals_arm.hpp
INTPRESSUREintxc2develop_pdNumber of integer LRG's that constitute high register pressureshare/opto/c2_globals.hpp
INTPRESSUREintxppc26define_pd_globalcpu/ppc/c2_globals_ppc.hpp
INTPRESSUREintxs39010define_pd_global// Medium size register set, 6 special purpose regs, 3 SOE regs.cpu/s390/c2_globals_s390.hpp
INTPRESSUREintxsparc48define_pd_global// large register setcpu/sparc/c2_globals_sparc.hpp
INTPRESSUREintxx866define_pd_globalcpu/x86/c2_globals_x86.hpp
IdealizeClearArrayNodeboolaarch64truedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
IdealizeClearArrayNodeboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
IdealizeClearArrayNodeboolc2diagnostic_pdReplace ClearArrayNode by subgraph of basic operations.share/opto/c2_globals.hpp
IdealizeClearArrayNodeboolppctruedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
IdealizeClearArrayNodebools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
IdealizeClearArrayNodeboolsparctruedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
IdealizeClearArrayNodeboolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
IdealizedNumericsboolc2falsedevelopCheck performance difference allowing FP associativity and commutativity...share/opto/c2_globals.hpp
IgnoreEmptyClassPathsboolruntimefalseproductIgnore empty path elements in -classpathshare/runtime/globals.hpp
IgnoreLibthreadGPFaultboolruntimefalsedevelopSuppress workaround for libthread GP faultshare/runtime/globals.hpp
IgnoreLockingAssertionsboolruntimefalsenotproductdisable locking assertions (for speed)share/runtime/globals.hpp
IgnoreRewritesboolruntimefalsedevelopSuppress rewrites of bytecodes in the oopmap generator. This is unsafe!share/runtime/globals.hpp
IgnoreUnrecognizedVMOptionsboolruntimefalseproductIgnore unrecognized VM optionsshare/runtime/globals.hpp
IgnoreUnverifiableClassesDuringDumpDeprecated in JDK10
Obsoleted in JDK12
Expired in JDK13
boolruntimetruediagnosticDo not quit -Xshare:dump even if we encounter unverifiable classes. Just exclude them from the shared dictionary.share/runtime/globals.hpp
ImplicitDiv0Checksboolc1truedevelopUse implicit division by zero checksshare/c1/c1_globals.hpp
ImplicitNullCheckThresholdintxc23
range(0, max_jint)
developDon't do implicit null checks if NPE's in a method exceeds limitshare/opto/c2_globals.hpp
ImplicitNullChecksboolaarch64truedefine_pd_global// Generate code for implicit null checkscpu/aarch64/globals_aarch64.hpp
ImplicitNullChecksboolarmtruedefine_pd_global// Generate code for implicit null checkscpu/arm/globals_arm.hpp
ImplicitNullChecksboolruntimediagnostic_pdGenerate code for implicit null checksshare/runtime/globals.hpp
ImplicitNullChecksboolppctruedefine_pd_global// Generate code for implicit null checks.cpu/ppc/globals_ppc.hpp
ImplicitNullChecksbools390truedefine_pd_global// Generate code for implicit null checks.cpu/s390/globals_s390.hpp
ImplicitNullChecksboolsparctruedefine_pd_global// Generate code for implicit null checkscpu/sparc/globals_sparc.hpp
ImplicitNullChecksboolx86truedefine_pd_global// Generate code for implicit null checkscpu/x86/globals_x86.hpp
ImplicitNullChecksboolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
IncreaseFirstTierCompileThresholdAtuintxruntime50
range(0, 99)
productIncrease the compile threshold for C1 compilation if the code cache is filled by the specified percentageshare/runtime/globals.hpp
IncrementalInlineboolc2trueproductdo post parse inliningshare/opto/c2_globals.hpp
IndexSetWatchintxc20
range(-1, 0)
notproductTrace all operations on this IndexSet (-1 means all, 0 none)share/opto/c2_globals.hpp
InitArrayShortSizeintxaarch64BytesPerLongdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
InitArrayShortSizeintxarm8*BytesPerLongdefine_pd_globalcpu/arm/globals_arm.hpp
InitArrayShortSizeintxruntimediagnostic_pdThreshold small size (in bytes) for clearing arrays. Anything this size or smaller may get converted to discrete scalar stores.share/runtime/globals.hpp
InitArrayShortSizeintxppc9*BytesPerLongdefine_pd_globalcpu/ppc/globals_ppc.hpp
InitArrayShortSizeintxs3901*BytesPerLongdefine_pd_globalcpu/s390/globals_s390.hpp
InitArrayShortSizeintxsparc8*BytesPerLongdefine_pd_globalcpu/sparc/globals_sparc.hpp
InitArrayShortSizeintxx868*BytesPerLongdefine_pd_globalcpu/x86/globals_x86.hpp
InitArrayShortSizeintxzero0define_pd_globalcpu/zero/globals_zero.hpp
InitialBootClassLoaderMetaspaceSizeDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
size_truntimeNOT_LP64(2200*K) LP64_ONLY(4*M)
range(30*K, max_uintx/BytesPerWord)
productInitial size of the boot class loader data metaspaceshare/runtime/globals.hpp
InitialCodeCacheSizeintxaarch64160*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
InitialCodeCacheSizesize_tarm1536*Kdefine_pd_global// Integral multiple of CodeCacheExpansionSizecpu/arm/c2_globals_arm.hpp
InitialCodeCacheSizeuintxruntimeproduct_pdInitial code cache size (in bytes)share/runtime/globals.hpp
InitialCodeCacheSizeuintxppc160*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
InitialCodeCacheSizeuintxs3902048*Kdefine_pd_global// Integral multiple of CodeCacheExpansionSizecpu/s390/c2_globals_s390.hpp
InitialCodeCacheSizeuintxsparc160*Kdefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
InitialCodeCacheSizeuintxx86160*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
InitialHeapSizesize_tgc0productInitial heap size (in bytes); zero means use ergonomicsshare/gc/shared/gc_globals.hpp
InitialRAMFractionDeprecated in JDK10uintxgc64
range(1, max_uintx)
productFraction (1/n) of real memory used for initial heap size. Deprecated, use InitialRAMPercentage insteadshare/gc/shared/gc_globals.hpp
InitialRAMPercentagedoublegc1.5625
range(0.0, 100.0)
productPercentage of real memory used for initial heap sizeshare/gc/shared/gc_globals.hpp
InitialSurvivorRatiouintxgc8
range(0, max_uintx)
productInitial ratio of young generation/survivor space sizeshare/gc/shared/gc_globals.hpp
InitialTenuringThresholduintxgc7
range(0, markOopDesc::max_age + 1)
productInitial value for tenuring thresholdshare/gc/shared/gc_globals.hpp
InitiatingHeapOccupancyPercentuintxgc45
range(0, 100)
productThe percent occupancy (IHOP) of the current old generation capacity above which a concurrent mark cycle will be initiated Its value may change over time if adaptive IHOP is enabled, otherwise the value remains constant. In the latter case a value of 0 will result as frequent as possible concurrent marking cycles. A value of 100 disables concurrent marking. Fragmentation waste in the old generation is not considered free space in this calculation. (G1 collector only)share/gc/shared/gc_globals.hpp
InjectCompilerCreationFailureboolruntimefalsedevelopInject thread creation failures for UseDynamicNumberOfCompilerThreadsshare/runtime/globals.hpp
InjectGCWorkerCreationFailureboolgcfalsediagnosticInject thread creation failures for UseDynamicNumberOfGCThreadsshare/gc/shared/gc_globals.hpp
InlineAccessorsboolc2truedevelopinline accessor methods (get/set)share/opto/c2_globals.hpp
InlineArrayCopyboolruntimetruediagnosticInline arraycopy native that is known to be part of base library DLLshare/runtime/globals.hpp
InlineClassNativesboolruntimetruediagnosticInline Class.isInstance, etcshare/runtime/globals.hpp
InlineDataFileccstrruntimeNULLproductFile containing inlining replay information[default: ./inline_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
InlineFrequencyCountintxaarch64100define_pd_globalcpu/aarch64/globals_aarch64.hpp
InlineFrequencyCountintxarm50define_pd_globalcpu/arm/globals_arm.hpp
InlineFrequencyCountintxruntimediagnostic_pdCount of call site execution necessary to trigger frequent inliningshare/runtime/globals.hpp
InlineFrequencyCountintxppc100define_pd_globalcpu/ppc/globals_ppc.hpp
InlineFrequencyCountintxs390100define_pd_globalcpu/s390/globals_s390.hpp
InlineFrequencyCountintxsparc50define_pd_global// we can use more inlining on the SPARCcpu/sparc/globals_sparc.hpp
InlineFrequencyCountintxx86100define_pd_globalcpu/x86/globals_x86.hpp
InlineFrequencyCountintxzero100define_pd_globalcpu/zero/globals_zero.hpp
InlineFrequencyRatiointxruntime20
range(0, max_jint)
developRatio of call site execution to caller method invocationshare/runtime/globals.hpp
InlineIntrinsicsboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
InlineIntrinsicsboolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
InlineIntrinsicsboolruntimedevelop_pdInline intrinsics that can be statically resolvedshare/runtime/globals.hpp
InlineIntrinsicsboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
InlineIntrinsicsbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
InlineIntrinsicsboolsparctruedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
InlineIntrinsicsboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
InlineMathNativesboolruntimetruediagnosticInline SinD, CosD, etc.share/runtime/globals.hpp
InlineMethodsWithExceptionHandlersboolc1truedevelopInline methods containing exception handlers (NOTE: does not work with current backend)share/c1/c1_globals.hpp
InlineNIOCheckIndexboolc1truediagnosticIntrinsify java.nio.Buffer.checkIndexshare/c1/c1_globals.hpp
InlineNativesboolruntimetruediagnosticInline natives that are known to be part of base library DLLshare/runtime/globals.hpp
InlineObjectCopyboolc2truediagnosticinline Object.clone and Arrays.copyOf[Range] intrinsicsshare/opto/c2_globals.hpp
InlineObjectHashboolruntimetruediagnosticInline Object::hashCode() native that is known to be part of base library DLLshare/runtime/globals.hpp
InlineReflectionGetCallerClassboolc2truediagnosticinline sun.reflect.Reflection.getCallerClass(), known to be part of base library DLLshare/opto/c2_globals.hpp
InlineSmallCodeintxaarch641000define_pd_globalcpu/aarch64/globals_aarch64.hpp
InlineSmallCodeintxarm1500define_pd_globalcpu/arm/globals_arm.hpp
InlineSmallCodeintxruntimeproduct_pdOnly inline already compiled methods if their code size is less than thisshare/runtime/globals.hpp
InlineSmallCodeintxppc1500define_pd_globalcpu/ppc/globals_ppc.hpp
InlineSmallCodeintxs3902000define_pd_globalcpu/s390/globals_s390.hpp
InlineSmallCodeintxsparc1500define_pd_globalcpu/sparc/globals_sparc.hpp
InlineSmallCodeintxx861000define_pd_globalcpu/x86/globals_x86.hpp
InlineSmallCodeintxzero1000define_pd_globalcpu/zero/globals_zero.hpp
InlineSynchronizedMethodsboolc1trueproductInline synchronized methodsshare/c1/c1_globals.hpp
InlineThreadNativesboolruntimetruediagnosticInline Thread.currentThread, etcshare/runtime/globals.hpp
InlineThrowCountintxruntime50
range(0, max_jint)
developForce inlining of interpreted methods that throw this oftenshare/runtime/globals.hpp
InlineThrowMaxSizeintxruntime200
range(0, max_jint)
developForce inlining of throwing methods smaller than thisshare/runtime/globals.hpp
InlineUnsafeOpsboolruntimetruediagnosticInline memory ops (native methods) from Unsafeshare/runtime/globals.hpp
InlineWarmCallsboolc2falsedevelopUse a heat-based priority queue to govern inliningshare/opto/c2_globals.hpp
InlineboolruntimetrueproductEnable inliningshare/runtime/globals.hpp
InsertEndGroupPPC64boolppcfalseproductInsert EndGroup instructions to optimize for Power6.cpu/ppc/globals_ppc.hpp
InsertMemBarAfterArraycopyObsoleted in JDK16
Expired in JDK17
boolc2trueproductInsert memory barrier after arraycopy callshare/opto/c2_globals.hpp
InstallMethodsboolc1truedevelopInstall methods at the end of successful compilationsshare/c1/c1_globals.hpp
InstructionCountCutoffintxc137000
range(0, max_jint)
developIf GraphBuilder adds this many instructions, bails outshare/c1/c1_globals.hpp
InterceptOSExceptionboolruntimefalsedevelopStart debugger when an implicit OS (e.g. NULL) exception happensshare/runtime/globals.hpp
InteriorEntryAlignmentintxaarch6416define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
InteriorEntryAlignmentintxarm16define_pd_global// = CodeEntryAlignmentcpu/arm/c2_globals_arm.hpp
InteriorEntryAlignmentintxc2product_pdCode alignment for interior entry points in generated code (in bytes)share/opto/c2_globals.hpp
InteriorEntryAlignmentintxppc16define_pd_globalcpu/ppc/c2_globals_ppc.hpp
InteriorEntryAlignmentintxs3902define_pd_globalcpu/s390/c2_globals_s390.hpp
InteriorEntryAlignmentintxsparc16define_pd_global// = CodeEntryAlignmentcpu/sparc/c2_globals_sparc.hpp
InteriorEntryAlignmentintxx864define_pd_globalcpu/x86/c2_globals_x86.hpp
InterpreterProfilePercentageintxruntime33
range(0, 100)
productNON_TIERED number of method invocations/branches (expressed as % of CompileThreshold) before profiling in the interpretershare/runtime/globals.hpp
JVMCICounterSizeintxjvmci0
range(0, 1000000)
experimentalReserved size for benchmark countersshare/jvmci/jvmci_globals.hpp
JVMCICountersExcludeCompilerbooljvmcitrueexperimentalExclude JVMCI compiler threads from benchmark countersshare/jvmci/jvmci_globals.hpp
JVMCIHostThreadsintxjvmci1
range(0, max_jint))
experimentalForce number of compiler threads for JVMCI host compilershare/jvmci/jvmci_globals.hpp
JVMCINMethodSizeLimitintxjvmci(80*K)*wordSize
range(0, max_jint)
experimentalMaximum size of a compiled method.share/jvmci/jvmci_globals.hpp
JVMCIPrintPropertiesbooljvmcifalseexperimentalPrints properties used by the JVMCI compiler and exitsshare/jvmci/jvmci_globals.hpp
JVMCIThreadsintxjvmci1
range(1, max_jint)
experimentalForce number of JVMCI compiler threads to useshare/jvmci/jvmci_globals.hpp
JVMCITraceLevelintxjvmci0
range(0, 6)
experimentalTrace level for JVMCI:
1 means emit a message for each CompilerToVM call,levels greater than 1 provide progressively greater detail
share/jvmci/jvmci_globals.hpp
JVMCIUseFastLockingbooljvmcitruedevelopUse fast inlined locking codeshare/jvmci/jvmci_globals.hpp
JVMInvokeMethodSlacksize_taixppc8192define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
JVMInvokeMethodSlacksize_tbsdx868192define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
JVMInvokeMethodSlacksize_tbsdzero8192define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
JVMInvokeMethodSlackuintxlinuxaarch648192define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
JVMInvokeMethodSlacksize_tlinuxarm8192define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
JVMInvokeMethodSlacksize_tlinuxppc8192define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
JVMInvokeMethodSlacksize_tlinuxs3908192define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
JVMInvokeMethodSlacksize_tlinuxsparc12288define_pd_globalos_cpu/linux_sparc/globals_linux_sparc.hpp
JVMInvokeMethodSlacksize_tlinuxx868192define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
JVMInvokeMethodSlacksize_tlinuxzero8192define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
JVMInvokeMethodSlacksize_truntimedevelop_pdStack space (bytes) required for JVM_InvokeMethod to completeshare/runtime/globals.hpp
JVMInvokeMethodSlacksize_tsolarissparc12288define_pd_globalos_cpu/solaris_sparc/globals_solaris_sparc.hpp
JVMInvokeMethodSlacksize_tsolarisx8610*Kdefine_pd_globalos_cpu/solaris_x86/globals_solaris_x86.hpp
JVMInvokeMethodSlacksize_twindowsx868192define_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
JavaMonitorsInStackTraceboolruntimetrueproductPrint information about Java monitor locks when the stacks aredumpedshare/runtime/globals.hpp
JavaPriority10_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority1_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority2_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority3_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority4_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority5_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority6_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority7_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority8_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority9_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
LIRFillDelaySlotsObsoleted in JDK15
Expired in JDK16
boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
LIRFillDelaySlotsObsoleted in JDK15
Expired in JDK16
boolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
LIRFillDelaySlotsObsoleted in JDK15
Expired in JDK16
boolc1product_pdfill delays on on SPARC with LIRshare/c1/c1_globals.hpp
LIRFillDelaySlotsObsoleted in JDK15
Expired in JDK16
boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
LIRFillDelaySlotsObsoleted in JDK15
Expired in JDK16
bools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
LIRFillDelaySlotsObsoleted in JDK15
Expired in JDK16
boolsparctruedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
LIRFillDelaySlotsObsoleted in JDK15
Expired in JDK16
boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
LIRTraceExecutionboolc1falsedevelopadd LIR code which logs the execution of blocksshare/c1/c1_globals.hpp
LIRTracePeepholeboolc1falsedevelopTrace peephole optimizershare/c1/c1_globals.hpp
LargePageHeapSizeThresholdsize_truntime128*M
range(0, max_uintx)
productUse large pages if maximum heap is at least this bigshare/runtime/globals.hpp
LargePageSizeInBytessize_truntime0
range(0, max_uintx)
productLarge page size (0 to let VM choose the page size)share/runtime/globals.hpp
LargePagesIndividualAllocationInjectErrorboolruntimefalsedevelopFail large pages individual allocationshare/runtime/globals.hpp
LiveNodeCountInliningCutoffintxc240000
range(0, max_juint / 8)
productmax number of live nodes in a methodshare/opto/c2_globals.hpp
LoadExecStackDllInVMThreadboollinuxtrueproductLoad DLLs with executable-stack attribute in the VM Threados/linux/globals_linux.hpp
LoadLineNumberTablesboolruntimetruedevelopTell whether the class file parser loads line number tablesshare/runtime/globals.hpp
LoadLocalVariableTablesboolruntimetruedevelopTell whether the class file parser loads local variable tablesshare/runtime/globals.hpp
LoadLocalVariableTypeTablesboolruntimetruedevelopTell whether the class file parser loads local variable typetablesshare/runtime/globals.hpp
LogCompilationboolruntimefalsediagnosticLog compilation activity in detail to LogFileshare/runtime/globals.hpp
LogEventsBufferEntriesuintxruntime20
range(1, NOT_LP64(1*K) LP64_ONLY(1*M))
diagnosticNumber of ring buffer event logsshare/runtime/globals.hpp
LogEventsboolruntimetruediagnosticEnable the various ring buffer event logsshare/runtime/globals.hpp
LogFileccstrruntimeNULLdiagnosticIf LogVMOutput or LogCompilation is on, save VM output to this file [default: ./hotspot_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
LogSweeperboolruntimefalsenotproductKeep a ring buffer of sweeper activityshare/runtime/globals.hpp
LogTouchedMethodsboolruntimefalsediagnosticLog methods which have been ever touched in runtimeshare/runtime/globals.hpp
LogVMOutputboolruntimefalsediagnosticSave VM output to LogFileshare/runtime/globals.hpp
LongCompileThresholdintxruntime50developUsed with +TraceLongCompilesshare/runtime/globals.hpp
LoopMaxUnrollintxc216
range(0, max_jint)
productMaximum number of unrolls for main loopshare/opto/c2_globals.hpp
LoopOptsCountintxc243
range(5, 43)
productSet level of loop optimization for tier 1 compilesshare/opto/c2_globals.hpp
LoopPercentProfileLimitintxaarch6410define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
LoopPercentProfileLimitintxarm10define_pd_globalcpu/arm/c2_globals_arm.hpp
LoopPercentProfileLimitintxc2product_pdUnroll loop bodies with % node count of profile limitshare/opto/c2_globals.hpp
LoopPercentProfileLimitintxppc10define_pd_globalcpu/ppc/c2_globals_ppc.hpp
LoopPercentProfileLimitintxs39010define_pd_globalcpu/s390/c2_globals_s390.hpp
LoopPercentProfileLimitintxsparc10define_pd_globalcpu/sparc/c2_globals_sparc.hpp
LoopPercentProfileLimitintxx8630define_pd_globalcpu/x86/c2_globals_x86.hpp
LoopStripMiningIterShortLoopuintxc20
range(0, max_juint)
productLoop with fewer iterations are not strip minedshare/opto/c2_globals.hpp
LoopStripMiningIteruintxc20
range(0, max_juint)
productNumber of iterations in strip mined loopshare/opto/c2_globals.hpp
LoopUnrollLimitintxaarch6460define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
LoopUnrollLimitintxarm60define_pd_global// Design center runs on 1.3.1cpu/arm/c2_globals_arm.hpp
LoopUnrollLimitintxc2product_pdUnroll loop bodies with node count less than thisshare/opto/c2_globals.hpp
LoopUnrollLimitintxppc60define_pd_globalcpu/ppc/c2_globals_ppc.hpp
LoopUnrollLimitintxs39060define_pd_globalcpu/s390/c2_globals_s390.hpp
LoopUnrollLimitintxsparc60define_pd_global// Design center runs on 1.3.1cpu/sparc/c2_globals_sparc.hpp
LoopUnrollLimitintxx8650define_pd_global// Design center runs on 1.3.1cpu/x86/c2_globals_x86.hpp
LoopUnrollMinintxc24
range(0, max_jint)
productMinimum number of unroll loop bodies before checking progressof rounds of unroll,optimize,..share/opto/c2_globals.hpp
LoopUnswitchingboolc2trueproductEnable loop unswitching (a form of invariant test hoisting)share/opto/c2_globals.hpp
MVCLEThresholdsize_ts390+2*(4*K)productThreshold above which page-aligned MVCLE copy/init is used.cpu/s390/globals_s390.hpp
MallocCatchPtrintxruntime-1developHit breakpoint when mallocing/freeing this pointershare/runtime/globals.hpp
MallocMaxTestWordsuintxruntime0
range(0, max_uintx)
diagnosticIf non-zero, maximum number of words that malloc/realloc can allocate (for testing only)share/runtime/globals.hpp
ManagementServerboolruntimefalseproductCreate JMX Management Servershare/runtime/globals.hpp
MarkStackSizeMaxsize_tgcNOT_LP64(4*M) LP64_ONLY(512*M)
range(1, (max_jint - 1))
productMaximum size of marking stackshare/gc/shared/gc_globals.hpp
MarkStackSizesize_tgcNOT_LP64(32*K) LP64_ONLY(4*M)productSize of marking stackshare/gc/shared/gc_globals.hpp
MarkSweepAlwaysCompactCountuintgc4
range(1, max_juint)
productHow often should we fully compact the heap (ignoring the dead space parameters)share/gc/shared/gc_globals.hpp
MarkSweepDeadRatiouintxgc5
range(0, 100)
productPercentage (0-100) of the old gen allowed as dead wood. Serial mark sweep treats this as both the minimum and maximum value. CMS uses this value only if it falls back to mark sweep. Par compact uses a variable scale based on the density of the generation and treats this as the maximum value when the heap is either completely full or completely empty. Par compact also has a smaller default value; see arguments.cpp.share/gc/shared/gc_globals.hpp
MaxBCEAEstimateLevelintxruntime5
range(0, max_jint)
productMaximum number of nested calls that are analyzed by BC EAshare/runtime/globals.hpp
MaxBCEAEstimateSizeintxruntime150
range(0, max_jint)
productMaximum bytecode size of a method to be analyzed by BC EAshare/runtime/globals.hpp
MaxDirectMemorySizeuint64_truntime0
range(0, max_jlong)
productMaximum total size of NIO direct-buffer allocationsshare/runtime/globals.hpp
MaxElementPrintSizeintxruntime256notproductmaximum number of elements to printshare/runtime/globals.hpp
MaxExpectedDataSegmentSizeuintxaix8*GproductMaximum expected Data Segment Size.os/aix/globals_aix.hpp
MaxFDLimitboolruntimetrueproductBump the number of file descriptors to maximum in Solarisshare/runtime/globals.hpp
MaxForceInlineLevelintxruntime100
range(0, max_jint)
developmaximum number of nested calls that are forced for inlining (using CompileCommand or marked w/ @ForceInline)share/runtime/globals.hpp
MaxGCMinorPauseMillisDeprecated in JDK8uintxgcmax_uintx
range(0, max_uintx)
productAdaptive size policy maximum GC minor pause time goal in millisecondshare/gc/shared/gc_globals.hpp
MaxGCPauseMillisuintxgcmax_uintx - 1
range(1, max_uintx - 1)
productAdaptive size policy maximum GC pause time goal in millisecond, or (G1 Only) the maximum GC time per MMU time sliceshare/gc/shared/gc_globals.hpp
MaxHeapFreeRatiouintxruntime70
range(0, 100)
manageableThe maximum percentage of heap free after GC to avoid shrinking. For most GCs this applies to the old generation. In G1 and ParallelGC it applies to the whole heap.share/runtime/globals.hpp
MaxHeapSizesize_tgcScaleForWordSize(96*M)productMaximum heap size (in bytes)share/gc/shared/gc_globals.hpp
MaxInlineLevelintxruntime15
range(0, max_jint)
productmaximum number of nested calls that are inlinedshare/runtime/globals.hpp
MaxInlineSizeintxruntime35
range(0, max_jint)
productThe maximum bytecode size of a method to be inlinedshare/runtime/globals.hpp
MaxInterpretedSearchLengthintxruntime3developThe maximum number of interpreted frames to skip when searching for recompileeshare/runtime/globals.hpp
MaxJNILocalCapacityintxruntime65536
range(min_intx, max_intx)
productMaximum allowable local JNI handle capacity to EnsureLocalCapacity() and PushLocalFrame(), where <= 0 is unlimited, default: 65536share/runtime/globals.hpp
MaxJavaStackTraceDepthintxruntime1024
range(0, max_jint/2)
productThe maximum number of lines in the stack trace for Java exceptions (0 means all)share/runtime/globals.hpp
MaxJumpTableSizeintxc265000
range(0, max_intx)
productMaximum number of targets in a generated jump tableshare/opto/c2_globals.hpp
MaxJumpTableSparsenessintxc25
range(0, max_intx / 4)
productMaximum sparseness for jumptablesshare/opto/c2_globals.hpp
MaxLabelRootDepthintxc21100
range(100, max_jint)
productMaximum times call Label_Root to prevent stack overflowshare/opto/c2_globals.hpp
MaxLoopPadintxc2(OptoLoopAlignment-1)
range(0, max_jint)
productAlign a loop if padding size in bytes is less or equal to this valueshare/opto/c2_globals.hpp
MaxMetaspaceExpansionsize_truntimeScaleForWordSize(4*M)
range(0, max_uintx)
productThe maximum expansion of Metaspace without full GC (in bytes)share/runtime/globals.hpp
MaxMetaspaceFreeRatiouintxruntime70
range(0, 100)
productThe maximum percentage of Metaspace free after GC to avoid shrinkingshare/runtime/globals.hpp
MaxMetaspaceSizesize_truntimemax_uintxproductMaximum size of Metaspaces (in bytes)share/runtime/globals.hpp
MaxNewSizesize_tgcmax_uintx
range(0, max_uintx)
productMaximum new generation size (in bytes), max_uintx means set ergonomicallyshare/gc/shared/gc_globals.hpp
MaxNodeLimitintxc280000
range(1000, max_jint / 3)
productMaximum number of nodesshare/opto/c2_globals.hpp
MaxRAMFractionDeprecated in JDK10uintxgc4
range(1, max_uintx)
productMaximum fraction (1/n) of real memory used for maximum heap size. Deprecated, use MaxRAMPercentage insteadshare/gc/shared/gc_globals.hpp
MaxRAMPercentagedoublegc25.0
range(0.0, 100.0)
productMaximum percentage of real memory used for maximum heap sizeshare/gc/shared/gc_globals.hpp
MaxRAMuint64_taarch641ULL*Gdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
MaxRAMuint64_tarm4ULL*Gdefine_pd_globalcpu/arm/c2_globals_arm.hpp
MaxRAMuint64_tgcproduct_pdReal memory size (in bytes) used to set maximum heap sizeshare/gc/shared/gc_globals.hpp
MaxRAMuint64_truntime1ULL*Gdefine_pd_globalshare/runtime/globals.hpp
MaxRAMuint64_tppc1ULL*Gdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
MaxRAMuint64_ts390128ULL*Gdefine_pd_globalcpu/s390/c2_globals_s390.hpp
MaxRAMuint64_tsparc1ULL*Gdefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
MaxRAMuint64_tx861ULL*Gdefine_pd_globalcpu/x86/c1_globals_x86.hpp
MaxRecompilationSearchLengthintxruntime10developThe maximum number of frames to inspect when searching for recompileeshare/runtime/globals.hpp
MaxRecursiveInlineLevelintxruntime1
range(0, max_jint)
productmaximum number of nested recursive calls that are inlinedshare/runtime/globals.hpp
MaxSubklassPrintSizeintxruntime4notproductmaximum number of subklasses to print when printing klassshare/runtime/globals.hpp
MaxTenuringThresholduintxgc15
range(0, markOopDesc::max_age + 1)
productMaximum value for tenuring thresholdshare/gc/shared/gc_globals.hpp
MaxTrivialSizeintxruntime6
range(0, max_jint)
productThe maximum bytecode size of a trivial method to be inlinedshare/runtime/globals.hpp
MaxVectorSizeintxc264
range(0, max_jint)
productMax vector size in bytes, actual size could be less depending on elements typeshare/opto/c2_globals.hpp
MaxVirtMemFractionuintxgc2developMaximum fraction (1/n) of virtual memory used for ergonomically determining maximum heap sizeshare/gc/shared/gc_globals.hpp
MemProfilingIntervalintxruntime500notproductTime between each invocation of the MemProfilershare/runtime/globals.hpp
MemProfilingboolruntimefalsedevelopWrite memory usage profiling to log fileshare/runtime/globals.hpp
MetadataAllocationFailALotIntervaluintxgc1000developMetadata allocation failure a lot intervalshare/gc/shared/gc_globals.hpp
MetadataAllocationFailALotboolgcfalsedevelopFail metadata allocations at intervals controlled by MetadataAllocationFailALotIntervalshare/gc/shared/gc_globals.hpp
MetaspaceSizeuintxaarch6412*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
MetaspaceSizesize_tarmScaleForWordSize(16*M)define_pd_globalcpu/arm/c2_globals_arm.hpp
MetaspaceSizesize_truntimeproduct_pdInitial threshold (in bytes) at which a garbage collection is done to reduce Metaspace usageshare/runtime/globals.hpp
MetaspaceSizesize_tppc12*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
MetaspaceSizesize_ts390ScaleForWordSize(16*M)define_pd_globalcpu/s390/c2_globals_s390.hpp
MetaspaceSizesize_tsparc12*Mdefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
MetaspaceSizesize_tx8612*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
MethodFlushingboolruntimetrueproductReclamation of zombie and not-entrant methodsshare/runtime/globals.hpp
MethodHistogramCutoffintxruntime100developThe cutoff value for method invocation histogram (+CountCalls)share/runtime/globals.hpp
MethodProfileWidthintxjvmci0experimentalNumber of methods to record in call profileshare/jvmci/jvmci_globals.hpp
MinHeapDeltaBytessize_truntimeScaleForWordSize(128*K)
range(0, max_uintx)
productThe minimum change in heap space due to GC (in bytes)share/runtime/globals.hpp
MinHeapFreeRatiouintxruntime40
range(0, 100)
manageableThe minimum percentage of heap free after GC to avoid expansion. For most GCs this applies to the old generation. In G1 and ParallelGC it applies to the whole heap.share/runtime/globals.hpp
MinInliningThresholdintxruntime250
range(0, max_jint)
productThe minimum invocation count a method needs to have to be inlinedshare/runtime/globals.hpp
MinJumpTableSizeintxaarch6410define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
MinJumpTableSizeintxarm16define_pd_globalcpu/arm/c2_globals_arm.hpp
MinJumpTableSizeintxc2product_pdMinimum number of targets in a generated jump tableshare/opto/c2_globals.hpp
MinJumpTableSizeintxppc10define_pd_globalcpu/ppc/c2_globals_ppc.hpp
MinJumpTableSizeintxs39018define_pd_globalcpu/s390/c2_globals_s390.hpp
MinJumpTableSizeintxsparc5define_pd_globalcpu/sparc/c2_globals_sparc.hpp
MinJumpTableSizeintxx8610define_pd_globalcpu/x86/c2_globals_x86.hpp
MinMetaspaceExpansionsize_truntimeScaleForWordSize(256*K)
range(0, max_uintx)
productThe minimum expansion of Metaspace (in bytes)share/runtime/globals.hpp
MinMetaspaceFreeRatiouintxruntime40
range(0, 99)
productThe minimum percentage of Metaspace free after GC to avoid expansionshare/runtime/globals.hpp
MinOopMapAllocationintxruntime8developMinimum number of OopMap entries in an OopMapSetshare/runtime/globals.hpp
MinPassesBeforeFlushintxruntime10
range(0, max_intx)
diagnosticMinimum number of sweeper passes before an nmethod can be flushedshare/runtime/globals.hpp
MinRAMFractionDeprecated in JDK10uintxgc2
range(1, max_uintx)
productMinimum fraction (1/n) of real memory used for maximum heap size on systems with small physical memory size. Deprecated, use MinRAMPercentage insteadshare/gc/shared/gc_globals.hpp
MinRAMPercentagedoublegc50.0
range(0.0, 100.0)
productMinimum percentage of real memory used for maximum heapsize on systems with small physical memory sizeshare/gc/shared/gc_globals.hpp
MinSurvivorRatiouintxgc3
range(3, max_uintx)
productMinimum ratio of young generation/survivor space sizeshare/gc/shared/gc_globals.hpp
MinTLABSizesize_tgc2*K
range(1, max_uintx/2)
productMinimum allowed TLAB size (in bytes)share/gc/shared/gc_globals.hpp
MonitorBoundDeprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
intxruntime0
range(0, max_jint)
productBound Monitor populationshare/runtime/globals.hpp
MonitorInUseListsDeprecated in JDK10
Obsoleted in JDK12
Expired in JDK13
boolruntimetrueproductTrack Monitors for Deflationshare/runtime/globals.hpp
MonitorUsedDeflationThresholdintxruntime90
range(0, 100)
experimentalPercentage of used monitors before triggering cleanup safepoint which deflates monitors (0 is off). The check is performed on GuaranteedSafepointInterval.share/runtime/globals.hpp
MonomorphicArrayCheckboolc2truedevelopUncommon-trap array store checks that require full type checkshare/opto/c2_globals.hpp
MultiArrayExpandLimitintxc26
range(0, max_jint)
productMaximum number of individual allocations in an inline-expanded multianewarray instructionshare/opto/c2_globals.hpp
NMethodSizeLimitintxc1(64*K)*wordSize
range(0, max_jint)
developMaximum size of a compiled method.share/c1/c1_globals.hpp
NUMAChunkResizeWeightuintxruntime20
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for AdaptiveNUMAChunkSizingshare/runtime/globals.hpp
NUMAInterleaveGranularitysize_truntime2*M
range(os::vm_allocation_granularity(), NOT_LP64(2*G) LP64_ONLY(8192*G))
productGranularity to use for NUMA interleaving on Windows OSshare/runtime/globals.hpp
NUMAPageScanRateuintxruntime256
range(0, max_uintx)
productMaximum number of pages to include in the page scan procedureshare/runtime/globals.hpp
NUMASpaceResizeRatesize_truntime1*G
range(0, max_uintx)
productDo not reallocate more than this amount per collectionshare/runtime/globals.hpp
NUMAStatsboolruntimefalseproductPrint NUMA stats in detailed heap informationshare/runtime/globals.hpp
NativeMemoryTrackingccstrruntimeoffproductNative memory tracking optionsshare/runtime/globals.hpp
NearCpoolboolaarch64trueproductconstant pool is close to instructionscpu/aarch64/globals_aarch64.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
boolaarch64falsedefine_pd_global// only register window machines need thiscpu/aarch64/globals_aarch64.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
boolarmfalsedefine_pd_global// only register window machines need thiscpu/arm/globals_arm.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
boolruntimeproduct_pdTrue for register window machines (sparc/ia64)share/runtime/globals.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
boolppcfalsedefine_pd_global// Only register window machines need this.cpu/ppc/globals_ppc.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
bools390falsedefine_pd_global// Only register window machines need this.cpu/s390/globals_s390.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
boolsparctruedefine_pd_global// register window machines need thiscpu/sparc/globals_sparc.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
boolx86falsedefine_pd_global// only register window machines need thiscpu/x86/globals_x86.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
boolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
NestedInliningSizeRatiointxc190
range(0, 100)
developPercentage of prev. allowed inline size in recursive inliningshare/c1/c1_globals.hpp
NeverActAsServerClassMachineboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NeverActAsServerClassMachineboolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
NeverActAsServerClassMachineboolgcproduct_pdNever act like a server-class machineshare/gc/shared/gc_globals.hpp
NeverActAsServerClassMachineboolruntimetruedefine_pd_globalshare/runtime/globals.hpp
NeverActAsServerClassMachineboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NeverActAsServerClassMachinebools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
NeverActAsServerClassMachineboolsparctruedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
NeverActAsServerClassMachineboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
NeverTenureboolgcfalseproductNever tenure objects in eden, may tenure on overflow (ParallelGC only)share/gc/shared/gc_globals.hpp
NewCodeParameterintxruntime0developTesting Only: Create a dedicated integer parameter before putbackshare/runtime/globals.hpp
NewRatiouintxgc2
range(0, max_uintx-1)
productRatio of old/new generation sizesshare/gc/shared/gc_globals.hpp
NewSizeThreadIncreaseintxaarch644*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NewSizeThreadIncreasesize_tarmScaleForWordSize(4*K)define_pd_globalcpu/arm/c2_globals_arm.hpp
NewSizeThreadIncreasesize_tgcproduct_pdAdditional size added to desired new generation size per non-daemon thread (in bytes)share/gc/shared/gc_globals.hpp
NewSizeThreadIncreasesize_truntime4*Kdefine_pd_globalshare/runtime/globals.hpp
NewSizeThreadIncreasesize_tppc16*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NewSizeThreadIncreasesize_ts390ScaleForWordSize(4*K)define_pd_globalcpu/s390/c2_globals_s390.hpp
NewSizeThreadIncreasesize_tsparc16*Kdefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
NewSizeThreadIncreasesize_tx864*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NewSizesize_tgcScaleForWordSize(1*M)productInitial new generation size (in bytes)share/gc/shared/gc_globals.hpp
NmethodSweepActivityintxruntime10
range(0, 2000)
productRemoves cold nmethods from code cache if > 0. Higher values result in more aggressive sweepingshare/runtime/globals.hpp
NodeCountInliningCutoffintxc218000
range(0, max_jint)
developIf parser node generation exceeds limit stop inliningshare/opto/c2_globals.hpp
NodeCountInliningStepintxc21000
range(0, max_jint)
developTarget size of warm calls inlined between optimization passesshare/opto/c2_globals.hpp
NodeLimitFudgeFactorintxc22000productFudge Factor for certain optimizationsshare/opto/c2_globals.hpp
NonNMethodCodeHeapSizeintxaarch645*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NonNMethodCodeHeapSizesize_tarm5*Mdefine_pd_globalcpu/arm/c2_globals_arm.hpp
NonNMethodCodeHeapSizeuintxruntimeproduct_pdSize of code heap with non-nmethods (in bytes)share/runtime/globals.hpp
NonNMethodCodeHeapSizeuintxppc5*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NonNMethodCodeHeapSizeuintxs3905*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
NonNMethodCodeHeapSizeuintxsparc5*Mdefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
NonNMethodCodeHeapSizeuintxx865*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NonProfiledCodeHeapSizeintxaarch6413*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NonProfiledCodeHeapSizesize_tarm13*Mdefine_pd_globalcpu/arm/c2_globals_arm.hpp
NonProfiledCodeHeapSizeuintxruntimeproduct_pdSize of code heap with non-profiled methods (in bytes)share/runtime/globals.hpp
NonProfiledCodeHeapSizeuintxppc13*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NonProfiledCodeHeapSizeuintxs39021*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
NonProfiledCodeHeapSizeuintxsparc13*Mdefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
NonProfiledCodeHeapSizeuintxx8613*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NumberOfLoopInstrToAlignintxc24
range(0, max_jint)
productNumber of first instructions in a loop to alignshare/opto/c2_globals.hpp
OSROnlyBCIintxruntime-1developOSR only at this bci. Negative values mean exclude that bcishare/runtime/globals.hpp
ObjArrayMarkingStrideuintxgc2048developNumber of object array elements to push onto the marking stack before pushing a continuation entryshare/gc/shared/gc_globals.hpp
ObjectAlignmentInBytesintxruntime8
range(8, 256)
lp64_productDefault object alignment in bytes, 8 is minimumshare/runtime/globals.hpp
ObjectCountCutOffPercentdoubleruntime0.5
range(0.0, 100.0)
experimentalThe percentage of the used heap that the instances of a class must occupy for the class to generate a trace eventshare/runtime/globals.hpp
OldPLABSizesize_tgc1024productSize of old gen promotion LAB's (in HeapWords), or Number of blocks to attempt to claim when refilling CMS LAB'sshare/gc/shared/gc_globals.hpp
OldPLABWeightObsoleted in JDK14
Expired in JDK15
uintxgc50
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for resizing OldPLABSizeshare/gc/shared/gc_globals.hpp
OldSizesize_tgcScaleForWordSize(4*M)
range(0, max_uintx)
productInitial tenured generation size (in bytes)share/gc/shared/gc_globals.hpp
OmitStackTraceInFastThrowboolruntimetrueproductOmit backtraces for some 'hot' exceptions in optimized codeshare/runtime/globals.hpp
OnErrorccstrlistruntimeRun user-defined commands on fatal error; see VMError.cpp for examplesproductshare/runtime/globals.hpp
OnOutOfMemoryErrorccstrlistruntimeRun user-defined commands on first java.lang.OutOfMemoryErrorproductshare/runtime/globals.hpp
OnStackReplacePercentageintxaarch64933define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
OnStackReplacePercentageintxarm140define_pd_globalcpu/arm/c2_globals_arm.hpp
OnStackReplacePercentageintxruntimeproduct_pdNON_TIERED number of method invocations/branches (expressed as % of CompileThreshold) before (re-)compiling OSR codeshare/runtime/globals.hpp
OnStackReplacePercentageintxppc1400define_pd_globalcpu/ppc/c1_globals_ppc.hpp
OnStackReplacePercentageintxs390140define_pd_globalcpu/s390/c2_globals_s390.hpp
OnStackReplacePercentageintxsparc1400define_pd_globalcpu/sparc/c1_globals_sparc.hpp
OnStackReplacePercentageintxx86933define_pd_globalcpu/x86/c1_globals_x86.hpp
OptimizeExpensiveOpsboolc2truediagnosticFind best control for expensive operationsshare/opto/c2_globals.hpp
OptimizeFillboolc2true PPC64_ONLY(&& false)productconvert fill/copy loops into intrinsicshare/opto/c2_globals.hpp
OptimizeIfOpsboolc1truedevelopOptimize multiple IfOpsshare/c1/c1_globals.hpp
OptimizePollingPageLocationboolaixtrueproductOptimize the location of the polling page used for Safepointsos/aix/globals_aix.hpp
OptimizePtrCompareboolc2trueproductUse escape analysis to optimize pointers compareshare/opto/c2_globals.hpp
OptimizeSinglePrecisionboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
OptimizeSinglePrecisionboolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
OptimizeSinglePrecisionboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
OptimizeSinglePrecisionbools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
OptimizeSinglePrecisionboolsparcfalsedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
OptimizeSinglePrecisionboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
OptimizeStringConcatboolc2trueproductOptimize the construction of Strings by StringBuildershare/opto/c2_globals.hpp
OptimizeUnsafesboolc1truedevelopOptimize raw unsafe opsshare/c1/c1_globals.hpp
OptoBlockListSizeintxc28
range(0, max_jint)
developStarting allocation size of Block_List data structuresshare/opto/c2_globals.hpp
OptoBreakpointC2Rboolc2falsenotproductinsert breakpoint at runtime stub entryshare/opto/c2_globals.hpp
OptoBreakpointOSRboolc2falsenotproductinsert breakpoint at osr method entryshare/opto/c2_globals.hpp
OptoBreakpointboolc2falsedevelopinsert breakpoint at method entryshare/opto/c2_globals.hpp
OptoBundlingboolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoBundlingboolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
OptoBundlingboolc2product_pdGenerate nops to fill i-cache linesshare/opto/c2_globals.hpp
OptoBundlingboolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoBundlingbools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoBundlingboolsparcfalsedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
OptoBundlingboolx86falsedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoCoalesceboolc2truedevelopUse Conservative Copy Coalescing in the Register Allocatorshare/opto/c2_globals.hpp
OptoLoopAlignmentintxaarch6416define_pd_globalcpu/aarch64/globals_aarch64.hpp
OptoLoopAlignmentintxarm16define_pd_globalcpu/arm/globals_arm.hpp
OptoLoopAlignmentintxruntimeproduct_pdAlign inner loops to zero relative to this modulusshare/runtime/globals.hpp
OptoLoopAlignmentintxppc16define_pd_globalcpu/ppc/globals_ppc.hpp
OptoLoopAlignmentintxs3902define_pd_globalcpu/s390/globals_s390.hpp
OptoLoopAlignmentintxsparc16define_pd_global// = 4*wordSizecpu/sparc/globals_sparc.hpp
OptoLoopAlignmentintxx8616define_pd_globalcpu/x86/globals_x86.hpp
OptoLoopAlignmentintxzero16define_pd_globalcpu/zero/globals_zero.hpp
OptoNoExecuteboolc2falsenotproductAttempt to parse and compile but do not execute generated codeshare/opto/c2_globals.hpp
OptoNodeListSizeintxc24
range(0, max_jint)
developStarting allocation size of Node_List data structuresshare/opto/c2_globals.hpp
OptoPeepholeAtintxc2-1developApply peephole optimizations to this peephole ruleshare/opto/c2_globals.hpp
OptoPeepholeboolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoPeepholeboolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
OptoPeepholeboolc2develop_pdApply peephole optimizations after register allocationshare/opto/c2_globals.hpp
OptoPeepholeboolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoPeepholebools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoPeepholeboolsparcfalsedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
OptoPeepholeboolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoPrologueNopsintxc20
range(0, 128)
developInsert this many extra nop instructions in the prologue of every nmethodshare/opto/c2_globals.hpp
OptoRegSchedulingboolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoRegSchedulingboolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
OptoRegSchedulingboolc2product_pdInstruction Scheduling before register allocation for pressureshare/opto/c2_globals.hpp
OptoRegSchedulingboolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoRegSchedulingbools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoRegSchedulingboolsparcfalsedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
OptoRegSchedulingboolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoRemoveUselessboolc2truedevelopRemove useless nodes after parsingshare/opto/c2_globals.hpp
OptoSchedulingboolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoSchedulingboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
OptoSchedulingboolc2product_pdInstruction Scheduling after register allocationshare/opto/c2_globals.hpp
OptoSchedulingboolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoSchedulingbools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoSchedulingboolsparctruedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
OptoSchedulingboolx86falsedefine_pd_globalcpu/x86/c2_globals_x86.hpp
PLABWeightuintxgc75
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for ResizePLABshare/gc/shared/gc_globals.hpp
PSAdaptiveSizePolicyResizeVirtualSpaceAlotintxgc-1
range(-1, 1)
developResize the virtual spaces of the young or old generationsshare/gc/shared/gc_globals.hpp
PSChunkLargeArraysboolgctrueproductProcess large arrays in chunksshare/gc/parallel/parallel_globals.hpp
ParGCArrayScanChunkintgc50
range(1, max_jint/3)
productScan a subset of object array and push remainder, if array is bigger than thisshare/gc/shared/gc_globals.hpp
ParGCCardsPerStrideChunkintxgc256
range(1, max_intx)
diagnosticThe number of cards in each chunk of the parallel chunks used during card table scanningshare/gc/cms/cms_globals.hpp
ParGCDesiredObjsFromOverflowListObsoleted in JDK14
Expired in JDK15
uintxgc20
range(0, max_uintx)
productThe desired number of objects to claim from the overflow listshare/gc/cms/cms_globals.hpp
ParGCStridesPerThreaduintxgc2
range(1, max_uintx)
diagnosticThe number of strides per worker thread that we divide up the card table scanning work intoshare/gc/cms/cms_globals.hpp
ParGCTrimOverflowObsoleted in JDK14
Expired in JDK15
boolgctrueproductEagerly trim the local overflow lists (when ParGCUseLocalOverflow)share/gc/cms/cms_globals.hpp
ParGCUseLocalOverflowObsoleted in JDK14
Expired in JDK15
boolgcfalseproductInstead of a global overflow list, use local overflow stacksshare/gc/cms/cms_globals.hpp
ParGCWorkQueueOverflowALotboolgcfalsenotproductSimulate work queue overflow in ParNewshare/gc/cms/cms_globals.hpp
ParGCWorkQueueOverflowIntervaluintxgc1000notproductAn `interval' counter that determines how frequently we simulate overflow; a smaller number increases frequencyshare/gc/cms/cms_globals.hpp
ParallelGCBufferWastePctuintxgc10
range(0, 100)
productWasted fraction of parallel allocation buffershare/gc/shared/gc_globals.hpp
ParallelGCThreadsuintgc0productNumber of parallel threads parallel gc will useshare/gc/shared/gc_globals.hpp
ParallelOldDeadWoodLimiterMeansize_tgc50
range(0, 100)
productThe mean used by the parallel compact dead wood limiter (a number between 0-100)share/gc/parallel/parallel_globals.hpp
ParallelOldDeadWoodLimiterStdDevsize_tgc80
range(0, 100)
productThe standard deviation used by the parallel compact dead wood limiter (a number between 0-100)share/gc/parallel/parallel_globals.hpp
ParallelRefProcBalancingEnabledboolgctrueproductEnable balancing of reference processing queuesshare/gc/shared/gc_globals.hpp
ParallelRefProcEnabledboolgcfalseproductEnable parallel reference processing whenever possibleshare/gc/shared/gc_globals.hpp
PartialPeelAtUnsignedTestsboolc2trueproductPartial peel at unsigned tests if no signed test existsshare/opto/c2_globals.hpp
PartialPeelLoopboolc2trueproductPartial peel (rotate) loopsshare/opto/c2_globals.hpp
PartialPeelNewPhiDeltaintxc20
range(0, max_jint)
productAdditional phis that can be created by partial peelingshare/opto/c2_globals.hpp
PatchALotboolc1falsedevelopMarks all fields as having unloaded classesshare/c1/c1_globals.hpp
PauseAtExitboolruntimefalsediagnosticPause and wait for keypress on exit if a debugger is attachedshare/runtime/globals.hpp
PauseAtStartupFileccstrruntimeNULLdiagnosticThe file to create and for whose removal to await when pausing at startup. (default: ./vm.paused.<pid>)share/runtime/globals.hpp
PauseAtStartupboolruntimefalsediagnosticCauses the VM to pause at startup time and wait for the pause file to be removed (default: ./vm.paused.<pid>)share/runtime/globals.hpp
PausePaddinguintxgc1
range(0, max_juint)
productHow much buffer to keep for pause timeshare/gc/shared/gc_globals.hpp
PerBytecodeRecompilationCutoffintxruntime200
range(-1, max_intx)
productPer-BCI limit on repeated recompilation (-1=>'Inf')share/runtime/globals.hpp
PerBytecodeTrapLimitintxruntime4
range(0, max_jint)
productLimit on traps (of one kind) at a particular BCIshare/runtime/globals.hpp
PerMethodRecompilationCutoffintxruntime400
range(-1, max_intx)
productAfter recompiling N times, stay in the interpreter (-1=>'Inf')share/runtime/globals.hpp
PerMethodSpecTrapLimitintxruntime5000
range(0, max_jint)
experimentalLimit on speculative traps (of one kind) in a method (includes inlines)share/runtime/globals.hpp
PerMethodTrapLimitintxruntime100
range(0, max_jint)
productLimit on traps (of one kind) in a method (includes inlines)share/runtime/globals.hpp
PerfAllowAtExitRegistrationboolruntimefalseproductAllow registration of atexit() methodsshare/runtime/globals.hpp
PerfBypassFileSystemCheckboolruntimefalseproductBypass Win32 file system criteria checks (Windows Only)share/runtime/globals.hpp
PerfDataMemorySizeintxruntime32*K
range(128, 32*64*K)
productSize of performance data memory region. Will be rounded up to a multiple of the native os page size.share/runtime/globals.hpp
PerfDataSamplingIntervalintxruntime50
range(PeriodicTask::min_interval, max_jint)
productData sampling interval (in milliseconds)share/runtime/globals.hpp
PerfDataSaveFileccstrruntimeNULLproductSave PerfData memory to the specified absolute pathname. The string %p in the file name (if present) will be replaced by pidshare/runtime/globals.hpp
PerfDataSaveToFileboolruntimefalseproductSave PerfData memory to hsperfdata_<pid> file on exitshare/runtime/globals.hpp
PerfDisableSharedMemboolruntimefalseproductStore performance data in standard memoryshare/runtime/globals.hpp
PerfMaxStringConstLengthintxruntime1024
range(32, 32*K)
productMaximum PerfStringConstant string length before truncationshare/runtime/globals.hpp
PinAllInstructionsboolc1falsedevelopAll instructions are pinnedshare/c1/c1_globals.hpp
PoisonOSREntryboolc2truedevelopDetect abnormal calls to OSR codeshare/opto/c2_globals.hpp
PostLoopMultiversioningboolc2falseexperimentalMulti versioned post loops to eliminate range checksshare/opto/c2_globals.hpp
PowerArchitecturePPC64uintxppc0productCPU Version: x for PowerX. Currently recognizes Power5 to Power8. Default is 0. Newer CPUs will be recognized as Power8.cpu/ppc/globals_ppc.hpp
PreTouchParallelChunkSizesize_tgc1 * G
range(1, SIZE_MAX / 2)
productPer-thread chunk size for parallel memory pre-touch.share/gc/shared/gc_globals.hpp
PreallocatedOutOfMemoryErrorCountuintxruntime4developNumber of OutOfMemoryErrors preallocated with backtraceshare/runtime/globals.hpp
PreferContainerQuotaForCPUCountboollinuxtrueproductCalculate the container CPU availability based on the value of quotas (if set), when true. Otherwise, use the CPU shares value, provided it is less than quota.os/linux/globals_linux.hpp
PreferInterpreterNativeStubsboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
PreferInterpreterNativeStubsboolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
PreferInterpreterNativeStubsboolruntimeproduct_pdUse always interpreter stubs for native methods invoked via interpretershare/runtime/globals.hpp
PreferInterpreterNativeStubsboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
PreferInterpreterNativeStubsbools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
PreferInterpreterNativeStubsboolsparcfalsedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
PreferInterpreterNativeStubsboolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
PreferLAoverADDbools390falseproductUse LA/LAY instructions over ADD instructions (z/Architecture).cpu/s390/globals_s390.hpp
PrefetchCopyIntervalInBytesintxgc-1
range(-1, max_jint)
productHow far ahead to prefetch destination area (<= 0 means off)share/gc/shared/gc_globals.hpp
PrefetchFieldsAheadintxgc-1
range(-1, max_jint)
productHow many fields ahead to prefetch in oop scan (<= 0 means off)share/gc/shared/gc_globals.hpp
PrefetchScanIntervalInBytesintxgc-1
range(-1, max_jint)
productHow far ahead to prefetch scan area (<= 0 means off)share/gc/shared/gc_globals.hpp
PreserveAllAnnotationsboolruntimefalseproductPreserve RuntimeInvisibleAnnotations as well as RuntimeVisibleAnnotationsshare/runtime/globals.hpp
PreserveFramePointerboolaarch64falsedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
PreserveFramePointerboolarmfalsedefine_pd_globalcpu/arm/globals_arm.hpp
PreserveFramePointerboolruntimeproduct_pdUse the FP register for holding the frame pointer and not as a general purpose register.share/runtime/globals.hpp
PreserveFramePointerboolppcfalsedefine_pd_globalcpu/ppc/globals_ppc.hpp
PreserveFramePointerbools390falsedefine_pd_globalcpu/s390/globals_s390.hpp
PreserveFramePointerboolsparcfalsedefine_pd_globalcpu/sparc/globals_sparc.hpp
PreserveFramePointerboolx86falsedefine_pd_globalcpu/x86/globals_x86.hpp
PreserveFramePointerboolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
PretenureSizeThresholdsize_tgc0
range(0, max_uintx)
productMaximum size in bytes of objects allocated in DefNew generation; zero means no maximumshare/gc/shared/gc_globals.hpp
PrintAOTStatisticsboolruntimefalsenotproductPrint AOT statisticsshare/runtime/globals.hpp
PrintAOTboolruntimefalseexperimentalPrint used AOT klasses and methodsshare/runtime/globals.hpp
PrintAdapterHandlersboolruntimefalsediagnosticPrint code generated for i2c/c2i adaptersshare/runtime/globals.hpp
PrintAssemblyOptionsccstrruntimeNULLdiagnosticPrint options string passed to disassembler.soshare/runtime/globals.hpp
PrintAssemblyboolruntimefalsediagnosticPrint assembly code (using external disassembler.so)share/runtime/globals.hpp
PrintBailoutsboolc1falsedevelopPrint bailout and its reasonshare/c1/c1_globals.hpp
PrintBiasedLockingStatisticsDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimefalsediagnosticPrint statistics of biased locking in JVMshare/runtime/globals.hpp
PrintBlockEliminationboolc1falsedevelopPrint basic block eliminationshare/c1/c1_globals.hpp
PrintBootstrapbooljvmcitrueexperimentalPrint JVMCI bootstrap progress and summaryshare/jvmci/jvmci_globals.hpp
PrintBytecodeHistogramboolruntimefalsedevelopPrint histogram of the executed bytecodesshare/runtime/globals.hpp
PrintBytecodePairHistogramboolruntimefalsedevelopPrint histogram of the executed bytecode pairsshare/runtime/globals.hpp
PrintC1Statisticsboolc1falsenotproductPrint Compiler1 statisticsshare/c1/c1_globals.hpp
PrintCEEboolc1falsedevelopPrint Conditional Expression Eliminationshare/c1/c1_globals.hpp
PrintCFG0boolc1falsenotproductPrint control flow graph after constructionshare/c1/c1_globals.hpp
PrintCFG1boolc1falsenotproductPrint control flow graph after optimizationsshare/c1/c1_globals.hpp
PrintCFG2boolc1falsenotproductPrint control flow graph before code generationshare/c1/c1_globals.hpp
PrintCFGBlockFreqboolc2falsedevelopPrint CFG block freqenciesshare/opto/c2_globals.hpp
PrintCFGToFileboolc1falsedevelopprint control flow graph to a separate file during compilationshare/c1/c1_globals.hpp
PrintCFGboolc1falsenotproductPrint control flow graph after each changeshare/c1/c1_globals.hpp
PrintCanonicalizationboolc1falsedevelopPrint graph node canonicalizationshare/c1/c1_globals.hpp
PrintClassHistogramboolruntimefalsemanageablePrint a histogram of class instancesshare/runtime/globals.hpp
PrintCodeCache2boolruntimefalsedevelopPrint detailed usage information on the code cache when exitingshare/runtime/globals.hpp
PrintCodeCacheExtensionboolruntimefalsedevelopPrint extension of code cacheshare/runtime/globals.hpp
PrintCodeCacheOnCompilationboolruntimefalseproductPrint the code cache memory usage each time a method is compiledshare/runtime/globals.hpp
PrintCodeCacheboolruntimefalseproductPrint the code cache memory usage when exitingshare/runtime/globals.hpp
PrintCommandLineFlagsboolruntimefalseproductPrint flags specified on command line or set by ergonomicsshare/runtime/globals.hpp
PrintCompilation2boolruntimefalsediagnosticPrint additional statistics per compilationshare/runtime/globals.hpp
PrintCompilationboolruntimefalseproductPrint compilationsshare/runtime/globals.hpp
PrintConcurrentLocksboolruntimefalsemanageablePrint java.util.concurrent locks in thread dumpshare/runtime/globals.hpp
PrintDebugInfoboolruntimefalsedevelopPrint debug information for all nmethods when generatedshare/runtime/globals.hpp
PrintDeoptimizationDetailsboolruntimefalsedevelopPrint more information about deoptimizationshare/runtime/globals.hpp
PrintDependenciesboolruntimefalsedevelopPrint dependency information for all nmethods when generatedshare/runtime/globals.hpp
PrintDominatorsboolc2falsedevelopPrint out dominator trees for GVNshare/opto/c2_globals.hpp
PrintEliminateAllocationsboolc2falsenotproductPrint out when allocations are eliminatedshare/opto/c2_globals.hpp
PrintEliminateLocksboolc2falsenotproductPrint out when locks are eliminatedshare/opto/c2_globals.hpp
PrintEscapeAnalysisboolc2falsenotproductPrint the results of escape analysisshare/opto/c2_globals.hpp
PrintExceptionHandlersboolruntimefalsedevelopPrint exception handler tables for all nmethods when generatedshare/runtime/globals.hpp
PrintExtendedThreadInfoboolruntimefalseproductPrint more information in thread dumpshare/runtime/globals.hpp
PrintFieldLayoutboolruntimefalsenotproductPrint field layout for each classshare/runtime/globals.hpp
PrintFlagsFinalboolruntimefalseproductPrint all VM flags after argument and ergonomic processingshare/runtime/globals.hpp
PrintFlagsInitialboolruntimefalseproductPrint all VM flags before argument processing and exit VMshare/runtime/globals.hpp
PrintFlagsRangesboolruntimefalseproductPrint VM flags and their ranges and exit VMshare/runtime/globals.hpp
PrintFlagsWithCommentsboolruntimefalsenotproductPrint all VM flags with default values and descriptions and exitshare/runtime/globals.hpp
PrintFrameConverterAssemblyboolc2falsenotproductPrint New compiler assembly output for frame convertersshare/opto/c2_globals.hpp
PrintGCDetailsboolgcfalseproductPrint more details at garbage collection. Deprecated, use -Xlog:gc* instead.share/gc/shared/gc_globals.hpp
PrintGCboolgcfalseproductPrint message at garbage collection. Deprecated, use -Xlog:gc instead.share/gc/shared/gc_globals.hpp
PrintHeapAtSIGBREAKboolruntimetrueproductPrint heap layout in response to SIGBREAKshare/runtime/globals.hpp
PrintIR0boolc1falsenotproductPrint full intermediate representation after constructionshare/c1/c1_globals.hpp
PrintIR1boolc1falsenotproductPrint full intermediate representation after optimizationsshare/c1/c1_globals.hpp
PrintIR2boolc1falsenotproductPrint full intermediate representation before code generationshare/c1/c1_globals.hpp
PrintIRDuringConstructionboolc1falsenotproductPrint IR as it's being constructed (helpful for debugging frontend)share/c1/c1_globals.hpp
PrintIRWithLIRboolc1falsenotproductPrint IR instructions with generated LIRshare/c1/c1_globals.hpp
PrintIRboolc1falsenotproductPrint full intermediate representation after each changeshare/c1/c1_globals.hpp
PrintIdealGraphAddressccstrc2127.0.0.1notproductIP address to connect to visualizershare/opto/c2_globals.hpp
PrintIdealGraphFileccstrc2NULLnotproductFile to dump ideal graph to. If set overrides the use of the networkshare/opto/c2_globals.hpp
PrintIdealGraphLevelintxc20
range(0, 4)
notproductLevel of detail of the ideal graph printout. System-wide value, 0=nothing is printed, 4=all details printed. Level of detail of printouts can be set on a per-method level as well by using CompileCommand=option.share/opto/c2_globals.hpp
PrintIdealGraphPortintxc24444
range(0, SHRT_MAX)
notproductIdeal graph printer to network portshare/opto/c2_globals.hpp
PrintIdealGraphboolc2falsenotproductPrint ideal graph to XML file / network interface. By default attempts to connect to the visualizer on a socket.share/opto/c2_globals.hpp
PrintIdealNodeCountboolc2falsenotproductPrint liveness counts of ideal nodesshare/opto/c2_globals.hpp
PrintIdealboolc2falsenotproductPrint ideal graph before code generationshare/opto/c2_globals.hpp
PrintInitialBlockListboolc1falsenotproductPrint block list of BlockListBuildershare/c1/c1_globals.hpp
PrintInliningboolruntimefalsediagnosticPrint inlining optimizationsshare/runtime/globals.hpp
PrintInterpreterboolruntimefalsediagnosticPrint the generated interpreter codeshare/runtime/globals.hpp
PrintIntrinsicsboolc2falsediagnosticprints attempted and successful inlining of intrinsicsshare/opto/c2_globals.hpp
PrintJNIResolvingboolruntimefalseproductUsed to implement -v:jnishare/runtime/globals.hpp
PrintLIRWithAssemblyboolc1falsenotproductShow LIR instruction with generated assemblyshare/c1/c1_globals.hpp
PrintLIRboolc1falsedevelopprint low-level IRshare/c1/c1_globals.hpp
PrintLockStatisticsboolc2falsenotproductPrint precise statistics on the dynamic lock usageshare/opto/c2_globals.hpp
PrintMallocStatisticsboolruntimefalsedevelopPrint malloc/free statisticsshare/runtime/globals.hpp
PrintMethodDataboolruntimefalsediagnosticPrint the results of +ProfileInterpreter at end of runshare/runtime/globals.hpp
PrintMethodFlushingStatisticsboolruntimefalsediagnosticprint statistics about method flushingshare/runtime/globals.hpp
PrintMethodFlushingboolruntimefalsedevelopPrint the nmethods being flushedshare/runtime/globals.hpp
PrintMethodHandleStubsboolruntimefalsediagnosticPrint generated stub code for method handlesshare/runtime/globals.hpp
PrintMiscellaneousboolruntimefalsedevelopPrint uncategorized debugging information (requires +Verbose)share/runtime/globals.hpp
PrintNMTStatisticsboolruntimefalsediagnosticPrint native memory tracking summary data if it is onshare/runtime/globals.hpp
PrintNMethodStatisticsboolruntimefalsenotproductPrint a summary statistic for the generated nmethodsshare/runtime/globals.hpp
PrintNMethodsboolruntimefalsediagnosticPrint assembly code for nmethods when generatedshare/runtime/globals.hpp
PrintNativeNMethodsboolruntimefalsediagnosticPrint assembly code for native nmethods when generatedshare/runtime/globals.hpp
PrintNotLoadedboolc1falsedevelopPrints where classes are not loaded during code generationshare/c1/c1_globals.hpp
PrintNullCheckEliminationboolc1falsedevelopPrint null check eliminationshare/c1/c1_globals.hpp
PrintOptimizePtrCompareboolc2falsenotproductPrint information about optimized pointers compareshare/opto/c2_globals.hpp
PrintOptimizeStringConcatboolc2falsenotproductPrint information about transformations performed on Stringsshare/opto/c2_globals.hpp
PrintOptoAssemblyboolc2falsediagnosticPrint New compiler assembly outputshare/opto/c2_globals.hpp
PrintOptoInliningboolc2falsenotproductPrint compiler2 inlining decisionsshare/opto/c2_globals.hpp
PrintOptoPeepholeboolc2falsenotproductPrint New compiler peephole replacementsshare/opto/c2_globals.hpp
PrintOptoStatisticsboolc2falsenotproductPrint New compiler statisticsshare/opto/c2_globals.hpp
PrintOptoboolc2falsenotproductPrint compiler2 attemptsshare/opto/c2_globals.hpp
PrintParseStatisticsboolc2falsenotproductPrint nodes, transforms and new values made per bytecode parsedshare/opto/c2_globals.hpp
PrintPhiFunctionsboolc1falsenotproductPrint phi functions when they are created and simplifiedshare/c1/c1_globals.hpp
PrintPreciseBiasedLockingStatisticsDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolc2falsediagnosticPrint per-lock-site statistics of biased locking in JVMshare/opto/c2_globals.hpp
PrintPreciseRTMLockingStatisticsboolc2falsediagnosticPrint per-lock-site statistics of rtm locking in JVMshare/opto/c2_globals.hpp
PrintRelocationsboolruntimefalsedevelopPrint relocation information for all nmethods when generatedshare/runtime/globals.hpp
PrintRewritesboolruntimefalsenotproductPrint methods that are being rewrittenshare/runtime/globals.hpp
PrintSafepointStatisticsCountDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
intxruntime300
range(1, max_intx)
product(Deprecated) Total number of safepoint statistics collected before printing them outshare/runtime/globals.hpp
PrintSafepointStatisticsTimeoutDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
intxruntime-1product(Deprecated) Print safepoint statistics only when safepoint takes more than PrintSafepointSatisticsTimeout in millisshare/runtime/globals.hpp
PrintSafepointStatisticsDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproduct(Deprecated) Print statistics about safepoint synchronizationshare/runtime/globals.hpp
PrintSharedArchiveAndExitboolruntimefalseproductPrint shared archive file contentsshare/runtime/globals.hpp
PrintSharedDictionaryboolruntimefalseproductIf PrintSharedArchiveAndExit is true, also print the shared dictionaryshare/runtime/globals.hpp
PrintSignatureHandlersboolruntimefalsediagnosticPrint code generated for native method signature handlersshare/runtime/globals.hpp
PrintSimpleStubsboolc1falsenotproductPrint SimpleStubsshare/c1/c1_globals.hpp
PrintStringTableStatisticsboolruntimefalseproductprint statistics about the StringTable and SymbolTableshare/runtime/globals.hpp
PrintStubCodeboolruntimefalsediagnosticPrint generated stub codeshare/runtime/globals.hpp
PrintSymbolTableSizeHistogramboolruntimefalsenotproductprint histogram of the symbol tableshare/runtime/globals.hpp
PrintSystemDictionaryAtExitboolruntimefalsenotproductPrint the system dictionary at exitshare/runtime/globals.hpp
PrintTieredEventsboolruntimefalseproductPrint tiered events notificationsshare/runtime/globals.hpp
PrintTouchedMethodsAtExitboolruntimefalsediagnosticPrint all methods that have been ever touched in runtimeshare/runtime/globals.hpp
PrintUnsafeOptimizationboolc1falsedevelopPrint optimization of raw unsafe opsshare/c1/c1_globals.hpp
PrintVMMessagesboolruntimetruedevelopPrint VM messages on consoleshare/runtime/globals.hpp
PrintVMOptionsboolruntimefalseproductPrint flags that appeared on the command lineshare/runtime/globals.hpp
PrintVMQWaitTimeDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproductPrint out the waiting time in VM operation queueshare/runtime/globals.hpp
PrintValueNumberingboolc1falsedevelopPrint Value Numberingshare/c1/c1_globals.hpp
PrintVtableStatsboolruntimefalsenotproductprint vtables stats at end of runshare/runtime/globals.hpp
PrintWarningsboolruntimetrueproductPrint JVM warnings to output streamshare/runtime/globals.hpp
ProcessDistributionStrideuintxruntime4
range(0, max_juint)
productStride through processors when distributing processesshare/runtime/globals.hpp
ProfileDynamicTypesboolc2truediagnosticdo extra type profiling and use it more aggressivelyshare/opto/c2_globals.hpp
ProfileInterpreterboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfileInterpreterboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
ProfileInterpreterboolruntimeproduct_pdProfile at the bytecode level during interpretationshare/runtime/globals.hpp
ProfileInterpreterboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfileInterpreterbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
ProfileInterpreterboolsparcfalsedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
ProfileInterpreterboolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
ProfileIntervalsTicksObsoleted in JDK13
Expired in JDK14
intxruntime100
range(0, max_intx)
productNumber of ticks between printing of interval profile (+ProfileIntervals)share/runtime/globals.hpp
ProfileIntervalsObsoleted in JDK13
Expired in JDK14
boolruntimefalseproductPrint profiles for each interval (see ProfileIntervalsTicks)share/runtime/globals.hpp
ProfileMaturityPercentageintxruntime20
range(0, 100)
productnumber of method invocations/branches (expressed as % of CompileThreshold) before using the method's profileshare/runtime/globals.hpp
ProfileTrapsboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfileTrapsboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
ProfileTrapsboolruntimedevelop_pdProfile deoptimization traps at the bytecode levelshare/runtime/globals.hpp
ProfileTrapsboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfileTrapsbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
ProfileTrapsboolsparcfalsedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
ProfileTrapsboolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
ProfileVMObsoleted in JDK13
Expired in JDK14
boolruntimefalseproductProfile ticks that fall within VM (either in the VM Thread or VM code called through stubs)share/runtime/globals.hpp
ProfiledCodeHeapSizeintxaarch6414*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfiledCodeHeapSizesize_tarm14*Mdefine_pd_globalcpu/arm/c2_globals_arm.hpp
ProfiledCodeHeapSizeuintxruntimeproduct_pdSize of code heap with profiled methods (in bytes)share/runtime/globals.hpp
ProfiledCodeHeapSizeuintxppc14*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfiledCodeHeapSizeuintxs39022*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
ProfiledCodeHeapSizeuintxsparc14*Mdefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
ProfiledCodeHeapSizeuintxx8614*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
ProfilerCheckIntervalsObsoleted in JDK13
Expired in JDK14
boolruntimefalsenotproductCollect and print information on spacing of profiler ticksshare/runtime/globals.hpp
ProfilerNodeSizeintxruntime1024
range(0, 1024)
developSize in K to allocate for the Profile Nodes of each threadshare/runtime/globals.hpp
ProfilerNumberOfCompiledMethodsObsoleted in JDK13
Expired in JDK14
intxruntime25diagnosticNumber of compiled methods to show in profileshare/runtime/globals.hpp
ProfilerNumberOfInterpretedMethodsObsoleted in JDK13
Expired in JDK14
intxruntime25diagnosticNumber of interpreted methods to show in profileshare/runtime/globals.hpp
ProfilerNumberOfRuntimeStubNodesObsoleted in JDK13
Expired in JDK14
intxruntime25diagnosticNumber of runtime stub nodes to show in profileshare/runtime/globals.hpp
ProfilerNumberOfStubMethodsObsoleted in JDK13
Expired in JDK14
intxruntime25diagnosticNumber of stub methods to show in profileshare/runtime/globals.hpp
ProfilerPCTickThresholdintxruntime15developNumber of ticks in a PC buckets to be a hotspotshare/runtime/globals.hpp
ProfilerPrintByteCodeStatisticsObsoleted in JDK13
Expired in JDK14
boolruntimefalseproductPrint bytecode statistics when dumping profiler outputshare/runtime/globals.hpp
ProfilerRecordPCObsoleted in JDK13
Expired in JDK14
boolruntimefalseproductCollect ticks for each 16 byte interval of compiled codeshare/runtime/globals.hpp
PromotedPaddinguintxgc3
range(0, max_juint)
productHow much buffer to keep for promotion failureshare/gc/shared/gc_globals.hpp
PromotionFailureALotCountuintxgc1000developNumber of promotion failures occurring at PLAB refill attempts (ParNew) or promotion attempts (other young collectors)share/gc/shared/gc_globals.hpp
PromotionFailureALotIntervaluintxgc5developTotal collections between promotion failures a lotshare/gc/shared/gc_globals.hpp
PromotionFailureALotboolgcfalsenotproductUse promotion failure handling on every youngest generation collectionshare/gc/shared/gc_globals.hpp
ProtectionDomainVerificationboolruntimetruedevelopVerify protection domain before resolution in system dictionaryshare/runtime/globals.hpp
QueuedAllocationWarningCountuintxgc0
range(0, max_uintx)
productNumber of times an allocation that queues behind a GC will retry before printing a warningshare/gc/shared/gc_globals.hpp
RTMAbortRatiointppc50
range(0, 100) /* natural range */
experimentalLock abort ratio at which to stop use RTM lock elidingcpu/ppc/globals_ppc.hpp
RTMAbortRatiointx8650
range(0, 100) /* natural range */
experimentalLock abort ratio at which to stop use RTM lock elidingcpu/x86/globals_x86.hpp
RTMAbortThresholdintppc1000
range(0, max_jint)
experimentalCalculate abort ratio after this number of abortscpu/ppc/globals_ppc.hpp
RTMAbortThresholdintx861000
range(0, max_jint)
experimentalCalculate abort ratio after this number of abortscpu/x86/globals_x86.hpp
RTMLockingCalculationDelayintxppc0experimentalNumber of milliseconds to wait before start calculating aborts for RTM lockingcpu/ppc/globals_ppc.hpp
RTMLockingCalculationDelayintxx860experimentalNumber of milliseconds to wait before start calculating aborts for RTM lockingcpu/x86/globals_x86.hpp
RTMLockingThresholdintppc10000
range(0, max_jint)
experimentalLock count at which to do RTM lock eliding without abort ratio calculationcpu/ppc/globals_ppc.hpp
RTMLockingThresholdintx8610000
range(0, max_jint)
experimentalLock count at which to do RTM lock eliding without abort ratio calculationcpu/x86/globals_x86.hpp
RTMRetryCountintppc5
range(0, max_jint)
productNumber of RTM retries on lock abort or busycpu/ppc/globals_ppc.hpp
RTMRetryCountintx865
range(0, max_jint)
productNumber of RTM retries on lock abort or busycpu/x86/globals_x86.hpp
RTMSpinLoopCountintppc100
range(0, 32767) /* immediate operand limit on ppc */
experimentalSpin count for lock to become free before RTM retrycpu/ppc/globals_ppc.hpp
RTMSpinLoopCountintx86100
range(0, max_jint)
experimentalSpin count for lock to become free before RTM retrycpu/x86/globals_x86.hpp
RTMTotalCountIncrRateintppc64
range(1, 32767) /* immediate operand limit on ppc */
experimentalIncrement total RTM attempted lock count once every n timescpu/ppc/globals_ppc.hpp
RTMTotalCountIncrRateintx8664
range(1, max_jint)
experimentalIncrement total RTM attempted lock count once every n timescpu/x86/globals_x86.hpp
RangeCheckEliminationboolruntimetrueproductEliminate range checksshare/runtime/globals.hpp
ReassociateInvariantsboolc2trueproductEnable reassociation of expressions with loop invariants.share/opto/c2_globals.hpp
ReduceBulkZeroingboolc2trueproductWhen bulk-initializing, try to avoid needless zeroingshare/opto/c2_globals.hpp
ReduceFieldZeroingboolc2trueproductWhen initializing fields, try to avoid needless zeroingshare/opto/c2_globals.hpp
ReduceInitialCardMarksboolc2trueproductWhen initializing fields, try to avoid needless card marksshare/opto/c2_globals.hpp
ReduceNumberOfCompilerThreadsboolruntimetruediagnosticReduce the number of parallel compiler threads when they are not usedshare/runtime/globals.hpp
ReduceSignalUsageboolruntimefalseproductReduce the use of OS signals in Java and/or the VMshare/runtime/globals.hpp
RefDiscoveryPolicyintxgc0
range(ReferenceProcessor::DiscoveryPolicyMin,
productSelect type of reference discovery policy: reference-based(0) or referent-based(1)share/gc/shared/gc_globals.hpp
ReferencesPerThreadsize_tgc1000experimentalErgonomically start one thread for this amount of references for reference processing if ParallelRefProcEnabled is true. Specify 0 to disable and use all threads.share/gc/shared/gc_globals.hpp
RegisterCostAreaRatiointxaarch6416000define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
RegisterCostAreaRatiointxarm16000define_pd_globalcpu/arm/c2_globals_arm.hpp
RegisterCostAreaRatiointxc2develop_pdSpill selection in reg allocator: scale area by (X/64K) before adding costshare/opto/c2_globals.hpp
RegisterCostAreaRatiointxppc16000define_pd_globalcpu/ppc/c2_globals_ppc.hpp
RegisterCostAreaRatiointxs39012000define_pd_globalcpu/s390/c2_globals_s390.hpp
RegisterCostAreaRatiointxsparc12000define_pd_globalcpu/sparc/c2_globals_sparc.hpp
RegisterCostAreaRatiointxx8616000define_pd_globalcpu/x86/c2_globals_x86.hpp
RegisterFinalizersAtInitboolruntimetrueproductRegister finalizable objects at end of Object.<init> or after allocationshare/runtime/globals.hpp
RegisterReferencesboolruntimetruedevelopTell whether the VM should register soft/weak/final/phantom referencesshare/runtime/globals.hpp
RelaxAccessControlCheckboolruntimefalseproductRelax the access control checks in the verifiershare/runtime/globals.hpp
RenumberLiveNodesboolc2truedevelopRenumber live nodesshare/opto/c2_globals.hpp
ReoptimizeCallSequencesboolppctrueproductReoptimize code-sequences of calls at runtime.cpu/ppc/globals_ppc.hpp
ReoptimizeCallSequencesbools390trueproductReoptimize code-sequences of calls at runtime.cpu/s390/globals_s390.hpp
ReplayCompilesboolruntimefalsedevelopEnable replay of compilations from ReplayDataFileshare/runtime/globals.hpp
ReplayDataFileccstrruntimeNULLproductFile containing compilation replay information[default: ./replay_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
ReplayIgnoreInitErrorsboolruntimefalsedevelopIgnore exceptions thrown during initialization for replayshare/runtime/globals.hpp
ReplaySuppressInitializersintxruntime2
range(0, 3)
developControl handling of class initialization during replay:
0 - don't do anything special;
1 - treat all class initializers as empty;
2 - treat class initializers for application classes as empty;
3 - allow all class initializers to run during bootstrap but pretend they are empty after starting replay
share/runtime/globals.hpp
RequireSharedSpacesboolruntimefalseproductRequire shared spaces for metadatashare/runtime/globals.hpp
ReservedCodeCacheSizeintxaarch6432*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ReservedCodeCacheSizesize_tarm32*Mdefine_pd_globalcpu/arm/c2_globals_arm.hpp
ReservedCodeCacheSizeuintxruntimeproduct_pdReserved code cache size (in bytes) - maximum code cache sizeshare/runtime/globals.hpp
ReservedCodeCacheSizeuintxppc32*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ReservedCodeCacheSizeuintxs39048*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
ReservedCodeCacheSizeuintxsparc32*Mdefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
ReservedCodeCacheSizeuintxx8632*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
ResizeOldPLABObsoleted in JDK14
Expired in JDK15
boolgctrueproductDynamically resize (old gen) promotion LAB'sshare/gc/shared/gc_globals.hpp
ResizePLABboolgctrueproductDynamically resize (survivor space) promotion LAB'sshare/gc/shared/gc_globals.hpp
ResizeTLABboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ResizeTLABboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
ResizeTLABboolgcproduct_pdDynamically resize TLAB size for threadsshare/gc/shared/gc_globals.hpp
ResizeTLABboolruntimefalsedefine_pd_globalshare/runtime/globals.hpp
ResizeTLABboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ResizeTLABbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
ResizeTLABboolsparctruedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
ResizeTLABboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
RestoreMXCSROnJNICallsboolruntimefalseproductRestore MXCSR when returning from JNI callsshare/runtime/globals.hpp
RestrictContendedboolruntimetrueproductRestrict @Contended to trusted classesshare/runtime/globals.hpp
RestrictReservedStackboolruntimetrueproductRestrict @ReservedStackAccess to trusted classesshare/runtime/globals.hpp
RewriteBytecodesboolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
RewriteBytecodesboolarmtruedefine_pd_globalcpu/arm/globals_arm.hpp
RewriteBytecodesboolruntimeproduct_pdAllow rewriting of bytecodes (bytecodes are not immutable)share/runtime/globals.hpp
RewriteBytecodesboolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
RewriteBytecodesbools390truedefine_pd_globalcpu/s390/globals_s390.hpp
RewriteBytecodesboolsparctruedefine_pd_globalcpu/sparc/globals_sparc.hpp
RewriteBytecodesboolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
RewriteBytecodesboolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
RewriteFrequentPairsboolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
RewriteFrequentPairsboolarmtruedefine_pd_globalcpu/arm/globals_arm.hpp
RewriteFrequentPairsboolruntimeproduct_pdRewrite frequently used bytecode pairs into a single bytecodeshare/runtime/globals.hpp
RewriteFrequentPairsboolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
RewriteFrequentPairsbools390truedefine_pd_globalcpu/s390/globals_s390.hpp
RewriteFrequentPairsboolsparctruedefine_pd_globalcpu/sparc/globals_sparc.hpp
RewriteFrequentPairsboolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
RewriteFrequentPairsboolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
RoundFPResultsboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
RoundFPResultsboolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
RoundFPResultsboolc1develop_pdIndicates whether rounding is needed for floating point resultsshare/c1/c1_globals.hpp
RoundFPResultsboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
RoundFPResultsbools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
RoundFPResultsboolsparcfalsedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
RoundFPResultsboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
SafepointALotboolruntimefalsediagnosticGenerate a lot of safepoints. This works with GuaranteedSafepointIntervalshare/runtime/globals.hpp
SafepointTimeoutDelayintxruntime10000productDelay in milliseconds for option SafepointTimeoutshare/runtime/globals.hpp
SafepointTimeoutboolruntimefalseproductTime out and warn or fail after SafepointTimeoutDelay milliseconds if failed to reach safepointshare/runtime/globals.hpp
ScavengeALotIntervalintxgc1notproductInterval between which scavenge will occur with +ScavengeALotshare/gc/shared/gc_globals.hpp
ScavengeALotboolgcfalsenotproductForce scavenge at every Nth exit from the runtime system (N=ScavengeALotInterval)share/gc/shared/gc_globals.hpp
ScavengeBeforeFullGCboolgctrueproductScavenge youngest generation before each full GC.share/gc/shared/gc_globals.hpp
ScavengeRootsInCodeintxruntime2
range(0, 2)
diagnostic0: do not allow scavengable oops in the code cache;
1: allow scavenging from the code cache;
2: emit as many constants as the compiler can see
share/runtime/globals.hpp
SegmentedCodeCacheboolruntimefalseproductUse a segmented code cacheshare/runtime/globals.hpp
SelectivePhiFunctionsboolc1truedevelopcreate phi functions at loop headers only when necessaryshare/c1/c1_globals.hpp
SelfDestructTimerintxruntime0
range(0, max_intx)
productWill cause VM to terminate after a given time (in minutes) (0 means off)share/runtime/globals.hpp
SerializeVMOutputboolruntimetruediagnosticUse a mutex to serialize output to tty and LogFileshare/runtime/globals.hpp
SharedArchiveConfigFileccstrruntimeNULLproductData to add to the CDS archive fileshare/runtime/globals.hpp
SharedArchiveFileccstrruntimeNULLproductOverride the default location of the CDS archive fileshare/runtime/globals.hpp
SharedBaseAddresssize_truntimeLP64_ONLY(32*G)NOT_LP64(LINUX_ONLY(2*G) NOT_LINUX(0))
range(0, SIZE_MAX)
productAddress to allocate shared memory region for class datashare/runtime/globals.hpp
SharedClassListFileccstrruntimeNULLproductOverride the default CDS class listshare/runtime/globals.hpp
SharedSymbolTableBucketSizeuintxruntime4
range(2, 246)
productAverage number of symbols per bucket in shared tableshare/runtime/globals.hpp
ShowHiddenFramesboolruntimefalsediagnosticshow method handle implementation frames (usually hidden)share/runtime/globals.hpp
ShowMessageBoxOnErrorboolruntimefalseproductKeep process alive on VM fatal errorshare/runtime/globals.hpp
ShowRegistersOnAssertboolruntimefalsediagnosticOn internal errors, include registers in error report.share/runtime/globals.hpp
ShrinkHeapInStepsboolruntimetrueproductWhen disabled, informs the GC to shrink the java heap directly to the target size at the next full GC rather than requiring smaller steps during multiple full GCs.share/runtime/globals.hpp
SoftMatchFailureboolc2trueInProductdevelopIf the DFA fails to match a node, print a message and bail outshare/opto/c2_globals.hpp
SoftRefLRUPolicyMSPerMBintxruntime1000
range(0, max_intx)
productNumber of milliseconds per MB of free space in the heapshare/runtime/globals.hpp
SoftwarePrefetchHintDistanceintaarch64-1
range(-1, 4096)
productUse prfm hint with specified distance in compiled code.Value -1 means off.cpu/aarch64/globals_aarch64.hpp
SparcV9RegsHiBitsZeroboolc2truedevelopAssume Sparc V9 I&L registers on V8+ systems are zero-extendedshare/opto/c2_globals.hpp
SpecTrapLimitExtraEntriesintxruntime3experimentalExtra method data trap entries for speculationshare/runtime/globals.hpp
SpecialArraysEqualsboolc2truediagnosticspecial version of Arrays.equals(char[],char[])share/opto/c2_globals.hpp
SpecialEncodeISOArrayboolc2truediagnosticspecial version of ISO_8859_1$Encoder.encodeISOArrayshare/opto/c2_globals.hpp
SpecialStringCompareToboolc2truediagnosticspecial version of string compareToshare/opto/c2_globals.hpp
SpecialStringEqualsboolc2truediagnosticspecial version of string equalsshare/opto/c2_globals.hpp
SpecialStringIndexOfboolc2truediagnosticspecial version of string indexOfshare/opto/c2_globals.hpp
SplitIfBlocksboolc2trueproductClone compares and control flow through merge points to fold some branchesshare/opto/c2_globals.hpp
StackPrintLimitintxruntime100developnumber of stack frames to print in VM-level stack dumpshare/runtime/globals.hpp
StackRedPagesintxaarch64DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackRedPagesintxarmDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackRedPagesintxruntimeproduct_pdNumber of red zone (unrecoverable overflows) pages of size
4KB. If pages are bigger red zone is aligned up.
share/runtime/globals.hpp
StackRedPagesintxppcDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackRedPagesintxs390DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackRedPagesintxsparcDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/sparc/globals_sparc.hpp
StackRedPagesintxx86DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackRedPagesintxzeroDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackReservedPagesintxaarch64DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackReservedPagesintxarmDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackReservedPagesintxruntimeproduct_pdNumber of reserved zone (reserved to annotated methods) pages of size 4KB. If pages are bigger reserved zone is aligned up.share/runtime/globals.hpp
StackReservedPagesintxppcDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackReservedPagesintxs390DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackReservedPagesintxsparcDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/sparc/globals_sparc.hpp
StackReservedPagesintxx86DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackReservedPagesintxzeroDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackShadowPagesintxaarch64DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackShadowPagesintxarmDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackShadowPagesintxruntimeproduct_pdNumber of shadow zone (for overflow checking) pages of size
4KB. If pages are bigger shadow zone is aligned up. This should exceed the depth of the VM and native call stack.
share/runtime/globals.hpp
StackShadowPagesintxppcDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackShadowPagesintxs390DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackShadowPagesintxsparcDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/sparc/globals_sparc.hpp
StackShadowPagesintxx86DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackShadowPagesintxzeroDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackTraceInThrowableboolruntimetrueproductCollect backtrace in throwable when exception happensshare/runtime/globals.hpp
StackYellowPagesintxaarch64DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackYellowPagesintxarmDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackYellowPagesintxruntimeproduct_pdNumber of yellow zone (recoverable overflows) pages of size
4KB. If pages are bigger yellow zone is aligned up.
share/runtime/globals.hpp
StackYellowPagesintxppcDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackYellowPagesintxs390DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackYellowPagesintxsparcDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/sparc/globals_sparc.hpp
StackYellowPagesintxx86DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackYellowPagesintxzeroDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StartAggressiveSweepingAtuintxruntime10
range(0, 100)
productStart aggressive sweeping if X[%] of the code cache is free.Segmented code cache: X[%] of the non-profiled heap.Non-segmented code cache: X[%] of the total code cacheshare/runtime/globals.hpp
StartAttachListenerboolruntimefalseproductAlways start Attach Listener at VM startupshare/runtime/globals.hpp
StartFlightRecordingccstrruntimeNULLproductStart flight recording with optionsshare/runtime/globals.hpp
StopInterpreterAtintxruntime0developStop interpreter execution at specified bytecode numbershare/runtime/globals.hpp
StressArrayCopyMacroNodeboolc2falsedevelopPerform ArrayCopy load/store replacement during IGVN onlyshare/opto/c2_globals.hpp
StressCodeAgingboolruntimefalsediagnosticStart with counters compiled inshare/runtime/globals.hpp
StressCodeBuffersboolruntimefalsedevelopExercise code buffer expansion and other rare state changesshare/runtime/globals.hpp
StressCompiledExceptionHandlersboolruntimefalsedevelopExercise compiled exception handlersshare/runtime/globals.hpp
StressCriticalJNINativesboolruntimefalsenotproductExercise register saving code in critical nativesshare/runtime/globals.hpp
StressDerivedPointersboolruntimefalsenotproductForce scavenge when a derived pointer is detected on stack after rtm callshare/runtime/globals.hpp
StressGCMboolc2falsediagnosticRandomize instruction scheduling in GCMshare/opto/c2_globals.hpp
StressLCMboolc2falsediagnosticRandomize instruction scheduling in LCMshare/opto/c2_globals.hpp
StressLdcRewriteboolruntimefalseproductForce ldc -> ldc_w rewrite during RedefineClassesshare/runtime/globals.hpp
StressLinearScanboolc1falsedevelopscramble block order used by LinearScan (stress test)share/c1/c1_globals.hpp
StressLoopInvariantCodeMotionboolc1falsedevelopstress loop invariant code motionshare/c1/c1_globals.hpp
StressMethodHandleLinkerInliningboolc2falsedevelopStress inlining through method handle linkersshare/opto/c2_globals.hpp
StressRangeCheckEliminationboolc1falsedevelopstress Range Check Eliminationshare/c1/c1_globals.hpp
StressRecompilationboolc2falsedevelopRecompile each compiled method without subsuming loads or escape analysis.share/opto/c2_globals.hpp
StressReflectiveCodeboolc2falsedevelopUse inexact types at allocations, etc., to test reflectionshare/opto/c2_globals.hpp
StressRewriterboolruntimefalsedevelopStress linktime bytecode rewritingshare/runtime/globals.hpp
StrictSafepointChecksboolruntimetrueInDebugnotproductEnable strict checks that safepoints cannot happen for threads that use NoSafepointVerifiershare/runtime/globals.hpp
StringDeduplicationAgeThresholduintxruntime3
range(1, markOopDesc::max_age)
productA string must reach this age (or be promoted to an old region) to be considered for deduplicationshare/runtime/globals.hpp
StringDeduplicationRehashALotboolruntimefalsediagnosticForce table rehash every time the table is scannedshare/runtime/globals.hpp
StringDeduplicationResizeALotboolruntimefalsediagnosticForce table resize every time the table is scannedshare/runtime/globals.hpp
StringTableSizeuintxruntimedefaultStringTableSize
range(minimumStringTableSize, 16777216ul)
productNumber of buckets in the interned String table (will be rounded to nearest higher power of 2)share/runtime/globals.hpp
SubsumeLoadsboolc2truedevelopAttempt to compile while subsuming loads into machine instructions.share/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisboolaarch64truedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
SuperWordLoopUnrollAnalysisboolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
SuperWordLoopUnrollAnalysisboolc2product_pdMap number of unrolls for main loop via Superword Level Parallelism analysisshare/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisboolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
SuperWordLoopUnrollAnalysisbools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
SuperWordLoopUnrollAnalysisboolsparcfalsedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
SuperWordLoopUnrollAnalysisboolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
SuperWordRTDepCheckboolc2falsedevelopEnable runtime dependency checks.share/opto/c2_globals.hpp
SuperWordReductionsboolc2trueproductEnable reductions support in superword.share/opto/c2_globals.hpp
SuperwordUseVSXboolppcfalseproductUse Power8 VSX instructions for superword optimization.cpu/ppc/globals_ppc.hpp
SuppressErrorAtccstrlistruntimeList of assertions (file:line) to muzzlenotproductshare/runtime/globals.hpp
SuppressFatalErrorMessageboolruntimefalseproductReport NO fatal error message (avoid deadlock)share/runtime/globals.hpp
SurvivorAlignmentInBytesintxruntime0experimentalDefault survivor space alignment in bytesshare/runtime/globals.hpp
SurvivorPaddinguintxgc3
range(0, max_juint)
productHow much buffer to keep for survivor overflowshare/gc/shared/gc_globals.hpp
SurvivorRatiouintxgc8
range(1, max_uintx-2)
productRatio of eden/survivor space sizeshare/gc/shared/gc_globals.hpp
SuspendRetryCountintxruntime50
range(0, max_intx)
productMaximum retry count for an external suspend requestshare/runtime/globals.hpp
SuspendRetryDelayintxruntime5
range(0, max_intx)
productMilliseconds to delay per retry (* current_retry_count)share/runtime/globals.hpp
SweeperLogEntriesintxruntime1024notproductNumber of records in the ring buffer of sweeper activityshare/runtime/globals.hpp
SymbolTableSizeuintxruntimedefaultSymbolTableSize
range(minimumSymbolTableSize, 111*defaultSymbolTableSize)
experimentalNumber of buckets in the JVM internal Symbol tableshare/runtime/globals.hpp
SyncFlagsObsoleted in JDK12
Expired in JDK13
intxruntime0experimental(Unsafe, Unstable) Experimental Sync flagsshare/runtime/globals.hpp
SyncKnobsObsoleted in JDK12
Expired in JDK13
ccstrruntimeNULLexperimental(Unstable) Various monitor synchronization tunablesshare/runtime/globals.hpp
SyncVerboseObsoleted in JDK12
Expired in JDK13
intxruntime0experimental(Unstable)share/runtime/globals.hpp
TLABAllocationWeightuintxgc35
range(0, 100)
productAllocation averaging weightshare/gc/shared/gc_globals.hpp
TLABRefillWasteFractionuintxgc64
range(1, max_juint)
productMaximum TLAB waste at a refill (internal fragmentation)share/gc/shared/gc_globals.hpp
TLABSizesize_tgc0productStarting TLAB size (in bytes); zero means set ergonomicallyshare/gc/shared/gc_globals.hpp
TLABStatsDeprecated in JDK12boolgctrueproductProvide more detailed and expensive TLAB statistics.share/gc/shared/gc_globals.hpp
TLABWasteIncrementuintxgc4
range(0, max_jint)
productIncrement allowed waste at slow allocationshare/gc/shared/gc_globals.hpp
TLABWasteTargetPercentuintxgc1
range(1, 100)
productPercentage of Eden that can be wastedshare/gc/shared/gc_globals.hpp
TargetPLABWastePctuintxgc10
range(1, 100)
productTarget wasted space in last buffer as percent of overall allocationshare/gc/shared/gc_globals.hpp
TargetSurvivorRatiouintxgc50
range(0, 100)
productDesired percentage of survivor space used after scavengeshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeIncrementuintxgc20
range(0, 100)
productAdaptive size percentage change in tenured generationshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementDecayuintxgc2
range(1, max_uintx)
productDecay factor to TenuredGenerationSizeIncrementshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementuintxgc80
range(0, 100)
productSupplement to TenuredGenerationSizeIncrement used at startupshare/gc/shared/gc_globals.hpp
TestCrashInErrorHandleruintxruntime0notproductIf > 0, provokes an error inside VM error handler (a secondary crash). see test_error_handler() in vmError.cppshare/runtime/globals.hpp
TestSafeFetchInErrorHandlerboolruntimefalsenotproductIf true, tests SafeFetch inside error handler.share/runtime/globals.hpp
TestUnresponsiveErrorHandlerboolruntimefalsenotproductIf true, simulates an unresponsive error handler.share/runtime/globals.hpp
ThreadLocalHandshakesDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
ThreadLocalHandshakesDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolarmfalsedefine_pd_globalcpu/arm/globals_arm.hpp
ThreadLocalHandshakesDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolruntimeproduct_pdUse thread-local polls instead of global poll for safepoints.share/runtime/globals.hpp
ThreadLocalHandshakesDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
ThreadLocalHandshakesDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
ThreadLocalHandshakesDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolsparctruedefine_pd_globalcpu/sparc/globals_sparc.hpp
ThreadLocalHandshakesDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolx86falsedefine_pd_globalcpu/x86/globals_x86.hpp
ThreadLocalHandshakesDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
ThreadPriorityPolicyintxruntime0
range(0, 1)
product0 : Normal. VM chooses priorities that are appropriate for normal applications. On Solaris NORM_PRIORITY and above are mapped to normal native priority. Java priorities below NORM_PRIORITY map to lower native priority values. On Windows applications are allowed to use higher native priorities. However, with ThreadPriorityPolicy=0, VM will not use the highest possible native priority, THREAD_PRIORITY_TIME_CRITICAL, as it may interfere with system threads. On Linux thread priorities are ignored because the OS does not support static priority in SCHED_OTHER scheduling class which is the only choice for non-root, non-realtime applications.
1 : Aggressive. Java thread priorities map over to the entire range of native thread priorities. Higher Java thread priorities map to higher native thread priorities. This policy should be used with care, as sometimes it can cause performance degradation in the application and/or the entire system. On Linux/BSD/macOS this policy requires root privilege or an extended capability.
share/runtime/globals.hpp
ThreadPriorityVerboseboolruntimefalseproductPrint priority changesshare/runtime/globals.hpp
ThreadStackSizeintxaixppc2048define_pd_global// 0 => use system defaultos_cpu/aix_ppc/globals_aix_ppc.hpp
ThreadStackSizeintxbsdx86320define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
ThreadStackSizeintxbsdzero1536define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
ThreadStackSizeintxlinuxaarch642048define_pd_global// 0 => use system defaultos_cpu/linux_aarch64/globals_linux_aarch64.hpp
ThreadStackSizeintxlinuxarm320define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
ThreadStackSizeintxlinuxppc2048define_pd_global// 0 => use system defaultos_cpu/linux_ppc/globals_linux_ppc.hpp
ThreadStackSizeintxlinuxs3901024define_pd_global// 0 => Use system default.os_cpu/linux_s390/globals_linux_s390.hpp
ThreadStackSizeintxlinuxx86320define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
ThreadStackSizeintxlinuxzero1536define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
ThreadStackSizeintxruntimeproduct_pdThread Stack Size (in Kbytes)share/runtime/globals.hpp
ThreadStackSizeintxsparc1024define_pd_globalcpu/sparc/globals_sparc.hpp
ThreadStackSizeintxsolarisx86320define_pd_globalos_cpu/solaris_x86/globals_solaris_x86.hpp
ThreadStackSizeintxwindowsx860define_pd_global// 0 => use system defaultos_cpu/windows_x86/globals_windows_x86.hpp
ThresholdToleranceuintxgc10
range(0, 100)
productAllowed collection cost difference between generationsshare/gc/shared/gc_globals.hpp
Tier0BackedgeNotifyFreqLogintxruntime10
range(0, 30)
productInterpreter (tier 0) invocation notification frequencyshare/runtime/globals.hpp
Tier0InvokeNotifyFreqLogintxruntime7
range(0, 30)
productInterpreter (tier 0) invocation notification frequencyshare/runtime/globals.hpp
Tier0ProfilingStartPercentageintxruntime200
range(0, max_jint)
productStart profiling in interpreter if the counters exceed tier 3 thresholds by the specified percentageshare/runtime/globals.hpp
Tier23InlineeNotifyFreqLogintxruntime20
range(0, 30)
productInlinee invocation (tiers 2 and 3) notification frequencyshare/runtime/globals.hpp
Tier2BackEdgeThresholdintxruntime0
range(0, max_jint)
productBack edge threshold at which tier 2 compilation is invokedshare/runtime/globals.hpp
Tier2BackedgeNotifyFreqLogintxruntime14
range(0, 30)
productC1 without MDO (tier 2) invocation notification frequencyshare/runtime/globals.hpp
Tier2CompileThresholdintxruntime0
range(0, max_jint)
productthreshold at which tier 2 compilation is invokedshare/runtime/globals.hpp
Tier2InvokeNotifyFreqLogintxruntime11
range(0, 30)
productC1 without MDO (tier 2) invocation notification frequencyshare/runtime/globals.hpp
Tier3AOTBackEdgeThresholdintxruntime120000
range(0, max_jint)
productBack edge threshold at which tier 3 OSR compilation is invoked if coming from AOTshare/runtime/globals.hpp
Tier3AOTCompileThresholdintxruntime15000
range(0, max_jint)
productThreshold at which tier 3 compilation is invoked (invocation minimum must be satisfied) if coming from AOTshare/runtime/globals.hpp
Tier3AOTInvocationThresholdintxruntime10000
range(0, max_jint)
productCompile if number of method invocations crosses this threshold if coming from AOTshare/runtime/globals.hpp
Tier3AOTMinInvocationThresholdintxruntime1000
range(0, max_jint)
productMinimum invocation to compile at tier 3 if coming from AOTshare/runtime/globals.hpp
Tier3BackEdgeThresholdintxruntime60000
range(0, max_jint)
productBack edge threshold at which tier 3 OSR compilation is invokedshare/runtime/globals.hpp
Tier3BackedgeNotifyFreqLogintxruntime13
range(0, 30)
productC1 with MDO profiling (tier 3) invocation notification frequencyshare/runtime/globals.hpp
Tier3CompileThresholdintxruntime2000
range(0, max_jint)
productThreshold at which tier 3 compilation is invoked (invocation minimum must be satisfied)share/runtime/globals.hpp
Tier3DelayOffintxruntime2
range(0, max_jint)
productIf C2 queue size is less than this amount per compiler thread allow methods compiled at tier 2 transition to tier 3share/runtime/globals.hpp
Tier3DelayOnintxruntime5
range(0, max_jint)
productIf C2 queue size grows over this amount per compiler thread stop compiling at tier 3 and start compiling at tier 2share/runtime/globals.hpp
Tier3InvocationThresholdintxruntime200
range(0, max_jint)
productCompile if number of method invocations crosses this thresholdshare/runtime/globals.hpp
Tier3InvokeNotifyFreqLogintxruntime10
range(0, 30)
productC1 with MDO profiling (tier 3) invocation notification frequencyshare/runtime/globals.hpp
Tier3LoadFeedbackintxruntime5
range(0, max_jint)
productTier 3 thresholds will increase twofold when C1 queue size reaches this amount per compiler threadshare/runtime/globals.hpp
Tier3MinInvocationThresholdintxruntime100
range(0, max_jint)
productMinimum invocation to compile at tier 3share/runtime/globals.hpp
Tier4BackEdgeThresholdintxruntime40000
range(0, max_jint)
productBack edge threshold at which tier 4 OSR compilation is invokedshare/runtime/globals.hpp
Tier4CompileThresholdintxruntime15000
range(0, max_jint)
productThreshold at which tier 4 compilation is invoked (invocation minimum must be satisfiedshare/runtime/globals.hpp
Tier4InvocationThresholdintxruntime5000
range(0, max_jint)
productCompile if number of method invocations crosses this thresholdshare/runtime/globals.hpp
Tier4LoadFeedbackintxruntime3
range(0, max_jint)
productTier 4 thresholds will increase twofold when C2 queue size reaches this amount per compiler threadshare/runtime/globals.hpp
Tier4MinInvocationThresholdintxruntime600
range(0, max_jint)
productMinimum invocation to compile at tier 4share/runtime/globals.hpp
TieredCompilationboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
TieredCompilationboolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
TieredCompilationboolruntimeproduct_pdEnable tiered compilationshare/runtime/globals.hpp
TieredCompilationboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
TieredCompilationbools390trueInTiereddefine_pd_globalcpu/s390/c2_globals_s390.hpp
TieredCompilationboolsparcfalsedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
TieredCompilationboolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
TieredCompileTaskTimeoutintxruntime50
range(0, max_intx)
productKill compile task if method was not used within given timeout in millisecondsshare/runtime/globals.hpp
TieredRateUpdateMaxTimeintxruntime25
range(0, max_intx)
productMaximum rate sampling interval (in milliseconds)share/runtime/globals.hpp
TieredRateUpdateMinTimeintxruntime1
range(0, max_intx)
productMinimum rate sampling interval (in milliseconds)share/runtime/globals.hpp
TieredStopAtLevelintxruntime4
range(0, 4)
productStop at given compilation levelshare/runtime/globals.hpp
TimeCompilationPolicyboolruntimefalsedevelopTime the compilation policyshare/runtime/globals.hpp
TimeEachLinearScanboolc1falsedevelopprint detailed timing of each LinearScan runshare/c1/c1_globals.hpp
TimeLinearScanboolc1falseproductdetailed timing of LinearScan phasesshare/c1/c1_globals.hpp
TimeLivenessAnalysisboolruntimefalsedevelopTime computation of bytecode liveness analysisshare/runtime/globals.hpp
TimeOopMap2boolruntimefalsedevelopTime calls to GenerateOopMap::compute_map() individuallyshare/runtime/globals.hpp
TimeOopMapboolruntimefalsedevelopTime calls to GenerateOopMap::compute_map() in sumshare/runtime/globals.hpp
TraceBytecodesAtintxruntime0developTrace bytecodes starting with specified bytecode numbershare/runtime/globals.hpp
TraceBytecodesboolruntimefalsedevelopTrace bytecode executionshare/runtime/globals.hpp
TraceCISCSpillboolc2falsenotproductTrace allocators use of cisc spillable instructionsshare/opto/c2_globals.hpp
TraceCallFixupboolruntimefalsedevelopTrace all call fixupsshare/runtime/globals.hpp
TraceCodeBlobStacksboolruntimefalsenotproductTrace stack-walk of codeblobsshare/runtime/globals.hpp
TraceCompilationPolicyboolruntimefalsedevelopTrace compilation policyshare/runtime/globals.hpp
TraceCompiledICboolruntimefalsedevelopTrace changes of compiled ICshare/runtime/globals.hpp
TraceCompilerThreadsboolruntimefalsediagnosticTrace creation and removal of compiler threadsshare/runtime/globals.hpp
TraceCreateZombiesboolruntimefalsedeveloptrace creation of zombie nmethodsshare/runtime/globals.hpp
TraceDeoptimizationboolruntimefalsedevelopTrace deoptimizationshare/runtime/globals.hpp
TraceDependenciesboolruntimefalsedevelopTrace dependenciesshare/runtime/globals.hpp
TraceDerivedPointersboolruntimefalsedevelopTrace traversal of derived pointers on stackshare/runtime/globals.hpp
TraceFPURegisterUsageboolc1falsedevelopTrace usage of FPU registers at start of blocks (intel only)share/c1/c1_globals.hpp
TraceFPUStackboolc1falsedevelopTrace emulation of the FPU stack (intel only)share/c1/c1_globals.hpp
TraceFinalizerRegistrationboolruntimefalsedevelopTrace registration of final referencesshare/runtime/globals.hpp
TraceFrequencyInliningboolruntimefalsedevelopTrace frequency based inliningshare/runtime/globals.hpp
TraceGCTaskManagerboolgcfalsedevelopTrace actions of the GC task managershare/gc/parallel/parallel_globals.hpp
TraceGCTaskQueueboolgcfalsedevelopTrace actions of the GC task queuesshare/gc/parallel/parallel_globals.hpp
TraceICBufferboolruntimefalsedevelopTrace usage of IC buffershare/runtime/globals.hpp
TraceICsboolruntimefalsedevelopTrace inline cache changesshare/runtime/globals.hpp
TraceInlineCacheClearingboolruntimefalsedevelopTrace clearing of inline caches in nmethodsshare/runtime/globals.hpp
TraceInvocationCounterOverflowboolruntimefalsenotproductTrace method invocation counter overflowshare/runtime/globals.hpp
TraceInvokeDynamicboolruntimefalsedeveloptrace internal invoke dynamic operationsshare/runtime/globals.hpp
TraceIterativeGVNboolc2falsedevelopPrint progress during Iterative Global Value Numberingshare/opto/c2_globals.hpp
TraceJVMTIObjectTaggingboolruntimefalsediagnosticTrace JVMTI object tagging callsshare/runtime/globals.hpp
TraceJVMTIccstrruntimeNULLproductTrace flags for JVMTI functions and eventsshare/runtime/globals.hpp
TraceJavaAssertionsboolruntimefalsedevelopTrace java language assertionsshare/runtime/globals.hpp
TraceLinearScanLevelintxc10
range(0, 4)
developDebug levels for the linear scan allocatorshare/c1/c1_globals.hpp
TraceLivenessGenboolruntimefalsedevelopTrace the generation of liveness analysis informationshare/runtime/globals.hpp
TraceLivenessQueryboolruntimefalsenotproductTrace queries of liveness analysis informationshare/runtime/globals.hpp
TraceLongCompilesboolruntimefalsedevelopPrint out every time compilation is longer than a given thresholdshare/runtime/globals.hpp
TraceLoopLimitCheckboolc2falsedevelopTrace generation of loop limits checksshare/opto/c2_globals.hpp
TraceLoopOptsboolc2falsedevelopTrace executed loop optimizationsshare/opto/c2_globals.hpp
TraceLoopPredicateboolc2falsedevelopTrace generation of loop predicatesshare/opto/c2_globals.hpp
TraceLoopUnswitchingboolc2falsenotproductTrace loop unswitchingshare/opto/c2_globals.hpp
TraceMethodHandlesboolruntimefalsedeveloptrace internal method handle operationsshare/runtime/globals.hpp
TraceMethodReplacementboolruntimefalsedevelopPrint when methods are replaced do to recompilationshare/runtime/globals.hpp
TraceNMethodInstallsDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolruntimefalsediagnosticTrace nmethod installationshare/runtime/globals.hpp
TraceNewOopMapGenerationDetailedboolruntimefalsedevelopTrace OopMapGeneration: print detailed cell statesshare/runtime/globals.hpp
TraceNewOopMapGenerationboolruntimefalsedevelopTrace OopMapGenerationshare/runtime/globals.hpp
TraceNewVectorsboolc2falsenotproductTrace creation of Vector nodesshare/opto/c2_globals.hpp
TraceOnStackReplacementboolruntimefalsenotproductTrace on stack replacementshare/runtime/globals.hpp
TraceOopMapRewritesboolruntimefalsedevelopTrace rewriting of method oops during oop map generationshare/runtime/globals.hpp
TraceOptimizeFillboolc2falsedevelopprint detailed information about fill conversionshare/opto/c2_globals.hpp
TraceOptoOutputboolc2falsenotproductTrace pipelining informationshare/opto/c2_globals.hpp
TraceOptoParseboolc2falsedevelopTrace bytecode parse and control-flow mergeshare/opto/c2_globals.hpp
TraceOptoPipeliningboolc2falsenotproductTrace pipelining informationshare/opto/c2_globals.hpp
TraceParallelOldGCDensePrefixboolgcfalsedevelopTrace dense prefix computation for ParallelOldGCshare/gc/parallel/parallel_globals.hpp
TraceParallelOldGCMarkingPhaseboolgcfalsedevelopTrace marking phase in ParallelOldGCshare/gc/parallel/parallel_globals.hpp
TracePartialPeelingboolc2falsenotproductTrace partial peeling (loop rotation) informationshare/opto/c2_globals.hpp
TracePatchingboolc1falsedevelopTrace patching of field access on uninitialized classesshare/c1/c1_globals.hpp
TracePcPatchingboolruntimefalsedevelopTrace usage of frame::patch_pcshare/runtime/globals.hpp
TracePhaseCCPboolc2falsenotproductPrint progress during Conditional Constant Propagationshare/opto/c2_globals.hpp
TracePostallocExpandboolc2falsedevelopTrace expanding nodes after register allocation.share/opto/c2_globals.hpp
TracePredicateFailedTrapsboolc1falsedeveloptrace runtime traps caused by predicate failureshare/c1/c1_globals.hpp
TraceProfileInterpreterboolruntimefalsedevelopTrace profiling at the bytecode level during interpretation. This outputs the profiling information collected to improve jit compilation.share/runtime/globals.hpp
TraceProfileTripCountboolc2falsenotproductTrace profile loop trip count informationshare/opto/c2_globals.hpp
TraceRangeCheckEliminationboolc1falsedevelopTrace Range Check Eliminationshare/c1/c1_globals.hpp
TraceRangeLimitCheckboolc2falsedevelopTrace additional overflow checks in RCEshare/opto/c2_globals.hpp
TraceRelocatorboolruntimefalsedevelopTrace the bytecode relocatorshare/runtime/globals.hpp
TraceSpillingboolc2falsediagnosticTrace spillingshare/opto/c2_globals.hpp
TraceSuperWordLoopUnrollAnalysisboolc2falsenotproductTrace what Superword Level Parallelism analysis appliesshare/opto/c2_globals.hpp
TraceSuperWordboolc2falsenotproductTrace superword transformsshare/opto/c2_globals.hpp
TraceSuspendWaitFailuresboolruntimefalseproductTrace external suspend wait failuresshare/runtime/globals.hpp
TraceTrapsboolaarch64falseproductTrace all traps the signal handlercpu/aarch64/globals_aarch64.hpp
TraceTrapsboolppcfalseproductTrace all traps the signal handlerhandles.cpu/ppc/globals_ppc.hpp
TraceTrapsbools390falseproductTrace all traps the signal handlerhandles.cpu/s390/globals_s390.hpp
TraceTypeProfileboolc2falsediagnosticTrace type profileshare/opto/c2_globals.hpp
TraceUncollectedSpeculationsbooljvmcifalsedevelopPrint message when a failed speculation was not collectedshare/jvmci/jvmci_globals.hpp
TrackedInitializationLimitintxc250
range(0, 65535)
productWhen initializing fields, track up to this many wordsshare/opto/c2_globals.hpp
TransmitErrorReportObsoleted in JDK12
Expired in JDK13
boolruntimefalseproductEnable error report transmission on erroneous terminationshare/runtime/globals.hpp
TrapBasedICMissChecksboolppctrueproductRaise and handle SIGTRAP if inline cache miss detected.cpu/ppc/globals_ppc.hpp
TrapBasedNotEntrantChecksboolppctrueproductRaise and handle SIGTRAP if calling not entrant or zombie method.cpu/ppc/globals_ppc.hpp
TrapBasedNullChecksboolaarch64falsedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
TrapBasedNullChecksboolarmfalsedefine_pd_global// Not neededcpu/arm/globals_arm.hpp
TrapBasedNullChecksboolruntimeproduct_pdGenerate code for null checks that uses a cmp and trap instruction raising SIGTRAP. This is only used if an access tonull (+offset) will not raise a SIGSEGV, i.e.,ImplicitNullChecks don't work (PPC64).share/runtime/globals.hpp
TrapBasedNullChecksboolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
TrapBasedNullChecksbools390truedefine_pd_globalcpu/s390/globals_s390.hpp
TrapBasedNullChecksboolsparcfalsedefine_pd_global// Not needed on sparc.cpu/sparc/globals_sparc.hpp
TrapBasedNullChecksboolx86falsedefine_pd_global// Not needed on x86.cpu/x86/globals_x86.hpp
TrapBasedNullChecksboolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
TrapBasedRangeChecksboolaarch64falsedefine_pd_global// Not needed.cpu/aarch64/c2_globals_aarch64.hpp
TrapBasedRangeChecksboolarmfalsedefine_pd_global// Not neededcpu/arm/c2_globals_arm.hpp
TrapBasedRangeChecksboolc2product_pdGenerate code for range checks that uses a cmp and trap instruction raising SIGTRAP. Used on PPC64.share/opto/c2_globals.hpp
TrapBasedRangeChecksboolppctruedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
TrapBasedRangeChecksbools390falsedefine_pd_global// Not needed on z/Architecture.cpu/s390/c2_globals_s390.hpp
TrapBasedRangeChecksboolsparcfalsedefine_pd_global// Not needed on sparc.cpu/sparc/c2_globals_sparc.hpp
TrapBasedRangeChecksboolx86falsedefine_pd_global// Not needed on x86.cpu/x86/c2_globals_x86.hpp
TrustFinalNonStaticFieldsboolruntimefalseexperimentaltrust final non-static declarations for constant foldingshare/runtime/globals.hpp
TwoOperandLIRFormboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
TwoOperandLIRFormboolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
TwoOperandLIRFormboolc1develop_pdtrue if LIR requires src1 and dst to match in binary LIR opsshare/c1/c1_globals.hpp
TwoOperandLIRFormboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
TwoOperandLIRFormbools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
TwoOperandLIRFormboolsparcfalsedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
TwoOperandLIRFormboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
TypeProfileArgsLimitintxruntime2
range(0, 16)
productmax number of call arguments to consider for type profilingshare/runtime/globals.hpp
TypeProfileCastsboolruntimetruedeveloptreat casts like calls for purposes of type profilingshare/runtime/globals.hpp
TypeProfileLeveluintxaarch64111define_pd_globalcpu/aarch64/globals_aarch64.hpp
TypeProfileLeveluintxarm0define_pd_globalcpu/arm/globals_arm.hpp
TypeProfileLeveluintxruntimeproduct_pd=XYZ, with Z: Type profiling of arguments at call; Y: Type profiling of return value at call; X: Type profiling of parameters to methods; X, Y and Z in 0=off ; 1=jsr292 only; 2=all methodsshare/runtime/globals.hpp
TypeProfileLeveluintxppc111define_pd_globalcpu/ppc/globals_ppc.hpp
TypeProfileLeveluintxs390111define_pd_globalcpu/s390/globals_s390.hpp
TypeProfileLeveluintxsparc111define_pd_globalcpu/sparc/globals_sparc.hpp
TypeProfileLeveluintxx86111define_pd_globalcpu/x86/globals_x86.hpp
TypeProfileLeveluintxzero0define_pd_globalcpu/zero/globals_zero.hpp
TypeProfileMajorReceiverPercentintxc290
range(0, 100)
product% of major receiver type to all profiled receiversshare/opto/c2_globals.hpp
TypeProfileParmsLimitintxruntime2
range(-1, 64)
productmax number of incoming parameters to consider for type profiling, -1 for allshare/runtime/globals.hpp
TypeProfileWidthintxruntime2
range(0, 8)
productNumber of receiver types to record in call/cast profileshare/runtime/globals.hpp
UncommonNullCastboolaarch64truedefine_pd_global// Uncommon-trap NULLs past to check castcpu/aarch64/globals_aarch64.hpp
UncommonNullCastboolarmtruedefine_pd_global// Uncommon-trap NULLs past to check castcpu/arm/globals_arm.hpp
UncommonNullCastboolruntimedevelop_pdtrack occurrences of null in casts; adjust compiler tacticsshare/runtime/globals.hpp
UncommonNullCastboolppctruedefine_pd_global// Uncommon-trap NULLs passed to check cast.cpu/ppc/globals_ppc.hpp
UncommonNullCastbools390truedefine_pd_global// Uncommon-trap NULLs passed to check cast.cpu/s390/globals_s390.hpp
UncommonNullCastboolsparctruedefine_pd_global// Uncommon-trap NULLs passed to check castcpu/sparc/globals_sparc.hpp
UncommonNullCastboolx86truedefine_pd_global// Uncommon-trap NULLs passed to check castcpu/x86/globals_x86.hpp
UncommonNullCastboolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
UnguardOnExecutionViolationintxruntime0
range(0, 2)
productUnguard page and retry on no-execute fault (Win32 only)
0=off, 1=conservative, 2=aggressive
share/runtime/globals.hpp
UnlinkSymbolsALotDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproductUnlink unreferenced symbols from the symbol table at safepointsshare/runtime/globals.hpp
UnlockDiagnosticVMOptionsboolruntimetrueInDebugdiagnosticEnable normal processing of flags relating to field diagnosticsshare/runtime/globals.hpp
UnlockExperimentalVMOptionsboolruntimefalseexperimentalEnable normal processing of flags relating to experimental featuresshare/runtime/globals.hpp
UnrollLimitForProfileCheckintxc21
range(0, max_intx)
developDon't use profile_trip_cnt() to restrict unrolling until unrolling would push the number of unrolled iterations above UnrollLimitForProfileCheck. A higher value allows more unrolling. Zero acts as a very large value.share/opto/c2_globals.hpp
Use24BitFPModeboolc2truedevelopSet 24-bit FPU mode on a per-compile basisshare/opto/c2_globals.hpp
Use24BitFPboolc2truedevelopuse FP instructions that produce 24-bit precise resultsshare/opto/c2_globals.hpp
Use64KPagesThresholduintxaix0develop4K/64K page allocation threshold.os/aix/globals_aix.hpp
Use64KPagesboolaixtrueproductUse 64K pages if available.os/aix/globals_aix.hpp
UseAESCTRIntrinsicsboolruntimefalsediagnosticUse intrinsics for the paralleled version of AES/CTR cryptoshare/runtime/globals.hpp
UseAESIntrinsicsboolruntimefalsediagnosticUse intrinsics for AES versions of cryptoshare/runtime/globals.hpp
UseAESboolruntimefalseproductControl whether AES instructions are used when availableshare/runtime/globals.hpp
UseAOTStrictLoadingboolruntimefalsediagnosticExit the VM if any of the AOT libraries has invalid configshare/runtime/globals.hpp
UseAOTboolruntimefalseexperimentalUse AOT compiled filesshare/runtime/globals.hpp
UseAVXintxx863
range(0, 99)
productHighest supported AVX instructions set on x86/x64cpu/x86/globals_x86.hpp
UseAdaptiveGCBoundaryObsoleted in JDK15
Expired in JDK16
boolgcfalseproductAllow young-old boundary to moveshare/gc/shared/gc_globals.hpp
UseAdaptiveGenerationSizePolicyAtMajorCollectionboolgctrueproductUse adaptive young-old sizing policies at major collectionsshare/gc/shared/gc_globals.hpp
UseAdaptiveGenerationSizePolicyAtMinorCollectionboolgctrueproductUse adaptive young-old sizing policies at minor collectionsshare/gc/shared/gc_globals.hpp
UseAdaptiveNUMAChunkSizingboolruntimetrueproductEnable adaptive chunk sizing for NUMAshare/runtime/globals.hpp
UseAdaptiveSizeDecayMajorGCCostboolgctrueproductAdaptive size decays the major cost for long major intervalsshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyFootprintGoalboolgctrueproductUse adaptive minimum footprint as a goalshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyWithSystemGCboolgcfalseproductInclude statistics from System.gc() for adaptive size policyshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyboolgctrueproductUse adaptive generation sizing policiesshare/gc/shared/gc_globals.hpp
UseAddressNopboolx86falseproductUse '0F 1F [addr]' NOP instructions on x86 cpuscpu/x86/globals_x86.hpp
UseAdler32Intrinsicsboolruntimefalsediagnosticuse intrinsics for java.util.zip.Adler32share/runtime/globals.hpp
UseBASE64IntrinsicsboolruntimefalseproductUse intrinsics for java.util.Base64share/runtime/globals.hpp
UseBMI1Instructionsboolx86falseproductUse BMI1 instructionscpu/x86/globals_x86.hpp
UseBMI2Instructionsboolx86falseproductUse BMI2 instructionscpu/x86/globals_x86.hpp
UseBarriersForVolatileObsoleted in JDK15
Expired in JDK16
boolaarch64falseproductUse memory barriers to implement volatile accessescpu/aarch64/globals_aarch64.hpp
UseBiasedLockingDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimetrueproductEnable biased locking in JVMshare/runtime/globals.hpp
UseBimorphicInliningboolc2trueproductProfiling based inlining for two receiversshare/opto/c2_globals.hpp
UseBlockCopyboolsparcfalseproductUse special cpu instructions for block copycpu/sparc/globals_sparc.hpp
UseBlockZeroingboolaarch64trueproductUse DC ZVA for block zeroingcpu/aarch64/globals_aarch64.hpp
UseBlockZeroingboolsparcfalseproductUse special cpu instructions for block zeroingcpu/sparc/globals_sparc.hpp
UseBootstrapCallInfointruntime1diagnostic0: when resolving InDy or ConDy, force all BSM arguments to be resolved before the bootstrap method is called; 1: when a BSM that may accept a BootstrapCallInfo is detected, use that API to pass BSM arguments, which allows the BSM to delay their resolution; 2+: stress test the BCI API by calling more BSMs via that API, instead of with the eagerly-resolved array.share/runtime/globals.hpp
UseBsdPosixThreadCPUClocksObsoleted in JDK16
Expired in JDK17
boolbsdtrueproductenable fast Bsd Posix clocks where availableos/bsd/globals_bsd.hpp
UseByteReverseInstructionbools390trueproductUse byte reverse instruction.cpu/s390/globals_s390.hpp
UseC1Optimizationsboolc1truedevelopTurn on C1 optimizationsshare/c1/c1_globals.hpp
UseCASForSwapboolsparcfalsedevelopDo not use swap instructions, but only CAS (in a loop) on SPARCcpu/sparc/globals_sparc.hpp
UseCBCondboolsparcfalseproductUse compare and branch instruction on SPARCcpu/sparc/globals_sparc.hpp
UseCHAboolruntimetruedevelopEnable CHAshare/runtime/globals.hpp
UseCISCSpillboolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
UseCISCSpillboolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
UseCISCSpillboolc2develop_pdUse ADLC supplied cisc instructions during allocationshare/opto/c2_globals.hpp
UseCISCSpillboolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
UseCISCSpillbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
UseCISCSpillboolsparcfalsedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
UseCISCSpillboolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
UseCLMULboolx86falseproductControl whether CLMUL instructions can be used on x86/x64cpu/x86/globals_x86.hpp
UseCMSBestFitObsoleted in JDK14
Expired in JDK15
boolgctrueproductUse CMS best fit allocation strategyshare/gc/cms/cms_globals.hpp
UseCMSInitiatingOccupancyOnlyObsoleted in JDK14
Expired in JDK15
boolgcfalseproductOnly use occupancy as a criterion for starting a CMS collectionshare/gc/cms/cms_globals.hpp
UseCMoveUnconditionallyboolc2falseproductUse CMove (scalar and vector) ignoring profitability test.share/opto/c2_globals.hpp
UseCRC32CIntrinsicsboolruntimefalsediagnosticuse intrinsics for java.util.zip.CRC32Cshare/runtime/globals.hpp
UseCRC32Intrinsicsboolruntimefalsediagnosticuse intrinsics for java.util.zip.CRC32share/runtime/globals.hpp
UseCRC32boolaarch64falseproductUse CRC32 instructions for CRC32 computationcpu/aarch64/globals_aarch64.hpp
UseCharacterCompareIntrinsicsboolc2falsediagnosticEnables intrinsification of java.lang.Character functionsshare/opto/c2_globals.hpp
UseCodeAgingboolruntimetrueproductInsert counter to detect warm methodsshare/runtime/globals.hpp
UseCodeCacheFlushingboolruntimetrueproductRemove cold/old nmethods from the code cacheshare/runtime/globals.hpp
UseCompilerboolruntimetrueproductUse Just-In-Time compilationshare/runtime/globals.hpp
UseCompressedClassPointersboolruntimefalselp64_productUse 32-bit class pointers in 64-bit VM. lp64_product means flag is always constant in 32 bit VMshare/runtime/globals.hpp
UseCompressedOopsboolruntimefalselp64_productUse 32-bit object references in 64-bit VM. lp64_product means flag is always constant in 32 bit VMshare/runtime/globals.hpp
UseConcMarkSweepGCObsoleted in JDK14
Expired in JDK15
boolgcfalseproductUse Concurrent Mark-Sweep GC in the old generationshare/gc/shared/gc_globals.hpp
UseCondCardMarkboolgcfalseproductCheck for already marked card before updating card tableshare/gc/shared/gc_globals.hpp
UseContainerSupportboollinuxtrueproductEnable detection and runtime container configuration supportos/linux/globals_linux.hpp
UseCopySignIntrinsicboolruntimefalsediagnosticEnables intrinsification of Math.copySignshare/runtime/globals.hpp
UseCountLeadingZerosInstructionboolx86falseproductUse count leading zeros instructioncpu/x86/globals_x86.hpp
UseCountLeadingZerosInstructionsPPC64boolppctrueproductUse count leading zeros instructions.cpu/ppc/globals_ppc.hpp
UseCountTrailingZerosInstructionboolx86falseproductUse count trailing zeros instructioncpu/x86/globals_x86.hpp
UseCountTrailingZerosInstructionsPPC64boolppcfalseproductUse count trailing zeros instructions.cpu/ppc/globals_ppc.hpp
UseCountedLoopSafepointsboolc2falseproductForce counted loops to keep a safepointshare/opto/c2_globals.hpp
UseCounterDecayboolruntimetrueproductAdjust recompilation countersshare/runtime/globals.hpp
UseCpuAllocPathboollinuxfalsediagnosticUse CPU_ALLOC code path in os::active_processor_countos/linux/globals_linux.hpp
UseCriticalCMSThreadPriorityboolruntimefalseexperimentalConcurrentMarkSweep thread runs at critical scheduling priorityshare/runtime/globals.hpp
UseCriticalCompilerThreadPriorityboolruntimefalseexperimentalCompiler thread(s) run at critical scheduling priorityshare/runtime/globals.hpp
UseCriticalJavaThreadPriorityboolruntimefalseexperimentalJava thread priority 10 maps to critical scheduling priorityshare/runtime/globals.hpp
UseDetachedThreadsboolruntimetruedevelopUse detached threads that are recycled upon termination (for Solaris only)share/runtime/globals.hpp
UseDivModboolc2trueproductUse combined DivMod instruction if availableshare/opto/c2_globals.hpp
UseDynamicNumberOfCompilerThreadsboolruntimetrueproductDynamically choose the number of parallel compiler threadsshare/runtime/globals.hpp
UseDynamicNumberOfGCThreadsboolgctrueproductDynamically choose the number of threads up to a maximum of ParallelGCThreads parallel collectors will use for garbage collection workshare/gc/shared/gc_globals.hpp
UseEpsilonGCboolgcfalseexperimentalUse the Epsilon (no-op) garbage collectorshare/gc/shared/gc_globals.hpp
UseExactTypesboolc2truedevelopUse exact types to eliminate array store checks and v-callsshare/opto/c2_globals.hpp
UseExplicitCommitboolaixfalseproductExplicit commit for virtual memory.os/aix/globals_aix.hpp
UseExtendedFileIOboolsolaristrueproductEnable workaround for limitations of stdio FILE structureos/solaris/globals_solaris.hpp
UseExtendedLoadAndReserveInstructionsPPC64boolppcfalseproductUse extended versions of load-and-reserve instructions.cpu/ppc/globals_ppc.hpp
UseFMAboolruntimefalseproductControl whether FMA instructions are used when availableshare/runtime/globals.hpp
UseFPUForSpillingboolc2falseproductSpill integer registers to FPU instead of stack when possibleshare/opto/c2_globals.hpp
UseFakeTimersboolruntimefalsedevelopTell whether the VM should use system time or a fake timershare/runtime/globals.hpp
UseFastAccessorMethodsboolzerotrueproductUse fast method entry code for accessor methodscpu/zero/globals_zero.hpp
UseFastEmptyMethodsboolzerotrueproductUse fast method entry code for empty methodscpu/zero/globals_zero.hpp
UseFastJNIAccessorsboolruntimetrueproductUse optimized versions of Get<Primitive>Fieldshare/runtime/globals.hpp
UseFastLockingboolc1truedevelopUse fast inlined locking codeshare/c1/c1_globals.hpp
UseFastNewInstanceboolc1truedevelopUse fast inlined instance allocationshare/c1/c1_globals.hpp
UseFastNewObjectArrayboolc1truedevelopUse fast inlined object array allocationshare/c1/c1_globals.hpp
UseFastNewTypeArrayboolc1truedevelopUse fast inlined type array allocationshare/c1/c1_globals.hpp
UseFastSignatureHandlersboolruntimetruedevelopUse fast signature handlers for native callsshare/runtime/globals.hpp
UseFastStosbboolx86falseproductUse fast-string operation for zeroing: rep stosbcpu/x86/globals_x86.hpp
UseFastUnorderedTimeStampsboolruntimefalseexperimentalUse platform unstable time where supported for timestamps onlyshare/runtime/globals.hpp
UseG1GCboolgcfalseproductUse the Garbage-First garbage collectorshare/gc/shared/gc_globals.hpp
UseGCOverheadLimitboolgctrueproductUse policy to limit of proportion of time spent in GC before an OutOfMemory error is thrownshare/gc/shared/gc_globals.hpp
UseGCTaskAffinityObsoleted in JDK14
Expired in JDK16
boolgcfalseproductUse worker affinity when asking for GCTasksshare/gc/shared/gc_globals.hpp
UseGHASHIntrinsicsboolruntimefalsediagnosticUse intrinsics for GHASH versions of cryptoshare/runtime/globals.hpp
UseGlobalValueNumberingboolc1truedevelopUse Global Value Numbering (separate phase)share/c1/c1_globals.hpp
UseHeavyMonitorsboolruntimefalseproductuse heavyweight instead of lightweight Java monitorsshare/runtime/globals.hpp
UseHugeTLBFSObsoleted in JDK12
Expired in JDK13
boolbsdfalseproductUse MAP_HUGETLB for large pagesos/bsd/globals_bsd.hpp
UseHugeTLBFSObsoleted in JDK12
Expired in JDK13
boollinuxfalseproductUse MAP_HUGETLB for large pagesos/linux/globals_linux.hpp
UseImplicitStableValuesObsoleted in JDK13
Expired in JDK14
boolc2truediagnosticMark well-known stable fields as such (e.g. String.value)share/opto/c2_globals.hpp
UseIncDecboolx86truediagnosticUse INC, DEC instructions on x86cpu/x86/globals_x86.hpp
UseInlineCachesboolruntimetrueproductUse Inline Caches for virtual callsshare/runtime/globals.hpp
UseInlineDepthForSpeculativeTypesboolc2truediagnosticCarry inline depth of profile point with speculative type and give priority to profiling from lower inline depthshare/opto/c2_globals.hpp
UseInterpreterboolruntimetrueproductUse interpreter for non-compiled methodsshare/runtime/globals.hpp
UseJVMCICompilerbooljvmcifalseexperimentalUse JVMCI as the default compilershare/jvmci/jvmci_globals.hpp
UseJumpTablesboolc2trueproductUse JumpTables instead of a binary search tree for switchesshare/opto/c2_globals.hpp
UseLSEboolaarch64falseproductUse LSE instructionscpu/aarch64/globals_aarch64.hpp
UseLWPSynchronizationObsoleted in JDK15
Expired in JDK16
boolruntimetrueproductUse LWP-based instead of libthread-based synchronization (SPARC only)share/runtime/globals.hpp
UseLargePagesInMetaspaceDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproductUse large page memory in metaspace. Only used if UseLargePages is enabled.share/runtime/globals.hpp
UseLargePagesIndividualAllocationboolaixfalsedefine_pd_globalos/aix/globals_aix.hpp
UseLargePagesIndividualAllocationboolbsdfalsedefine_pd_globalos/bsd/globals_bsd.hpp
UseLargePagesIndividualAllocationboollinuxfalsedefine_pd_globalos/linux/globals_linux.hpp
UseLargePagesIndividualAllocationboolruntimeproduct_pdAllocate large pages individually for better affinityshare/runtime/globals.hpp
UseLargePagesIndividualAllocationboolsolarisfalsedefine_pd_globalos/solaris/globals_solaris.hpp
UseLargePagesIndividualAllocationboolwindowstruedefine_pd_globalos/windows/globals_windows.hpp
UseLargePagesboolaixfalsedefine_pd_globalos/aix/globals_aix.hpp
UseLargePagesboolbsdfalsedefine_pd_globalos/bsd/globals_bsd.hpp
UseLargePagesboollinuxfalsedefine_pd_globalos/linux/globals_linux.hpp
UseLargePagesboolruntimeproduct_pdUse large page memoryshare/runtime/globals.hpp
UseLargePagesboolsolaristruedefine_pd_globalos/solaris/globals_solaris.hpp
UseLargePagesboolwindowsfalsedefine_pd_globalos/windows/globals_windows.hpp
UseLibmIntrinsicboolx86truediagnosticUse Libm Intrinsicscpu/x86/globals_x86.hpp
UseLinuxPosixThreadCPUClocksboollinuxtrueproductenable fast Linux Posix clocks where availableos/linux/globals_linux.hpp
UseLoadInstructionsForStackBangingPPC64boolppcfalseproductUse load instructions for stack banging.cpu/ppc/globals_ppc.hpp
UseLocalValueNumberingboolc1truedevelopUse Local Value Numbering (embedded in GraphBuilder)share/c1/c1_globals.hpp
UseLoopCounterboolruntimetrueproductIncrement invocation counter on backward branchshare/runtime/globals.hpp
UseLoopInvariantCodeMotionboolc1trueproductSimple loop invariant code motion for short loops during GVNshare/c1/c1_globals.hpp
UseLoopPredicateboolc2trueproductGenerate a predicate to select fast/slow loop versionsshare/opto/c2_globals.hpp
UseLoopSafepointsboolruntimetruedevelopGenerate Safepoint nodes in every loopshare/runtime/globals.hpp
UseMPMULboolsparcfalseproductUse multi-precision multiply instruction (mpmul) on SPARCcpu/sparc/globals_sparc.hpp
UseMallocOnlyboolruntimefalsedevelopUse only malloc/free for allocation (no resource area/arena)share/runtime/globals.hpp
UseMathExactIntrinsicsboolc2truediagnosticEnables intrinsification of various java.lang.Math functionsshare/opto/c2_globals.hpp
UseMaximumCompactionOnSystemGCboolgctrueproductUse maximum compaction in the Parallel Old garbage collector for a system GCshare/gc/parallel/parallel_globals.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
boolarmtruedefine_pd_globalcpu/arm/globals_arm.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
boolruntimeproduct_pd(Unstable) Issues membars on thread state transitionsshare/runtime/globals.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
boolsparctruedefine_pd_globalcpu/sparc/globals_sparc.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
boolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
UseMontgomeryMultiplyIntrinsicboolc2falsediagnosticEnables intrinsification of BigInteger.montgomeryMultiply()share/opto/c2_globals.hpp
UseMontgomerySquareIntrinsicboolc2falsediagnosticEnables intrinsification of BigInteger.montgomerySquare()share/opto/c2_globals.hpp
UseMulAddIntrinsicboolc2falsediagnosticEnables intrinsification of BigInteger.mulAdd()share/opto/c2_globals.hpp
UseMultiplyToLenIntrinsicboolc2falsediagnosticEnables intrinsification of BigInteger.multiplyToLen()share/opto/c2_globals.hpp
UseNUMAInterleavingboolruntimefalseproductInterleave memory across NUMA nodes if availableshare/runtime/globals.hpp
UseNUMAboolruntimefalseproductUse NUMA if availableshare/runtime/globals.hpp
UseNeonboolaarch64falseproductUse Neon for CRC32 computationcpu/aarch64/globals_aarch64.hpp
UseNewCode2boolruntimefalsediagnosticTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewCode3boolruntimefalsediagnosticTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewCodeboolruntimefalsediagnosticTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewLongLShiftboolx86falseproductUse optimized bitwise shift leftcpu/x86/globals_x86.hpp
UseNiagaraInstrsboolsparcfalseproductUse Niagara-efficient instruction subsetcpu/sparc/globals_sparc.hpp
UseOSErrorReportingboolaixfalsedefine_pd_globalos/aix/globals_aix.hpp
UseOSErrorReportingboolbsdfalsedefine_pd_globalos/bsd/globals_bsd.hpp
UseOSErrorReportingboollinuxfalsedefine_pd_globalos/linux/globals_linux.hpp
UseOSErrorReportingboolruntimeproduct_pdLet VM fatal error propagate to the OS (ie. WER on Windows)share/runtime/globals.hpp
UseOSErrorReportingboolsolarisfalsedefine_pd_globalos/solaris/globals_solaris.hpp
UseOSErrorReportingboolwindowsfalsedefine_pd_global// for now.os/windows/globals_windows.hpp
UseOnStackReplacementboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
UseOnStackReplacementboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
UseOnStackReplacementboolruntimeproduct_pdUse on stack replacement, calls runtime if invoc. counter overflows in loopshare/runtime/globals.hpp
UseOnStackReplacementboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
UseOnStackReplacementbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
UseOnStackReplacementboolsparctruedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
UseOnStackReplacementboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
UseOnlyInlinedBimorphicboolc2trueproductDon't use BimorphicInlining if can't inline a second methodshare/opto/c2_globals.hpp
UseOprofileObsoleted in JDK16
Expired in JDK17
boolbsdfalseproductenable support for Oprofile profileros/bsd/globals_bsd.hpp
UseOprofileObsoleted in JDK16
Expired in JDK17
boollinuxfalseproductenable support for Oprofile profileros/linux/globals_linux.hpp
UseOptoBiasInliningDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolc2trueproductGenerate biased locking code in C2 ideal graphshare/opto/c2_globals.hpp
UsePSAdaptiveSurvivorSizePolicyboolgctrueproductUse adaptive survivor sizing policiesshare/gc/shared/gc_globals.hpp
UseParallelGCboolgcfalseproductUse the Parallel Scavenge garbage collectorshare/gc/shared/gc_globals.hpp
UseParallelOldGCDeprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
boolgcfalseproductUse the Parallel Old garbage collectorshare/gc/shared/gc_globals.hpp
UsePerfDataboolruntimetrueproductFlag to disable jvmstat instrumentation for performance testing and problem isolation purposesshare/runtime/globals.hpp
UsePopCountInstructionboolruntimefalseproductUse population count instructionshare/runtime/globals.hpp
UsePower6SchedulerPPC64boolppcfalseproductUse Power6 Scheduler.cpu/ppc/globals_ppc.hpp
UsePrivilegedStackboolruntimetruedevelopEnable the security JVM functionsshare/runtime/globals.hpp
UseProfiledLoopPredicateboolc2trueproductmove predicates out of loops based on profiling datashare/opto/c2_globals.hpp
UsePthreadsboolruntimefalsedevelopUse pthread-based instead of libthread-based synchronization (SPARC only)share/runtime/globals.hpp
UseRDPCForConstantTableBaseboolc2falseproductUse Sparc RDPC instruction for the constant table base.share/opto/c2_globals.hpp
UseRTMDeoptboolppcfalseproductPerform deopt and recompilation based on RTM abort ratiocpu/ppc/globals_ppc.hpp
UseRTMDeoptboolx86falseproductPerform deopt and recompilation based on RTM abort ratiocpu/x86/globals_x86.hpp
UseRTMForStackLocksboolppcfalseexperimentalEnable RTM lock eliding for stack locks in compiled codecpu/ppc/globals_ppc.hpp
UseRTMForStackLocksboolx86falseexperimentalEnable RTM lock eliding for stack locks in compiled codecpu/x86/globals_x86.hpp
UseRTMLockingboolppcfalseproductEnable RTM lock eliding for inflated locks in compiled codecpu/ppc/globals_ppc.hpp
UseRTMLockingboolx86falseproductEnable RTM lock eliding for inflated locks in compiled codecpu/x86/globals_x86.hpp
UseRTMXendForLockBusyboolppctrueexperimentalUse RTM Xend instead of Xabort when lock busycpu/ppc/globals_ppc.hpp
UseRTMXendForLockBusyboolx86trueexperimentalUse RTM Xend instead of Xabort when lock busycpu/x86/globals_x86.hpp
UseRotateAndMaskInstructionsPPC64boolppctrueproductUse rotate and mask instructions.cpu/ppc/globals_ppc.hpp
UseSHA1IntrinsicsboolruntimefalsediagnosticUse intrinsics for SHA-1 crypto hash function. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHA256IntrinsicsboolruntimefalsediagnosticUse intrinsics for SHA-224 and SHA-256 crypto hash functions. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHA512IntrinsicsboolruntimefalsediagnosticUse intrinsics for SHA-384 and SHA-512 crypto hash functions. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHAboolruntimefalseproductControl whether SHA instructions are used when availableshare/runtime/globals.hpp
UseSHMObsoleted in JDK12
Expired in JDK13
boolbsdfalseproductUse SYSV shared memory for large pagesos/bsd/globals_bsd.hpp
UseSHMObsoleted in JDK12
Expired in JDK13
boollinuxfalseproductUse SYSV shared memory for large pagesos/linux/globals_linux.hpp
UseSIGTRAPboolppctrueproductAllow trap instructions that make use of SIGTRAP. Use this to switch off all optimizations requiring SIGTRAP.cpu/ppc/globals_ppc.hpp
UseSIMDForArrayEqualsboolaarch64trueproductUse SIMD instructions in generated array equals codecpu/aarch64/globals_aarch64.hpp
UseSIMDForMemoryOpsboolaarch64falseproductUse SIMD instructions in generated memory move codecpu/aarch64/globals_aarch64.hpp
UseSSE42Intrinsicsboolx86falseproductSSE4.2 versions of intrinsicscpu/x86/globals_x86.hpp
UseSSEObsoleted in JDK15
Expired in JDK16
intxruntime99
range(0, 99)
productHighest supported SSE instructions set on x86/x64share/runtime/globals.hpp
UseSemaphoreGCThreadsSynchronizationObsoleted in JDK16
Expired in JDK17
boolgctruediagnosticUse semaphore synchronization for the GC Threads, instead of synchronization based on mutexesshare/gc/shared/gc_globals.hpp
UseSerialGCboolgcfalseproductUse the Serial garbage collectorshare/gc/shared/gc_globals.hpp
UseSharedSpacesboolruntimetrueproductUse shared spaces for metadatashare/runtime/globals.hpp
UseSignalChainingboolruntimetrueproductUse signal-chaining to invoke signal handlers installed by the application (Solaris & Linux only)share/runtime/globals.hpp
UseSignumIntrinsicboolruntimefalsediagnosticEnables intrinsification of Math.signumshare/runtime/globals.hpp
UseSimpleArrayEqualsboolaarch64falseproductUse simpliest and shortest implementation for array equalscpu/aarch64/globals_aarch64.hpp
UseSlowPathboolc1falsedevelopFor debugging: test slow cases by always using themshare/c1/c1_globals.hpp
UseSquareToLenIntrinsicboolc2falsediagnosticEnables intrinsification of BigInteger.squareToLen()share/opto/c2_globals.hpp
UseStackBangingboolruntimetruedevelopuse stack banging for stack overflow checks (required for proper StackOverflow handling; disable only to measure cost of stackbanging)share/runtime/globals.hpp
UseStaticBranchPredictionForUncommonPathsPPC64boolppcfalseproductUse static branch prediction hints for uncommon paths.cpu/ppc/globals_ppc.hpp
UseStaticBranchPredictionInCompareAndSwapPPC64boolppctrueproductUse static branch prediction hints in CAS operations.cpu/ppc/globals_ppc.hpp
UseStoreImmI16boolx86trueproductUse store immediate 16-bits value instruction on x86cpu/x86/globals_x86.hpp
UseStrictFPboolruntimetruedevelopuse strict fp if modifier strictfp is setshare/runtime/globals.hpp
UseStringDeduplicationboolruntimefalseproductUse string deduplicationshare/runtime/globals.hpp
UseSubwordForMaxVectorboolc2trueproductUse Subword Analysis to set maximum vector sizeshare/opto/c2_globals.hpp
UseSuperWordboolc2trueproductTransform scalar operations into superword operationsshare/opto/c2_globals.hpp
UseSwitchProfilingboolruntimetruediagnosticleverage profiling for table/lookup switchshare/runtime/globals.hpp
UseTLABboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
UseTLABboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
UseTLABboolgcproduct_pdUse thread-local object allocationshare/gc/shared/gc_globals.hpp
UseTLABboolruntimefalsedefine_pd_globalshare/runtime/globals.hpp
UseTLABboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
UseTLABbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
UseTLABboolsparctruedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
UseTLABboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
UseTableRangesboolc1truedevelopFaster versions of lookup table using rangesshare/c1/c1_globals.hpp
UseThreadPrioritiesboolruntimeproduct_pdUse native thread prioritiesshare/runtime/globals.hpp
UseThreadPrioritiesboolsolarisfalsedefine_pd_globalos/solaris/globals_solaris.hpp
UseTransparentHugePagesboollinuxfalseproductUse MADV_HUGEPAGE for large pagesos/linux/globals_linux.hpp
UseTypeProfileboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
UseTypeProfileboolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
UseTypeProfileboolruntimetrueproductCheck interpreter profile for historically monomorphic callsshare/runtime/globals.hpp
UseTypeProfileboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
UseTypeProfilebools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
UseTypeProfileboolsparcfalsedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
UseTypeProfileboolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
UseTypeSpeculationboolc2trueproductSpeculatively propagate types from profilesshare/opto/c2_globals.hpp
UseUnalignedAccessesboolruntimefalsediagnosticUse unaligned memory accesses in Unsafeshare/runtime/globals.hpp
UseUnalignedLoadStoresboolx86falseproductUse SSE2 MOVDQU instruction for Arraycopycpu/x86/globals_x86.hpp
UseUniqueSubclassesboolc2truedevelopNarrow an abstract reference to the unique concrete subclassshare/opto/c2_globals.hpp
UseVISintxsparc99
range(0, 99)
productHighest supported VIS instructions set on SPARCcpu/sparc/globals_sparc.hpp
UseVectorCmovboolc2falseproductUse Vectorized Cmovshare/opto/c2_globals.hpp
UseVectorizedMismatchIntrinsicboolruntimefalsediagnosticEnables intrinsification of ArraysSupport.vectorizedMismatch()share/runtime/globals.hpp
UseXMMForArrayCopyboolruntimefalseproductUse SSE2 MOVQ instruction for Arraycopyshare/runtime/globals.hpp
UseXMMForObjInitboolx86falseproductUse XMM/YMM MOVDQU instruction for Object Initializationcpu/x86/globals_x86.hpp
UseXmmI2Dboolx86falseproductUse SSE2 CVTDQ2PD instruction to convert Integer to Doublecpu/x86/globals_x86.hpp
UseXmmI2Fboolx86falseproductUse SSE2 CVTDQ2PS instruction to convert Integer to Floatcpu/x86/globals_x86.hpp
UseXmmLoadAndClearUpperboolx86trueproductLoad low part of XMM register and clear upper partcpu/x86/globals_x86.hpp
UseXmmRegToRegMoveAllboolx86falseproductCopy all XMM register bits when moving value between registerscpu/x86/globals_x86.hpp
UseZGCboolgcfalseexperimentalUse the Z garbage collectorshare/gc/shared/gc_globals.hpp
VMThreadHintNoPreemptDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproduct(Solaris only) Give VM thread an extra quantashare/runtime/globals.hpp
VMThreadPriorityintxruntime-1
range(-1, 127)
productThe native priority at which the VM thread should run (-1 means no change)share/runtime/globals.hpp
VMThreadStackSizeintxaixppc2048define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
VMThreadStackSizeintxbsdx86512define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
VMThreadStackSizeintxbsdzero512define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
VMThreadStackSizeintxlinuxaarch642048define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
VMThreadStackSizeintxlinuxarm512define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
VMThreadStackSizeintxlinuxppc2048define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
VMThreadStackSizeintxlinuxs3901024define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
VMThreadStackSizeintxlinuxx86512define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
VMThreadStackSizeintxlinuxzero512define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
VMThreadStackSizeintxruntimeproduct_pdNon-Java Thread Stack Size (in Kbytes)share/runtime/globals.hpp
VMThreadStackSizeintxsparc1024define_pd_globalcpu/sparc/globals_sparc.hpp
VMThreadStackSizeintxsolarisx86512define_pd_globalos_cpu/solaris_x86/globals_solaris_x86.hpp
VMThreadStackSizeintxwindowsx860define_pd_global// 0 => use system defaultos_cpu/windows_x86/globals_windows_x86.hpp
ValueMapInitialSizeintxc111
range(1, NOT_LP64(1*K) LP64_ONLY(32*K))
productInitial size of a value mapshare/c1/c1_globals.hpp
ValueMapMaxLoopSizeintxc18
range(0, 128)
productmaximum size of a loop optimized by global value numberingshare/c1/c1_globals.hpp
ValueSearchLimitintxc21000
range(0, max_jint)
productRecursion limit in PhaseMacroExpand::value_from_mem_phishare/opto/c2_globals.hpp
VerboseInternalVMTestsboolgcfalsenotproductTurn on logging for internal VM tests.share/gc/shared/gc_globals.hpp
VerboseboolruntimefalsedevelopPrint additional debugging information from other modesshare/runtime/globals.hpp
VerifyActivationFrameSizeboolruntimefalsedevelopVerify that activation frame didn't become smaller than its minimal sizeshare/runtime/globals.hpp
VerifyAdapterCallsboolruntimetrueInDebugdiagnosticVerify that i2c/c2i adapters are called properlyshare/runtime/globals.hpp
VerifyAdapterSharingboolruntimefalsedevelopVerify that the code for shared adapters is the equivalentshare/runtime/globals.hpp
VerifyAfterGCboolgcfalsediagnosticVerify memory system after GCshare/gc/shared/gc_globals.hpp
VerifyAliasesboolc2falsedevelopperform extra checks on the results of alias analysisshare/opto/c2_globals.hpp
VerifyBeforeExitboolgctrueInDebugdiagnosticVerify system before exitingshare/gc/shared/gc_globals.hpp
VerifyBeforeGCboolgcfalsediagnosticVerify memory system before GCshare/gc/shared/gc_globals.hpp
VerifyBeforeIterationboolruntimefalsediagnosticVerify memory system before JVMTI iterationshare/runtime/globals.hpp
VerifyBlockOffsetArrayboolgcfalsedevelopDo (expensive) block offset array verificationshare/gc/shared/gc_globals.hpp
VerifyCodeCacheboolruntimefalsenotproductVerify code cache on memory allocation/deallocationshare/runtime/globals.hpp
VerifyCompiledCodeboolruntimefalsedevelopInclude miscellaneous runtime verifications in nmethod code; default off because it disturbs nmethod size heuristicsshare/runtime/globals.hpp
VerifyConnectionGraphboolc2truenotproductVerify Connection Graph construction in Escape Analysisshare/opto/c2_globals.hpp
VerifyDUIteratorsboolc2truenotproductVerify the safety of all iterations of Bi-directional Edgesshare/opto/c2_globals.hpp
VerifyDataPointerboolruntimetrueInDebugdevelopVerify the method data pointer during interpreter profilingshare/runtime/globals.hpp
VerifyDependenciesboolruntimetrueInDebugdevelopExercise and verify the compilation dependency mechanismshare/runtime/globals.hpp
VerifyDuringGCboolgcfalsediagnosticVerify memory system during GC (between phases)share/gc/shared/gc_globals.hpp
VerifyDuringStartupboolgcfalsediagnosticVerify memory system before executing any Java code during VM initializationshare/gc/shared/gc_globals.hpp
VerifyFPUboolruntimefalsedevelopVerify FPU state (check for NaN's, etc.)share/runtime/globals.hpp
VerifyGCLevelintxgc0
range(0, 1)
diagnosticGeneration level at which to start +VerifyBefore/AfterGCshare/gc/shared/gc_globals.hpp
VerifyGCStartAtuintxgc0
range(0, max_uintx)
diagnosticGC invoke count where +VerifyBefore/AfterGC kicks inshare/gc/shared/gc_globals.hpp
VerifyGCTypeccstrlistgcGC type(s) to verify when Verify*GC is enabled.Available types are collector specific.diagnosticshare/gc/shared/gc_globals.hpp
VerifyGraphEdgesboolc2falsenotproductVerify Bi-directional Edgesshare/opto/c2_globals.hpp
VerifyHashTableKeysboolc2truenotproductVerify the immutability of keys in the VN hash tablesshare/opto/c2_globals.hpp
VerifyIdealNodeCountboolc2falsenotproductVerify that tracked dead ideal node count is accurateshare/opto/c2_globals.hpp
VerifyInterpreterStackTopboolarmfalsedevelopVerify interpreter stack top at every stack expansion (AArch64 only)cpu/arm/globals_arm.hpp
VerifyIterativeGVNboolc2falsedevelopVerify Def-Use modifications during sparse Iterative Global Value Numberingshare/opto/c2_globals.hpp
VerifyJNIEnvThreadboolruntimefalsenotproductVerify JNIEnv.thread == Thread::current() when entering VM from JNIshare/runtime/globals.hpp
VerifyJNIFieldsboolruntimetrueInDebugdevelopVerify jfieldIDs for instance fieldsshare/runtime/globals.hpp
VerifyLastFrameboolruntimefalsenotproductVerify oops on last frame on entry to VMshare/runtime/globals.hpp
VerifyLoopOptimizationsboolc2falsenotproductverify major loop optimizationsshare/opto/c2_globals.hpp
VerifyMergedCPBytecodesboolruntimetrueproductVerify bytecodes after RedefineClasses constant pool mergingshare/runtime/globals.hpp
VerifyMetaspaceboolruntimefalsedevelopVerify metaspace on chunk movements.share/runtime/globals.hpp
VerifyMethodHandlesboolruntimetrueInDebugdiagnosticperform extra checks when constructing method handlesshare/runtime/globals.hpp
VerifyObjectStartArrayboolgctruediagnosticVerify GC object start array if verify before/aftershare/gc/shared/gc_globals.hpp
VerifyOopsboolruntimefalsedevelopDo plausibility checks for oopsshare/runtime/globals.hpp
VerifyOptoOopOffsetsboolc2falsenotproductCheck types of base addresses in field referencesshare/opto/c2_globals.hpp
VerifyOptoboolc2falsenotproductApply more time consuming verification during compilationshare/opto/c2_globals.hpp
VerifyRegisterAllocatorboolc2falsenotproductVerify Register Allocatorshare/opto/c2_globals.hpp
VerifyRememberedSetsboolgcfalsediagnosticVerify GC remembered setsshare/gc/shared/gc_globals.hpp
VerifySharedSpacesboolruntimefalseproductVerify shared spaces (false for default archive, true for archive specified by -XX:SharedArchiveFile)share/runtime/globals.hpp
VerifyStackAtCallsboolruntimefalsedevelopVerify that the stack pointer is unchanged after callsshare/runtime/globals.hpp
VerifyStackboolruntimefalsedevelopVerify stack of each thread when it is entering a runtime callshare/runtime/globals.hpp
VerifyStringTableAtExitboolruntimefalsediagnosticverify StringTable contents at exitshare/runtime/globals.hpp
VerifySubSetccstrlistgcMemory sub-systems to verify when Verify*GC flag(s) are enabled. One or more sub-systems can be specified in a comma separated string. Sub-systems are: threads, heap, symbol_table, string_table, codecache, dictionary, classloader_data_graph, metaspace, jni_handles, codecache_oopsdiagnosticshare/gc/shared/gc_globals.hpp
VerifyThreadboolruntimefalsedevelopWatch the thread register for corruption (SPARC only)share/runtime/globals.hpp
WalkStackALotboolruntimefalsenotproductTrace stack (no print) at every exit from the runtime systemshare/runtime/globals.hpp
WarmCallMaxSizeintxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developsize of the largest inlinable methodshare/opto/c2_globals.hpp
WarmCallMaxWorkintxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developexecution time of the largest inlinable methodshare/opto/c2_globals.hpp
WarmCallMinCountintxc2-1
range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developnumber of calls (per method invocation) to enable inliningshare/opto/c2_globals.hpp
WarmCallMinProfitintxc2-1
range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developnumber of calls (per method invocation) to enable inliningshare/opto/c2_globals.hpp
WarnOnStalledSpinLockuintxruntime0notproductPrint warnings for stalled SpinLocksshare/runtime/globals.hpp
WhiteBoxAPIboolruntimefalsediagnosticEnable internal testing APIsshare/runtime/globals.hpp
WizardModeboolruntimefalsedevelopPrint much more debugging informationshare/runtime/globals.hpp
WorkStealingHardSpinsuintxgc4096experimentalNumber of iterations in a spin loop between checks on time out of hard spinshare/gc/shared/gc_globals.hpp
WorkStealingSleepMillisuintxgc1experimentalSleep time when sleep is used for yieldsshare/gc/shared/gc_globals.hpp
WorkStealingSpinToYieldRatiouintxgc10experimentalRatio of hard spins to calls to yieldshare/gc/shared/gc_globals.hpp
WorkStealingYieldsBeforeSleepuintxgc5000experimentalNumber of yields before a sleep is done during work stealingshare/gc/shared/gc_globals.hpp
YoungGenerationSizeIncrementuintxgc20
range(0, 100)
productAdaptive size percentage change in young generationshare/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementDecayuintxgc8
range(1, max_uintx)
productDecay factor to YoungedGenerationSizeSupplementshare/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementuintxgc80
range(0, 100)
productSupplement to YoungedGenerationSizeIncrement used at startupshare/gc/shared/gc_globals.hpp
YoungPLABSizesize_tgc4096productSize of young gen promotion LAB's (in HeapWords)share/gc/shared/gc_globals.hpp
ZAllocationSpikeTolerancedoublegc2.0productAllocation spike tolerance factorshare/gc/z/z_globals.hpp
ZCollectionIntervaluintgc0productForce GC at a fixed time interval (in seconds)share/gc/z/z_globals.hpp
ZConcurrentJNIWeakGlobalHandlesboolgctruediagnosticClean JNI WeakGlobalRefs concurrentlyshare/gc/z/z_globals.hpp
ZConcurrentStringTableboolgctruediagnosticClean StringTable concurrentlyshare/gc/z/z_globals.hpp
ZConcurrentVMWeakHandlesboolgctruediagnosticClean VM WeakHandles concurrentlyshare/gc/z/z_globals.hpp
ZFragmentationLimitdoublegc25.0productMaximum allowed heap fragmentationshare/gc/z/z_globals.hpp
ZMarkStacksMaxsize_tgcNOT_LP64(512*M) LP64_ONLY(8*G)
range(32*M, NOT_LP64(512*M) LP64_ONLY(1024*G))
productMaximum number of bytes allocated for marking stacksshare/gc/z/z_globals.hpp
ZOptimizeLoadBarriersboolgctruediagnosticApply load barrier optimizationsshare/gc/z/z_globals.hpp
ZPathccstrgcNULLproductFilesystem path for Java heap backing storage (must be a tmpfs or a hugetlbfs filesystem)share/gc/z/z_globals.hpp
ZProactiveboolgctruediagnosticEnable proactive GC cyclesshare/gc/z/z_globals.hpp
ZStallOnOutOfMemoryboolgctrueproductAllow Java threads to stall and wait for GC to complete instead of immediately throwing an OutOfMemoryErrorshare/gc/z/z_globals.hpp
ZStatisticsForceTraceboolgcfalsediagnosticForce tracing of ZStatsshare/gc/z/z_globals.hpp
ZStatisticsIntervaluintgc10
range(1, (uint)-1)
productTime between statistics print outs (in seconds)share/gc/z/z_globals.hpp
ZSymbolTableUnloadingboolgcfalsediagnosticUnload unused VM symbolsshare/gc/z/z_globals.hpp
ZUnmapBadViewsboolgcfalsediagnosticUnmap bad (inactive) heap viewsshare/gc/z/z_globals.hpp
ZVerifyForwardingboolgcfalsediagnosticVerify forwarding tablesshare/gc/z/z_globals.hpp
ZVerifyLoadBarriersboolgcfalsedevelopVerify that reference loads are followed by barriersshare/gc/z/z_globals.hpp
ZVerifyMarkingboolgcfalsediagnosticVerify marking stacksshare/gc/z/z_globals.hpp
ZWeakRootsboolgctruediagnosticTreat JNI WeakGlobalRefs and StringTable as weak rootsshare/gc/z/z_globals.hpp
ZapEmptyStackFieldsbools390falsedevelopWrite 0x0101... to empty stack fields. Use this to ease stack debugging.cpu/s390/globals_s390.hpp
ZapFillerObjectsboolruntimetrueInDebugdevelopZap filler objects with 0xDEAFBABEshare/runtime/globals.hpp
ZapHighNonSignificantBitsboolarmfalsedevelopZap high non-significant bits of values (AArch64 only)cpu/arm/globals_arm.hpp
ZapMemoryboolppcfalseproductWrite 0x0101... to empty memory. Use this to ease debugging.cpu/ppc/globals_ppc.hpp
ZapResourceAreaboolruntimetrueInDebugdevelopZap freed resource/arena space with 0xABABABABshare/runtime/globals.hpp
ZapStackSegmentsboolruntimetrueInDebugnotproductZap allocated/freed stack segments with 0xFADFADEDshare/runtime/globals.hpp
ZapUnusedHeapAreaboolruntimetrueInDebugdevelopZap unused heap space with 0xBAADBABEshare/runtime/globals.hpp
ZapVMHandleAreaboolruntimetrueInDebugnotproductZap freed VM handle space with 0xBCBCBCBCshare/runtime/globals.hpp
ZeroTLABboolgcfalseproductZero out the newly created TLABshare/gc/shared/gc_globals.hpp
ZombieALotIntervalintxruntime5notproductNumber of exits until ZombieALot kicks inshare/runtime/globals.hpp
ZombieALotboolruntimefalsenotproductCreate zombies (non-entrant) at exit from the runtime systemshare/runtime/globals.hpp
batchdisable background compilationXusage.txt
bootclasspath/a<directories and zip/jar files separated by ;> append to end of bootstrap class pathXusage.txt
bootclasspath/p<directories and zip/jar files separated by ;> prepend in front of bootstrap class pathXusage.txt
bootclasspath<directories and zip/jar files separated by ;> set search path for bootstrap classes and resourcesXusage.txt
check:jniperform additional checks for JNI functionsXusage.txt
futureenable strictest checks, anticipating future defaultXusage.txt
hashCodeintxruntime5experimental(Unstable) select hashCode generation algorithmshare/runtime/globals.hpp
intinterpreted mode execution onlyXusage.txt
log<opts>control JVM logging, use -Xlog:help for detailsXusage.txt
mixedmixed mode execution (default)Xusage.txt
ms<size>set initial Java heap sizeXusage.txt
mx<size>set maximum Java heap sizeXusage.txt
noclassgcdisable class garbage collectionXusage.txt
rsreduce use of OS signals by Java/VM (see documentation)Xusage.txt
share:autouse shared class data if possible (default)Xusage.txt
share:offdo not attempt to use shared class dataXusage.txt
share:on
require using shared class data, otherwise fail.

The -X options are non-standard and subject to change without notice.
Xusage.txt
ss<size>set java thread stack sizeXusage.txt