VM Options Explorer - Corretto JDK8


NameSinceDeprecatedTypeOSCPUComponentDefaultAvailabilityDescriptionDefined in
SinceDeprecatedTypeOSCPUComponentAvailability
AbortVMOnCompilationFailureboolruntimeEMBEDDED_ONLY: falsediagnostic
Abort VM when method had failed to compile.
src/share/vm/runtime/globals.hpp
AbortVMOnExceptionMessageccstrruntimeNULLnotproduct
Call fatal if the exception pointed by AbortVMOnException 
has this message
src/share/vm/runtime/globals.hpp
AbortVMOnExceptionccstrruntimeNULLnotproduct
Call fatal if this exception is thrown. Example: 
java -XX:AbortVMOnException=java.lang.NullPointerException Foo
src/share/vm/runtime/globals.hpp
AbortVMOnSafepointTimeoutboolruntimefalsediagnostic
Abort upon failure to reach safepoint (see SafepointTimeout)
src/share/vm/runtime/globals.hpp
ActiveProcessorCountintxruntime-1product
Specify the CPU count the VM should use and report as active
src/share/vm/runtime/globals.hpp
AdaptiveSizeDecrementScaleFactoruintxruntime4product
Adaptive size scale down factor for shrinking
src/share/vm/runtime/globals.hpp
AdaptiveSizeMajorGCDecayTimeScaleuintxruntime10product
Time scale over which major costs decay
src/share/vm/runtime/globals.hpp
AdaptiveSizePausePolicyuintxruntime0product
Policy for changing generation size for pause goals
src/share/vm/runtime/globals.hpp
AdaptiveSizePolicyCollectionCostMarginObsoleted in JDK23
Expired in JDK24
uintxruntime50product
If collection costs are within margin, reduce both by full 
delta
src/share/vm/runtime/globals.hpp
AdaptiveSizePolicyGCTimeLimitThresholduintxruntime5develop
Number of consecutive collections before gc time limit fires
src/share/vm/runtime/globals.hpp
AdaptiveSizePolicyInitializingStepsuintxruntime20product
Number of steps where heuristics is used before data is used
src/share/vm/runtime/globals.hpp
AdaptiveSizePolicyOutputIntervaluintxruntime0product
Collection interval for printing information; zero means never
src/share/vm/runtime/globals.hpp
AdaptiveSizePolicyReadyThresholduintxruntime5develop
Number of collections before the adaptive sizing is started
src/share/vm/runtime/globals.hpp
AdaptiveSizePolicyWeightuintxruntime10product
Weight given to exponential resizing, between 0 and 100
src/share/vm/runtime/globals.hpp
AdaptiveSizeThroughPutPolicyuintxruntime0product
Policy for changing generation size for throughput goals
src/share/vm/runtime/globals.hpp
AdaptiveTimeWeightuintxruntime25product
Weight given to time in adaptive policy, between 0 and 100
src/share/vm/runtime/globals.hpp
AdjustConcurrencyboolruntimefalseproduct
Call thr_setconcurrency at thread creation time to avoid 
LWP starvation on MP systems (for Solaris Only)
src/share/vm/runtime/globals.hpp
AggressiveHeapboolruntimefalseproduct
Optimize heap options for long-running memory intensive apps
src/share/vm/runtime/globals.hpp
AggressiveOptsDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproduct
Enable aggressive optimizations - see arguments.cpp
src/share/vm/runtime/globals.hpp
AggressiveUnboxingboolc2falseexperimental
Control optimizations for aggressive boxing elimination
src/share/vm/opto/c2_globals.hpp
AliasLevelDeprecated in JDK19
Obsoleted in JDK20
Expired in JDK21
intxc23product
0 for no aliasing, 1 for oop/field/static/array split, 

2 for class split, 3 for unique instances
src/share/vm/opto/c2_globals.hpp
AlignVectorboolc2trueproduct
Perform vector store/load alignment in loop
src/share/vm/opto/c2_globals.hpp
AllocateInstancePrefetchLinesintxruntime1product
Number of lines to prefetch ahead of instance allocation 
pointer
src/share/vm/runtime/globals.hpp
AllocatePrefetchDistanceintxruntime-1product
Distance to prefetch ahead of allocation pointer
src/share/vm/runtime/globals.hpp
AllocatePrefetchInstrintxruntime0product
Prefetch instruction to prefetch ahead of allocation pointer
src/share/vm/runtime/globals.hpp
AllocatePrefetchLinesintxruntime3product
Number of lines to prefetch ahead of array allocation pointer
src/share/vm/runtime/globals.hpp
AllocatePrefetchStepSizeintxruntime16product
Step size in bytes of sequential prefetch instructions
src/share/vm/runtime/globals.hpp
AllocatePrefetchStyleintxruntime1product
0 = no prefetch, 

1 = prefetch instructions for each allocation, 

2 = use TLAB watermark to gate allocation prefetch, 

3 = use BIS instruction on Sparc for allocation prefetch
src/share/vm/runtime/globals.hpp
AllowJNIEnvProxyDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
Allow JNIEnv proxies for jdbx
src/share/vm/runtime/globals.hpp
AllowNonVirtualCallsDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimeEMBEDDED_ONLY: falseproduct
Obey the ACC_SUPER flag and allow invokenonvirtual calls
src/share/vm/runtime/globals.hpp
AllowParallelDefineClassboolruntimefalseproduct
Allow parallel defineClass requests for class loaders 
registering as parallel capable
src/share/vm/runtime/globals.hpp
AllowUserSignalHandlersboolruntimefalseproduct
Do not complain if the application installs signal handlers 
(Solaris & Linux only)
src/share/vm/runtime/globals.hpp
AlwaysActAsServerClassMachineboolruntimefalseproduct
Always act like a server-class machine
src/share/vm/runtime/globals.hpp
AlwaysCompileLoopMethodsboolruntimefalseproduct
When using recompilation, never interpret methods 
containing loops
src/share/vm/runtime/globals.hpp
AlwaysIncrementalInlineboolc2falsedevelop
do all inlining incrementally
src/share/vm/opto/c2_globals.hpp
AlwaysLockClassLoaderDeprecated in JDK17
Obsoleted in JDK18
Expired in JDK19
boolruntimefalseproduct
Require the VM to acquire the class loader lock before calling 
loadClass() even for class loaders registering 
as parallel capable
src/share/vm/runtime/globals.hpp
AlwaysPreTouchboolruntimefalseproduct
Force all freshly committed pages to be pre-touched
src/share/vm/runtime/globals.hpp
AlwaysRestoreFPUboolruntimefalseproduct
Restore the FPU control word after every JNI call (expensive)
src/share/vm/runtime/globals.hpp
AlwaysTenureboolruntimefalseproduct
Always tenure objects in eden (ParallelGC only)
src/share/vm/runtime/globals.hpp
ArrayAllocatorMallocLimituintxruntimeEMBEDDED_ONLY: SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx)experimental
Allocation less than this value will be allocated 
using malloc. Larger allocations will use mmap.
src/share/vm/runtime/globals.hpp
ArraycopyDstPrefetchDistanceuintxsparc0product
Distance to prefetch destination array in arracopy
src/cpu/sparc/vm/globals_sparc.hpp
ArraycopySrcPrefetchDistanceuintxsparc0product
Distance to prefetch source array in arracopy
src/cpu/sparc/vm/globals_sparc.hpp
AssertOnSuspendWaitFailureObsoleted in JDK17
Expired in JDK18
boolruntimefalseproduct
Assert/Guarantee on external suspend wait failure
src/share/vm/runtime/globals.hpp
AssertRangeCheckEliminationboolc1falsedevelop
Assert Range Check Elimination
src/share/vm/c1/c1_globals.hpp
AssertRepeatintxruntimeEMBEDDED_ONLY: 1notproduct
number of times to evaluate expression in assert 
(to estimate overhead); only works with -DUSE_REPEATED_ASSERTS
src/share/vm/runtime/globals.hpp
AssumeMPDeprecated in JDK10
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproduct
Instruct the VM to assume multiple processors are available
src/share/vm/runtime/globals.hpp
AttachListenerTimeoutintxaix1000define_pd_global
src/os/aix/vm/globals_aix.hpp
AutoBoxCacheMaxintxc2128product
Sets max value cached by the java.lang.Integer autobox cache
src/share/vm/opto/c2_globals.hpp
AutoGCSelectPauseMillisuintxruntime5000product
Automatic GC selection pause threshold in milliseconds
src/share/vm/runtime/globals.hpp
AvoidUnalignedAccessesboolaarch64falseproduct
Avoid generating unaligned memory accesses
src/cpu/aarch64/vm/globals_aarch64.hpp
BCEATraceLevelintxruntime0product
How much tracing to do of bytecode escape analysis estimates
src/share/vm/runtime/globals.hpp
BackEdgeThresholdintxaarch64c1100000define_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
BackEdgeThresholdintxaarch64c2100000define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
BackEdgeThresholdintxruntime0define_pd_global
src/share/vm/runtime/globals.hpp
BackEdgeThresholdintxruntimeproduct_pd
Interpreter Back edge threshold at which an OSR compilation is 
invoked
src/share/vm/runtime/globals.hpp
BackEdgeThresholdintxppcc2140000define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
BackEdgeThresholdintxsparcc1100000define_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
BackEdgeThresholdintxsparcc2140000define_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
BackEdgeThresholdintxx86c1100000define_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
BackEdgeThresholdintxx86c2100000define_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
BackEdgeThresholdintxzeroshark100000define_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
BackgroundCompilationboolaarch64c1truedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
BackgroundCompilationboolaarch64c2truedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
BackgroundCompilationboolruntimeproduct_pd
A thread requesting compilation is not blocked during 
compilation
src/share/vm/runtime/globals.hpp
BackgroundCompilationboolppcc2truedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
BackgroundCompilationboolsparcc1truedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
BackgroundCompilationboolsparcc2truedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
BackgroundCompilationboolx86c1truedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
BackgroundCompilationboolx86c2truedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
BackgroundCompilationboolzerosharktruedefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
BailoutAfterHIRboolc1falsedevelop
bailout of compilation after building of HIR
src/share/vm/c1/c1_globals.hpp
BailoutAfterLIRboolc1falsedevelop
bailout of compilation after building of LIR
src/share/vm/c1/c1_globals.hpp
BailoutOnExceptionHandlersboolc1falsedevelop
bailout of compilation for methods with exception handlers
src/share/vm/c1/c1_globals.hpp
BailoutToInterpreterForThrowsboolc2falsedevelop
Compiled methods which throws/catches exceptions will be 
deopt and intp.
src/share/vm/opto/c2_globals.hpp
BaseFootPrintEstimateuintxruntime256*Mproduct
Estimate of footprint other than Java Heap
src/share/vm/runtime/globals.hpp
BciProfileWidthintxruntimeEMBEDDED_ONLY: 2develop
Number of return bci's to record in ret profile
src/share/vm/runtime/globals.hpp
BiasedLockingBulkRebiasThresholdDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
intxruntime20product
Threshold of number of revocations per type to try to 
rebias all objects in the heap of that type
src/share/vm/runtime/globals.hpp
BiasedLockingBulkRevokeThresholdDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
intxruntime40product
Threshold of number of revocations per type to permanently 
revoke biases of all objects in the heap of that type
src/share/vm/runtime/globals.hpp
BiasedLockingDecayTimeDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
intxruntime25000product
Decay time (in milliseconds) to re-enable bulk rebiasing of a 
type after previous bulk rebias
src/share/vm/runtime/globals.hpp
BiasedLockingStartupDelayDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
intxruntime4000product
Number of milliseconds to wait before enabling biased locking
src/share/vm/runtime/globals.hpp
BinarySwitchThresholdintxruntimeEMBEDDED_ONLY: 5develop
Minimal number of lookupswitch entries for rewriting to binary 
switch
src/share/vm/runtime/globals.hpp
BindCMSThreadToCPUboolruntimefalsediagnostic
Bind CMS Thread to CPU if possible
src/share/vm/runtime/globals.hpp
BindGCTaskThreadsToCPUsObsoleted in JDK14
Expired in JDK16
boolruntimefalseproduct
Bind GCTaskThreads to CPUs if possible
src/share/vm/runtime/globals.hpp
BlockCopyLowLimitintxsparc2048product
Minimum size in bytes when block copy will be used
src/cpu/sparc/vm/globals_sparc.hpp
BlockLayoutByFrequencyboolc2trueproduct
Use edge frequencies to drive block ordering
src/share/vm/opto/c2_globals.hpp
BlockLayoutMinDiamondPercentageintxc220product
Miniumum %% of a successor (predecessor) for which block layout 
a will allow a fork (join) in a single chain
src/share/vm/opto/c2_globals.hpp
BlockLayoutRotateLoopsboolc2trueproduct
Allow back branches to be fall throughs in the block layour
src/share/vm/opto/c2_globals.hpp
BlockOffsetArrayUseUnallocatedBlockboolruntimefalsediagnostic
Maintain _unallocated_block in BlockOffsetArray 
(currently applicable only to CMS collector)
src/share/vm/runtime/globals.hpp
BlockZeroingLowLimitintxaarch64256product
Minimum size in bytes when block zeroing will be used
src/cpu/aarch64/vm/globals_aarch64.hpp
BlockZeroingLowLimitintxsparc2048product
Minimum size in bytes when block zeroing will be used
src/cpu/sparc/vm/globals_sparc.hpp
BranchOnRegisterObsoleted in JDK15
Expired in JDK16
boolc2falseproduct
Use Sparc V9 branch-on-register opcodes
src/share/vm/opto/c2_globals.hpp
BreakAtNodeintxc20notproduct
Break at construction of this Node (either _idx or _debug_idx)
src/share/vm/opto/c2_globals.hpp
BreakAtWarningboolruntimefalsedevelop
Execute breakpoint upon encountering VM warning
src/share/vm/runtime/globals.hpp
BytecodeVerificationLocalboolruntimefalseproduct
Enable the Java bytecode verifier for local classes
src/share/vm/runtime/globals.hpp
BytecodeVerificationRemoteboolruntimetrueproduct
Enable the Java bytecode verifier for remote classes
src/share/vm/runtime/globals.hpp
C1Breakpointboolc1falsedevelop
Sets a breakpoint at entry of each compiled method
src/share/vm/c1/c1_globals.hpp
C1OptimizeVirtualCallProfilingboolc1trueproduct
Use CHA and exact type results at call sites when updating MDOs
src/share/vm/c1/c1_globals.hpp
C1PatchInvokeDynamicboolc1truediagnostic
Patch invokedynamic appendix not known at compile time
src/share/vm/c1/c1_globals.hpp
C1ProfileBranchesboolc1trueproduct
Profile branches when generating code for updating MDOs
src/share/vm/c1/c1_globals.hpp
C1ProfileCallsboolc1trueproduct
Profile calls when generating code for updating MDOs
src/share/vm/c1/c1_globals.hpp
C1ProfileCheckcastsboolc1trueproduct
Profile checkcasts when generating code for updating MDOs
src/share/vm/c1/c1_globals.hpp
C1ProfileInlinedCallsboolc1trueproduct
Profile inlined calls when generating code for updating MDOs
src/share/vm/c1/c1_globals.hpp
C1ProfileVirtualCallsboolc1trueproduct
Profile virtual calls when generating code for updating MDOs
src/share/vm/c1/c1_globals.hpp
C1UpdateMethodDataboolc1trueInTieredproduct
Update MethodData*s in Tier1-generated code
src/share/vm/c1/c1_globals.hpp
CIBreakAtOSRintxruntimeEMBEDDED_ONLY: -1develop
The id of osr compilation to break at
src/share/vm/runtime/globals.hpp
CIBreakAtintxruntimeEMBEDDED_ONLY: -1develop
The id of compilation to break at
src/share/vm/runtime/globals.hpp
CICompileNativesboolruntimetruedevelop
compile native methods if supported by the compiler
src/share/vm/runtime/globals.hpp
CICompileOSRboolaarch64c1truedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
CICompileOSRboolaarch64c2truedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
CICompileOSRboolruntimedevelop_pd
compile on stack replacement methods if supported by the 
compiler
src/share/vm/runtime/globals.hpp
CICompileOSRboolppcc2truedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
CICompileOSRboolsparcc1truedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
CICompileOSRboolsparcc2truedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
CICompileOSRboolx86c1truedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
CICompileOSRboolx86c2truedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
CICompileOSRboolzerosharktruedefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
CICompilerCountPerCPUboolruntimeEMBEDDED_ONLY: falseproduct
1 compiler thread for log(N CPUs)
src/share/vm/runtime/globals.hpp
CICompilerCountintxruntimeCI_COMPILER_COUNTproduct
Number of compiler threads to run
src/share/vm/runtime/globals.hpp
CICountOSRboolruntimefalsedevelop
use a separate counter when assigning ids to osr compilations
src/share/vm/runtime/globals.hpp
CICrashAtintxruntimeEMBEDDED_ONLY: -1notproduct
id of compilation to trigger assert in compiler thread for 
the purpose of testing, e.g. generation of replay data
src/share/vm/runtime/globals.hpp
CIFireOOMAtintxruntimeEMBEDDED_ONLY: -1develop
Fire OutOfMemoryErrors throughout CI for testing the compiler 
(non-negative value throws OOM after this many CI accesses 
in each compile)
src/share/vm/runtime/globals.hpp
CIObjectFactoryVerifyboolruntimeEMBEDDED_ONLY: falsenotproduct
enable potentially expensive verification in ciObjectFactory
src/share/vm/runtime/globals.hpp
CIPrintCompileQueueboolruntimefalsedevelop
display the contents of the compile queue whenever a 
compilation is enqueued
src/share/vm/runtime/globals.hpp
CIPrintCompilerNameboolruntimefalsedevelop
when CIPrint is active, print the name of the active compiler
src/share/vm/runtime/globals.hpp
CIPrintMethodCodesboolruntimefalsedevelop
print method bytecodes of the compiled code
src/share/vm/runtime/globals.hpp
CIPrintRequestsboolruntimefalsedevelop
display every request for compilation
src/share/vm/runtime/globals.hpp
CIPrintTypeFlowboolruntimefalsedevelop
print the results of ciTypeFlow analysis
src/share/vm/runtime/globals.hpp
CIStartOSRintxruntimeEMBEDDED_ONLY: 0develop
The id of the first osr compilation to permit 
(CICountOSR must be on)
src/share/vm/runtime/globals.hpp
CIStartintxruntimeEMBEDDED_ONLY: 0develop
The id of the first compilation to permit
src/share/vm/runtime/globals.hpp
CIStopOSRintxruntimeEMBEDDED_ONLY: max_jintdevelop
The id of the last osr compilation to permit 
(CICountOSR must be on)
src/share/vm/runtime/globals.hpp
CIStopintxruntimeEMBEDDED_ONLY: max_jintdevelop
The id of the last compilation to permit
src/share/vm/runtime/globals.hpp
CITimeEachboolruntimefalsedevelop
display timing information after each successful compilation
src/share/vm/runtime/globals.hpp
CITimeboolruntimefalseproduct
collect timing information for compilation
src/share/vm/runtime/globals.hpp
CITraceTypeFlowboolruntimefalsedevelop
detailed per-bytecode tracing of ciTypeFlow analysis
src/share/vm/runtime/globals.hpp
CMSAbortSemanticsObsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
Whether abort-on-overflow semantics is implemented
src/share/vm/runtime/globals.hpp
CMSAbortablePrecleanMinWorkPerIterationObsoleted in JDK14
Expired in JDK15
uintxruntime100product
(Temporary, subject to experimentation) 
Nominal minimum work per abortable preclean iteration
src/share/vm/runtime/globals.hpp
CMSAbortablePrecleanWaitMillisintxruntime100manageable
(Temporary, subject to experimentation) 
Time that we sleep between iterations when not given 
enough work per iteration
src/share/vm/runtime/globals.hpp
CMSBitMapYieldQuantumObsoleted in JDK14
Expired in JDK15
uintxruntime10*Mproduct
Bitmap operations should process at most this many bits 
between yields
src/share/vm/runtime/globals.hpp
CMSBootstrapOccupancyObsoleted in JDK14
Expired in JDK15
uintxruntime50product
Percentage CMS generation occupancy at which to 
initiate CMS collection for bootstrapping collection stats
src/share/vm/runtime/globals.hpp
CMSCheckIntervaluintxruntime1000develop
Interval in milliseconds that CMS thread checks if it 
should start a collection cycle
src/share/vm/runtime/globals.hpp
CMSClassUnloadingEnabledObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Whether class unloading enabled when using CMS GC
src/share/vm/runtime/globals.hpp
CMSClassUnloadingMaxIntervalObsoleted in JDK14
Expired in JDK15
uintxruntime0product
When CMS class unloading is enabled, the maximum CMS cycle 
count for which classes may not be unloaded
src/share/vm/runtime/globals.hpp
CMSCleanOnEnterObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Clean-on-enter optimization for reducing number of dirty cards
src/share/vm/runtime/globals.hpp
CMSCompactWhenClearAllSoftRefsboolruntimetrueproduct
Compact when asked to collect CMS gen with 
clear_all_soft_refs()
src/share/vm/runtime/globals.hpp
CMSConcMarkMultipleObsoleted in JDK14
Expired in JDK15
uintxruntime32product
Size (in cards) of CMS concurrent MT marking task
src/share/vm/runtime/globals.hpp
CMSConcurrentMTEnabledObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Whether multi-threaded concurrent work enabled 
(effective only if ParNewGC)
src/share/vm/runtime/globals.hpp
CMSCoordinatorYieldSleepCountObsoleted in JDK14
Expired in JDK15
uintxruntime10product
Number of times the coordinator GC thread will sleep while 
yielding before giving up and resuming GC
src/share/vm/runtime/globals.hpp
CMSDictionaryChoiceintxruntime0develop
Use BinaryTreeDictionary as default in the CMS generation
src/share/vm/runtime/globals.hpp
CMSDumpAtPromotionFailureboolruntimefalseproduct
Dump useful information about the state of the CMS old 
generation upon a promotion failure
src/share/vm/runtime/globals.hpp
CMSEdenChunksRecordAlwaysObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Always record eden chunks used for the parallel initial mark 
or remark of eden
src/share/vm/runtime/globals.hpp
CMSExpAvgFactorObsoleted in JDK14
Expired in JDK15
uintxruntime50product
Percentage (0-100) used to weigh the current sample when 
computing exponential averages for CMS statistics
src/share/vm/runtime/globals.hpp
CMSExtrapolateSweepObsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
CMS: cushion for block demand during sweep
src/share/vm/runtime/globals.hpp
CMSFullGCsBeforeCompactionuintxruntime0product
Number of CMS full collection done before compaction if > 0
src/share/vm/runtime/globals.hpp
CMSIncrementalDutyCycleMinuintxruntime0product
Minimum percentage (0-100) of the CMS incremental duty cycle 
used when CMSIncrementalPacing is enabled
src/share/vm/runtime/globals.hpp
CMSIncrementalDutyCycleuintxruntime10product
Percentage (0-100) of CMS incremental mode duty cycle. If 
CMSIncrementalPacing is enabled, then this is just the initial 
value.
src/share/vm/runtime/globals.hpp
CMSIncrementalModeboolruntimefalseproduct
Whether CMS GC should operate in 'incremental' mode
src/share/vm/runtime/globals.hpp
CMSIncrementalOffsetuintxruntime0product
Percentage (0-100) by which the CMS incremental mode duty cycle 
is shifted to the right within the period between young GCs
src/share/vm/runtime/globals.hpp
CMSIncrementalPacingboolruntimetrueproduct
Whether the CMS incremental mode duty cycle should be 
automatically adjusted
src/share/vm/runtime/globals.hpp
CMSIncrementalSafetyFactorObsoleted in JDK14
Expired in JDK15
uintxruntime10product
Percentage (0-100) used to add conservatism when computing the 
duty cycle
src/share/vm/runtime/globals.hpp
CMSIndexedFreeListReplenishObsoleted in JDK14
Expired in JDK15
uintxruntime4product
Replenish an indexed free list with this number of chunks
src/share/vm/runtime/globals.hpp
CMSInitiatingOccupancyFractionObsoleted in JDK14
Expired in JDK15
intxruntime-1product
Percentage CMS generation occupancy to start a CMS collection 
cycle. A negative value means that CMSTriggerRatio is used
src/share/vm/runtime/globals.hpp
CMSIsTooFullPercentageObsoleted in JDK14
Expired in JDK15
uintxruntime98product
An absolute ceiling above which CMS will always consider the 
unloading of classes when class unloading is enabled
src/share/vm/runtime/globals.hpp
CMSLargeCoalSurplusPercentObsoleted in JDK14
Expired in JDK15
doubleruntime0.95product
CMS: the factor by which to inflate estimated demand of large 
block sizes to prevent coalescing with an adjoining block
src/share/vm/runtime/globals.hpp
CMSLargeSplitSurplusPercentObsoleted in JDK14
Expired in JDK15
doubleruntime1.00product
CMS: the factor by which to inflate estimated demand of large 
block sizes to prevent splitting to supply demand for smaller 
blocks
src/share/vm/runtime/globals.hpp
CMSLoopWarnObsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
Warn in case of excessive CMS looping
src/share/vm/runtime/globals.hpp
CMSMarkStackOverflowALotboolruntimefalsenotproduct
Simulate frequent marking stack / work queue overflow
src/share/vm/runtime/globals.hpp
CMSMarkStackOverflowIntervaluintxruntime1000notproduct
An 'interval' counter that determines how frequently 
to simulate overflow; a smaller number increases frequency
src/share/vm/runtime/globals.hpp
CMSMaxAbortablePrecleanLoopsObsoleted in JDK14
Expired in JDK15
uintxruntime0product
(Temporary, subject to experimentation) 
Maximum number of abortable preclean iterations, if > 0
src/share/vm/runtime/globals.hpp
CMSMaxAbortablePrecleanTimeObsoleted in JDK14
Expired in JDK15
intxruntime5000product
(Temporary, subject to experimentation) 
Maximum time in abortable preclean (in milliseconds)
src/share/vm/runtime/globals.hpp
CMSOldPLABMaxObsoleted in JDK14
Expired in JDK15
uintxruntime1024product
Maximum size of CMS gen promotion LAB caches per worker 
per block size
src/share/vm/runtime/globals.hpp
CMSOldPLABMinObsoleted in JDK14
Expired in JDK15
uintxruntime16product
Minimum size of CMS gen promotion LAB caches per worker 
per block size
src/share/vm/runtime/globals.hpp
CMSOldPLABNumRefillsObsoleted in JDK14
Expired in JDK15
uintxruntime4product
Nominal number of refills of CMS gen promotion LAB cache 
per worker per block size
src/share/vm/runtime/globals.hpp
CMSOldPLABReactivityFactorObsoleted in JDK14
Expired in JDK15
uintxruntime2product
The gain in the feedback loop for on-the-fly PLAB resizing 
during a scavenge
src/share/vm/runtime/globals.hpp
CMSOldPLABResizeQuickerObsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
React on-the-fly during a scavenge to a sudden 
change in block demand rate
src/share/vm/runtime/globals.hpp
CMSOldPLABToleranceFactorObsoleted in JDK14
Expired in JDK15
uintxruntime4product
The tolerance of the phase-change detector for on-the-fly 
PLAB resizing during a scavenge
src/share/vm/runtime/globals.hpp
CMSOverflowEarlyRestorationboolruntimefalsedevelop
Restore preserved marks early
src/share/vm/runtime/globals.hpp
CMSPLABRecordAlwaysObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Always record survivor space PLAB boundaries (effective only 
if CMSParallelSurvivorRemarkEnabled)
src/share/vm/runtime/globals.hpp
CMSParPromoteBlocksToClaimuintxruntime16product
Number of blocks to attempt to claim when refilling CMS LAB's 
for parallel GC
src/share/vm/runtime/globals.hpp
CMSParallelInitialMarkEnabledObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Use the parallel initial mark.
src/share/vm/runtime/globals.hpp
CMSParallelRemarkEnabledObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Whether parallel remark enabled (only if ParNewGC)
src/share/vm/runtime/globals.hpp
CMSParallelSurvivorRemarkEnabledObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Whether parallel remark of survivor space 
enabled (effective only if CMSParallelRemarkEnabled)
src/share/vm/runtime/globals.hpp
CMSPrecleanDenominatorObsoleted in JDK14
Expired in JDK15
uintxruntime3product
CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence 
ratio
src/share/vm/runtime/globals.hpp
CMSPrecleanIterObsoleted in JDK14
Expired in JDK15
uintxruntime3product
Maximum number of precleaning iteration passes
src/share/vm/runtime/globals.hpp
CMSPrecleanNumeratorObsoleted in JDK14
Expired in JDK15
uintxruntime2product
CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence 
ratio
src/share/vm/runtime/globals.hpp
CMSPrecleanRefLists1Obsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Preclean ref lists during (initial) preclean phase
src/share/vm/runtime/globals.hpp
CMSPrecleanRefLists2Obsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
Preclean ref lists during abortable preclean phase
src/share/vm/runtime/globals.hpp
CMSPrecleanSurvivors1Obsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
Preclean survivors during (initial) preclean phase
src/share/vm/runtime/globals.hpp
CMSPrecleanSurvivors2Obsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Preclean survivors during abortable preclean phase
src/share/vm/runtime/globals.hpp
CMSPrecleanThresholdObsoleted in JDK14
Expired in JDK15
uintxruntime1000product
Do not iterate again if number of dirty cards is less than this
src/share/vm/runtime/globals.hpp
CMSPrecleaningEnabledObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Whether concurrent precleaning enabled
src/share/vm/runtime/globals.hpp
CMSPrintChunksInDumpObsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
In a dump enabled by CMSDumpAtPromotionFailure, include 
more detailed information about the free chunks
src/share/vm/runtime/globals.hpp
CMSPrintEdenSurvivorChunksboolruntimefalseproduct
Print the eden and the survivor chunks used for the parallel 
initial mark or remark of the eden/survivor spaces
src/share/vm/runtime/globals.hpp
CMSPrintObjectsInDumpObsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
In a dump enabled by CMSDumpAtPromotionFailure, include 
more detailed information about the allocated objects
src/share/vm/runtime/globals.hpp
CMSRemarkVerifyVariantObsoleted in JDK14
Expired in JDK15
uintxruntime1product
Choose variant (1,2) of verification following remark
src/share/vm/runtime/globals.hpp
CMSReplenishIntermediateObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Replenish all intermediate free-list caches
src/share/vm/runtime/globals.hpp
CMSRescanMultipleObsoleted in JDK14
Expired in JDK15
uintxruntime32product
Size (in cards) of CMS parallel rescan task
src/share/vm/runtime/globals.hpp
CMSSamplingGrainObsoleted in JDK14
Expired in JDK15
uintxruntime16*Kproduct
The minimum distance between eden samples for CMS (see above)
src/share/vm/runtime/globals.hpp
CMSScavengeBeforeRemarkObsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
Attempt scavenge before the CMS remark step
src/share/vm/runtime/globals.hpp
CMSScheduleRemarkEdenPenetrationObsoleted in JDK14
Expired in JDK15
uintxruntime50product
The Eden occupancy percentage (0-100) at which 
to try and schedule remark pause
src/share/vm/runtime/globals.hpp
CMSScheduleRemarkEdenSizeThresholdObsoleted in JDK14
Expired in JDK15
uintxruntime2*Mproduct
If Eden size is below this, do not try to schedule remark
src/share/vm/runtime/globals.hpp
CMSScheduleRemarkSamplingRatioObsoleted in JDK14
Expired in JDK15
uintxruntime5product
Start sampling eden top at least before young gen 
occupancy reaches 1/ of the size at which 
we plan to schedule remark
src/share/vm/runtime/globals.hpp
CMSSmallCoalSurplusPercentObsoleted in JDK14
Expired in JDK15
doubleruntime1.05product
CMS: the factor by which to inflate estimated demand of small 
block sizes to prevent coalescing with an adjoining block
src/share/vm/runtime/globals.hpp
CMSSmallSplitSurplusPercentObsoleted in JDK14
Expired in JDK15
doubleruntime1.10product
CMS: the factor by which to inflate estimated demand of small 
block sizes to prevent splitting to supply demand for smaller 
blocks
src/share/vm/runtime/globals.hpp
CMSSplitIndexedFreeListBlocksObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
When satisfying batched demand, split blocks from the 
IndexedFreeList whose size is a multiple of requested size
src/share/vm/runtime/globals.hpp
CMSTestInFreeListboolruntimefalsedevelop
Check if the coalesced range is already in the 
free lists as claimed
src/share/vm/runtime/globals.hpp
CMSTraceIncrementalModeboolruntimefalsedevelop
Trace CMS incremental mode
src/share/vm/runtime/globals.hpp
CMSTraceIncrementalPacingboolruntimefalsedevelop
Trace CMS incremental mode pacing computation
src/share/vm/runtime/globals.hpp
CMSTraceSweeperboolruntimefalsedevelop
Trace some actions of the CMS sweeper
src/share/vm/runtime/globals.hpp
CMSTraceThreadStateboolruntimefalsedevelop
Trace the CMS thread state (enable the trace_state() method)
src/share/vm/runtime/globals.hpp
CMSTriggerIntervalintxruntime-1manageable
Commence a CMS collection cycle (at least) every so many 
milliseconds (0 permanently, -1 disabled)
src/share/vm/runtime/globals.hpp
CMSTriggerRatioObsoleted in JDK14
Expired in JDK15
uintxruntime80product
Percentage of MinHeapFreeRatio in CMS generation that is 
allocated before a CMS collection cycle commences
src/share/vm/runtime/globals.hpp
CMSVerifyReturnedBytesboolruntimefalsenotproduct
Check that all the garbage collected was returned to the 
free lists
src/share/vm/runtime/globals.hpp
CMSWaitDurationintxruntime2000manageable
Time in milliseconds that CMS thread waits for young GC
src/share/vm/runtime/globals.hpp
CMSWorkQueueDrainThresholdObsoleted in JDK14
Expired in JDK15
uintxruntime10product
Don't drain below this size per parallel worker/thief
src/share/vm/runtime/globals.hpp
CMSYieldSleepCountObsoleted in JDK14
Expired in JDK15
uintxruntime0product
Number of times a GC thread (minus the coordinator) 
will sleep while yielding before giving up and resuming GC
src/share/vm/runtime/globals.hpp
CMSYieldObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Yield between steps of CMS
src/share/vm/runtime/globals.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
uintxaarch6464*Mdefine_pd_global
// default max size of CMS young gen, per GC worker thread
src/cpu/aarch64/vm/globals_aarch64.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
uintxruntimeproduct_pd
The maximum size of young gen chosen by default per GC worker 
thread available
src/share/vm/runtime/globals.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
uintxppc16*Mdefine_pd_global
// Default max size of CMS young gen, per GC worker thread.
src/cpu/ppc/vm/globals_ppc.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
uintxsparc16*Mdefine_pd_global
// default max size of CMS young gen, per GC worker thread
src/cpu/sparc/vm/globals_sparc.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
uintxx8664*Mdefine_pd_global
// default max size of CMS young gen, per GC worker thread
src/cpu/x86/vm/globals_x86.hpp
CMSYoungGenPerWorkerObsoleted in JDK14
Expired in JDK15
uintxzero16*Mdefine_pd_global
// default max size of CMS young gen, per GC worker thread
src/cpu/zero/vm/globals_zero.hpp
CMS_FLSPaddingObsoleted in JDK14
Expired in JDK15
uintxruntime1product
The multiple of deviation from mean to use for buffering 
against volatility in free list demand
src/share/vm/runtime/globals.hpp
CMS_FLSWeightObsoleted in JDK14
Expired in JDK15
uintxruntime75product
Percentage (0-100) used to weigh the current sample when 
computing exponentially decaying averages for CMS FLS 
statistics
src/share/vm/runtime/globals.hpp
CMS_SweepPaddingObsoleted in JDK14
Expired in JDK15
uintxruntime1product
The multiple of deviation from mean to use for buffering 
against volatility in inter-sweep duration
src/share/vm/runtime/globals.hpp
CMS_SweepTimerThresholdMillisObsoleted in JDK14
Expired in JDK15
uintxruntime10product
Skip block flux-rate sampling for an epoch unless inter-sweep 
duration exceeds this threshold in milliseconds
src/share/vm/runtime/globals.hpp
CMS_SweepWeightObsoleted in JDK14
Expired in JDK15
uintxruntime75product
Percentage (0-100) used to weight the current sample when 
computing exponentially decaying average for inter-sweep 
duration
src/share/vm/runtime/globals.hpp
CPUForCMSThreaduintxruntime0diagnostic
When BindCMSThreadToCPU is true, the CPU to bind CMS thread to
src/share/vm/runtime/globals.hpp
CSEArrayLengthboolaarch64c1falsedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
CSEArrayLengthboolc1develop_pd
Create separate nodes for length in array accesses
src/share/vm/c1/c1_globals.hpp
CSEArrayLengthboolsparcc1truedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
CSEArrayLengthboolx86c1falsedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
CanonicalizeNodesboolc1truedevelop
Canonicalize graph nodes
src/share/vm/c1/c1_globals.hpp
CheckAssertionStatusDirectivesObsoleted in JDK11
Expired in JDK12
boolruntimefalsenotproduct
Temporary - see javaClasses.cpp
src/share/vm/runtime/globals.hpp
CheckCompressedOopsboolruntimetruenotproduct
Generate checks in encoding/decoding code in debug VM
src/share/vm/runtime/globals.hpp
CheckEndorsedAndExtDirsDeprecated in JDK10
Obsoleted in JDK11
Expired in JDK12
boolruntimefalseproduct
Verify the endorsed and extension directories are not used
src/share/vm/runtime/globals.hpp
CheckJNICallsboolruntimefalseproduct
Verify all arguments to JNI calls
src/share/vm/runtime/globals.hpp
CheckMemoryInitializationboolruntimefalsenotproduct
Check memory initialization
src/share/vm/runtime/globals.hpp
CheckOopishValuesboolruntimefalsenotproduct
Warn if value contains oop (requires ZapDeadLocals)
src/share/vm/runtime/globals.hpp
CheckUnhandledOopsboolruntimefalsedevelop
Check for unhandled oops in VM code
src/share/vm/runtime/globals.hpp
CheckZapUnusedHeapAreaboolruntimefalsedevelop
Check zapping of unused heap space
src/share/vm/runtime/globals.hpp
ClassUnloadingWithConcurrentMarkboolruntimetrueproduct
Do unloading of classes with a concurrent marking cycle
src/share/vm/runtime/globals.hpp
ClassUnloadingboolruntimetrueproduct
Do unloading of classes
src/share/vm/runtime/globals.hpp
CleanChunkPoolAsyncboolruntimefalseInEmbeddeddevelop
Clean the chunk pool asynchronously
src/share/vm/runtime/globals.hpp
ClearFPUAtParkintxruntime0product
(Unsafe, Unstable)
src/share/vm/runtime/globals.hpp
ClearInterpreterLocalsboolruntimefalsedevelop
Always clear local variables of interpreter activations upon 
entry
src/share/vm/runtime/globals.hpp
ClipInliningboolruntimetrueproduct
Clip inlining if aggregate method exceeds DesiredMethodLimit
src/share/vm/runtime/globals.hpp
CodeCacheExpansionSizeintxaarch64c132*Kdefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
CodeCacheExpansionSizeintxaarch64c264*Kdefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
CodeCacheExpansionSizeintxruntime32*Kdefine_pd_global
src/share/vm/runtime/globals.hpp
CodeCacheExpansionSizeuintxruntimeproduct_pd
Code cache expansion size (in bytes)
src/share/vm/runtime/globals.hpp
CodeCacheExpansionSizeintxppcc264*Kdefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
CodeCacheExpansionSizeintxsparcc132*Kdefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
CodeCacheExpansionSizeintxsparcc232*Kdefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
CodeCacheExpansionSizeintxx86c132*Kdefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
CodeCacheExpansionSizeintxx86c232*Kdefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
CodeCacheExpansionSizeintxzeroshark32*Kdefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
CodeCacheMinBlockLengthuintxaarch64c11define_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
CodeCacheMinBlockLengthuintxaarch64c24define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
CodeCacheMinBlockLengthintxruntime1define_pd_global
src/share/vm/runtime/globals.hpp
CodeCacheMinBlockLengthuintxruntimedevelop_pd
Minimum number of segments in a code cache block
src/share/vm/runtime/globals.hpp
CodeCacheMinBlockLengthuintxppcc24define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
CodeCacheMinBlockLengthuintxsparcc11define_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
CodeCacheMinBlockLengthuintxsparcc24define_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
CodeCacheMinBlockLengthuintxx86c11define_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
CodeCacheMinBlockLengthuintxx86c24define_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
CodeCacheMinBlockLengthuintxzeroshark1define_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
CodeCacheMinimumFreeSpaceuintxruntimeEMBEDDED_ONLY: 500*Kproduct
When less than X space left, we stop compiling
src/share/vm/runtime/globals.hpp
CodeCacheMinimumUseSpaceuintxaarch64c1400*Kdefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
CodeCacheMinimumUseSpaceuintxaarch64c2400*Kdefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
CodeCacheMinimumUseSpaceintxruntime200*Kdefine_pd_global
src/share/vm/runtime/globals.hpp
CodeCacheMinimumUseSpaceuintxruntimedevelop_pd
Minimum code cache size (in bytes) required to start VM.
src/share/vm/runtime/globals.hpp
CodeCacheMinimumUseSpaceuintxppcc2400*Kdefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
CodeCacheMinimumUseSpaceuintxsparcc1400*Kdefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
CodeCacheMinimumUseSpaceuintxsparcc2400*Kdefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
CodeCacheMinimumUseSpaceuintxx86c1400*Kdefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
CodeCacheMinimumUseSpaceuintxx86c2400*Kdefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
CodeCacheMinimumUseSpaceuintxzeroshark200*Kdefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
CodeCacheSegmentSizeuintxruntimeEMBEDDED_ONLY: 64 PPC64_ONLY(+64)develop
Code cache segment size (in bytes) - smallest unit of 
allocation
src/share/vm/runtime/globals.hpp
CodeEntryAlignmentintxaarch6464define_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
CodeEntryAlignmentintxruntimedevelop_pd
Code entry alignment for generated code (in bytes)
src/share/vm/runtime/globals.hpp
CodeEntryAlignmentintxppc128define_pd_global
src/cpu/ppc/vm/globals_ppc.hpp
CodeEntryAlignmentintxsparc32define_pd_global
src/cpu/sparc/vm/globals_sparc.hpp
CodeEntryAlignmentintxx8616define_pd_global
src/cpu/x86/vm/globals_x86.hpp
CodeEntryAlignmentintxzero32define_pd_global
src/cpu/zero/vm/globals_zero.hpp
CollectGen0Firstboolruntimefalseproduct
Collect youngest generation before each full GC
src/share/vm/runtime/globals.hpp
CollectIndexSetStatisticsboolruntimefalsenotproduct
Collect information about IndexSets
src/share/vm/runtime/globals.hpp
CommentedAssemblyboolc1trueInDebugdevelop
Show extra info in PrintNMethods output
src/share/vm/c1/c1_globals.hpp
CompactFieldsDeprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
boolruntimetrueproduct
Allocate nonstatic fields in gaps between previous fields
src/share/vm/runtime/globals.hpp
CompilationPolicyChoiceDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
intxruntime0product
which compilation policy (0/1)
src/share/vm/runtime/globals.hpp
CompileCommandFileccstrruntimeEMBEDDED_ONLY: NULLproduct
Read compiler commands from this file [.hotspot_compiler]
src/share/vm/runtime/globals.hpp
CompileCommandccstrlistruntimeEMBEDDED_ONLY:
product
Prepend to .hotspot_compiler; e.g. log,java/lang/String.
src/share/vm/runtime/globals.hpp
CompileOnlyccstrlistruntimeEMBEDDED_ONLY:
product
List of methods (pkg/class.name) to restrict compilation to
src/share/vm/runtime/globals.hpp
CompileTheWorldPreloadClassesboolruntimetruedevelop
Preload all classes used by a class before start loading
src/share/vm/runtime/globals.hpp
CompileTheWorldSafepointIntervalintxruntime100notproduct
Force a safepoint every n compiles so sweeper can keep up
src/share/vm/runtime/globals.hpp
CompileTheWorldStartAtintxruntimeEMBEDDED_ONLY: 1notproduct
First class to consider when using +CompileTheWorld
src/share/vm/runtime/globals.hpp
CompileTheWorldStopAtintxruntimeEMBEDDED_ONLY: max_jintnotproduct
Last class to consider when using +CompileTheWorld
src/share/vm/runtime/globals.hpp
CompileTheWorldboolruntimefalsedevelop
Compile all methods in all classes in bootstrap class path 
(stress test)
src/share/vm/runtime/globals.hpp
CompileThresholdintxaarch64c11500define_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
CompileThresholdintxaarch64c210000define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
CompileThresholdintxruntime0define_pd_global
src/share/vm/runtime/globals.hpp
CompileThresholdintxruntimeproduct_pd
number of interpreted method invocations before (re-)compiling
src/share/vm/runtime/globals.hpp
CompileThresholdintxppcc210000define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
CompileThresholdintxsparcc11000define_pd_global
// Design center runs on 1.3.1
src/cpu/sparc/vm/c1_globals_sparc.hpp
CompileThresholdintxsparcc210000define_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
CompileThresholdintxx86c11500define_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
CompileThresholdintxx86c210000define_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
CompileThresholdintxzeroshark1500define_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
CompileZapFirstintxc20notproduct
If +ZapDeadCompiledLocals, 
skip this many before compiling in zap calls
src/share/vm/opto/c2_globals.hpp
CompileZapLastintxc2-1notproduct
If +ZapDeadCompiledLocals, 
compile this many after skipping (incl. skip count, -1 = all)
src/share/vm/opto/c2_globals.hpp
CompilerThreadHintNoPreemptDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimeEMBEDDED_ONLY: trueproduct
(Solaris only) Give compiler threads an extra quanta
src/share/vm/runtime/globals.hpp
CompilerThreadPriorityintxruntimeEMBEDDED_ONLY: -1product
The native priority at which compiler threads should run 
(-1 means no change)
src/share/vm/runtime/globals.hpp
CompilerThreadStackSizeintxaixppc4096define_pd_global
src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp
CompilerThreadStackSizeintxbsdaarch642048define_pd_global
src/os_cpu/bsd_aarch64/vm/globals_bsd_aarch64.hpp
CompilerThreadStackSizeintxbsdx860define_pd_global
src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp
CompilerThreadStackSizeintxbsdzero0define_pd_global
src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp
CompilerThreadStackSizeintxlinuxaarch640define_pd_global
src/os_cpu/linux_aarch64/vm/globals_linux_aarch64.hpp
CompilerThreadStackSizeintxlinuxppc4096define_pd_global
src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp
CompilerThreadStackSizeintxlinuxsparc0define_pd_global
src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp
CompilerThreadStackSizeintxlinuxx860define_pd_global
src/os_cpu/linux_x86/vm/globals_linux_x86.hpp
CompilerThreadStackSizeintxlinuxzero0define_pd_global
src/os_cpu/linux_zero/vm/globals_linux_zero.hpp
CompilerThreadStackSizeintxruntimeproduct_pd
Compiler Thread Stack Size (in Kbytes)
src/share/vm/runtime/globals.hpp
CompilerThreadStackSizeintxsolarissparc0define_pd_global
src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp
CompilerThreadStackSizeintxsolarisx860define_pd_global
src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp
CompilerThreadStackSizeintxwindowsx860define_pd_global
src/os_cpu/windows_x86/vm/globals_windows_x86.hpp
CompressedClassSpaceSizeuintxruntimeEMBEDDED_ONLY: 1*Gproduct
Maximum size of class area in Metaspace when compressed 
class pointers are used
src/share/vm/runtime/globals.hpp
ComputeExactFPURegisterUsageboolc1truedevelop
Compute additional live set for fpu registers to simplify fpu stack merge (Intel only)
src/share/vm/c1/c1_globals.hpp
ConcGCThreadsuintxruntime0product
Number of threads concurrent gc will use
src/share/vm/runtime/globals.hpp
ConcGCYieldTimeoutintxruntime0develop
If non-zero, assert that GC threads yield within this 
number of milliseconds
src/share/vm/runtime/globals.hpp
ConditionalMoveLimitintxaarch64c23define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
ConditionalMoveLimitintxc2product_pd
Limit of ops to make speculative when using CMOVE
src/share/vm/opto/c2_globals.hpp
ConditionalMoveLimitintxppcc23define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
ConditionalMoveLimitintxsparcc24define_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
ConditionalMoveLimitintxx86c23define_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
ContendedPaddingWidthintxruntime128product
How many bytes to pad the fields/classes marked @Contended with
src/share/vm/runtime/globals.hpp
ConvertCmpD2CmpFboolc2truedevelop
Convert cmpD to cmpF when one input is constant in float range
src/share/vm/opto/c2_globals.hpp
ConvertFloat2IntClippingboolc2truedevelop
Convert float2int clipping idiom to integer clipping
src/share/vm/opto/c2_globals.hpp
ConvertSleepToYieldDeprecated in JDK9
Obsoleted in JDK10
Expired in JDK11
boolaarch64truedefine_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
ConvertSleepToYieldDeprecated in JDK9
Obsoleted in JDK10
Expired in JDK11
boolruntimeproduct_pd
Convert sleep(0) to thread yield 
(may be off for Solaris to improve GUI)
src/share/vm/runtime/globals.hpp
ConvertSleepToYieldDeprecated in JDK9
Obsoleted in JDK10
Expired in JDK11
boolppctruedefine_pd_global
src/cpu/ppc/vm/globals_ppc.hpp
ConvertSleepToYieldDeprecated in JDK9
Obsoleted in JDK10
Expired in JDK11
boolsparcfalsedefine_pd_global
// do not convert sleep(0) to yield. Helps GUI
src/cpu/sparc/vm/globals_sparc.hpp
ConvertSleepToYieldDeprecated in JDK9
Obsoleted in JDK10
Expired in JDK11
boolx86truedefine_pd_global
src/cpu/x86/vm/globals_x86.hpp
ConvertSleepToYieldDeprecated in JDK9
Obsoleted in JDK10
Expired in JDK11
boolzerotruedefine_pd_global
src/cpu/zero/vm/globals_zero.hpp
ConvertYieldToSleepDeprecated in JDK9
Obsoleted in JDK10
Expired in JDK11
boolruntimefalseproduct
Convert yield to a sleep of MinSleepInterval to simulate Win32 
behavior (Solaris only)
src/share/vm/runtime/globals.hpp
CountBytecodesboolruntimefalsedevelop
Count number of bytecodes executed
src/share/vm/runtime/globals.hpp
CountCompiledCallsboolruntimefalsedevelop
Count method invocations
src/share/vm/runtime/globals.hpp
CountInterpCallsboolaarch64truedefine_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
CountInterpCallsboolsparcfalsedefine_pd_global
// not implemented in the interpreter
src/cpu/sparc/vm/globals_sparc.hpp
CountInterpCallsboolx86truedefine_pd_global
src/cpu/x86/vm/globals_x86.hpp
CountInterpCallsboolzerotruedefine_pd_global
src/cpu/zero/vm/globals_zero.hpp
CountJNICallsboolruntimefalsedevelop
Count jni method invocations
src/share/vm/runtime/globals.hpp
CountJVMCallsboolruntimefalsenotproduct
Count jvm method invocations
src/share/vm/runtime/globals.hpp
CountLinearScanboolc1falsedevelop
collect statistic counters during LinearScan
src/share/vm/c1/c1_globals.hpp
CountRemovableExceptionsboolruntimefalsenotproduct
Count exceptions that could be replaced by branches due to 
inlining
src/share/vm/runtime/globals.hpp
CountRuntimeCallsboolruntimefalsenotproduct
Count VM runtime calls
src/share/vm/runtime/globals.hpp
CounterDecayMinIntervalLengthintxruntime500develop
The minimum interval (in milliseconds) between invocation of 
CounterDecay
src/share/vm/runtime/globals.hpp
CounterHalfLifeTimeintxruntime30develop
Half-life time of invocation counters (in seconds)
src/share/vm/runtime/globals.hpp
CrashGCForDumpingJavaThreadboolruntimefalsenotproduct
Manually make GC thread crash then dump java stack trace; 
Test only
src/share/vm/runtime/globals.hpp
CrashOnOutOfMemoryErrorboolruntimefalseproduct
JVM aborts, producing an error log and core/mini dump, on the 
first occurrence of an out-of-memory error
src/share/vm/runtime/globals.hpp
CreateMinidumpOnCrashDeprecated in JDK9boolruntimefalseproduct
Create minidump on VM fatal error
src/share/vm/runtime/globals.hpp
CriticalJNINativesDeprecated in JDK16
Obsoleted in JDK18
Expired in JDK19
boolruntimetrueproduct
Check for critical JNI entry points
src/share/vm/runtime/globals.hpp
DSCR_DPFD_PPC64uint64_tppc8product
Power8 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 touch
src/cpu/ppc/vm/globals_ppc.hpp
DSCR_PPC64uint64_tppc(uintx)-1product
Power8 or later: Specify encoded value for Data Stream Control 
Register
src/cpu/ppc/vm/globals_ppc.hpp
DSCR_URG_PPC64uint64_tppc8product
Power8 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 touch
src/cpu/ppc/vm/globals_ppc.hpp
DTraceAllocProbesboolruntimeEMBEDDED_ONLY: falseproduct
Enable dtrace probes for object allocation
src/share/vm/runtime/globals.hpp
DTraceMethodProbesboolruntimeEMBEDDED_ONLY: falseproduct
Enable dtrace probes for method-entry and method-exit
src/share/vm/runtime/globals.hpp
DTraceMonitorProbesboolruntimeEMBEDDED_ONLY: falseproduct
Enable dtrace probes for monitor events
src/share/vm/runtime/globals.hpp
DebugDeoptimizationboolruntimefalsedevelop
Tracing various information while debugging deoptimization
src/share/vm/runtime/globals.hpp
DebugInlinedCallsboolc2truediagnostic
If false, restricts profiled locations to the root method only
src/share/vm/opto/c2_globals.hpp
DebugNonSafepointsboolruntimetrueInDebugdiagnostic
Generate extra debugging information for non-safepoints in 
nmethods
src/share/vm/runtime/globals.hpp
DebugVtablesboolruntimefalsedevelop
add debugging code to vtable dispatch
src/share/vm/runtime/globals.hpp
DebuggingObsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Set when executing debug methods in debug.cpp 
(to prevent triggering assertions)
src/share/vm/runtime/globals.hpp
DefaultMaxRAMFractionDeprecated in JDK8
Obsoleted in JDK23
Expired in JDK24
uintxruntime4product
Maximum fraction (1/n) of real memory used for maximum heap 
size; deprecated: to be renamed to MaxRAMFraction
src/share/vm/runtime/globals.hpp
DefaultThreadPriorityintxruntimeEMBEDDED_ONLY: -1product
The native priority at which threads run if not elsewhere 
specified (-1 means no change)
src/share/vm/runtime/globals.hpp
DeferInitialCardMarkboolruntimefalsediagnostic
When +ReduceInitialCardMarks, explicitly defer any that 
may arise from new_pre_store_barrier
src/share/vm/runtime/globals.hpp
DeferPollingPageLoopCountDeprecated in JDK10
Obsoleted in JDK11
Expired in JDK12
intxruntimeEMBEDDED_ONLY: -1product
(Unsafe,Unstable) Number of iterations in safepoint loop 
before changing safepoint polling page to RO
src/share/vm/runtime/globals.hpp
DeferThrSuspendLoopCountDeprecated in JDK10
Obsoleted in JDK11
Expired in JDK12
intxruntimeEMBEDDED_ONLY: 4000product
(Unstable) Number of times to iterate in safepoint loop 
before blocking VM threads
src/share/vm/runtime/globals.hpp
DelayCompilationDuringStartupboolruntimetruedevelop
Delay invoking the compiler until main application class is 
loaded
src/share/vm/runtime/globals.hpp
DeoptC1boolc1truedevelop
Use deoptimization in C1
src/share/vm/c1/c1_globals.hpp
DeoptimizeALotIntervalintxruntimeEMBEDDED_ONLY: 5notproduct
Number of exits until DeoptimizeALot kicks in
src/share/vm/runtime/globals.hpp
DeoptimizeALotboolruntimefalsedevelop
Deoptimize at every exit from the runtime system
src/share/vm/runtime/globals.hpp
DeoptimizeOnlyAtccstrlistruntime
notproduct
A comma separated list of bcis to deoptimize at
src/share/vm/runtime/globals.hpp
DeoptimizeRandomboolruntimefalseproduct
Deoptimize random frames on random exit from the runtime system
src/share/vm/runtime/globals.hpp
DesiredMethodLimitintxruntimeEMBEDDED_ONLY: 8000develop
The desired maximum method size (in bytecodes) after inlining
src/share/vm/runtime/globals.hpp
DisableAttachMechanismboolruntimeEMBEDDED_ONLY: falseproduct
Disable mechanism that allows tools to attach to this VM
src/share/vm/runtime/globals.hpp
DisableExplicitGCboolruntimefalseproduct
Ignore calls to System.gc()
src/share/vm/runtime/globals.hpp
DisableIntrinsicccstrlistc2
diagnostic
do not expand intrinsics whose (internal) names appear here
src/share/vm/opto/c2_globals.hpp
DisablePrimordialThreadGuardPagesboolruntimefalseexperimental
Disable the use of stack guard pages if the JVM is loaded 
on the primordial process thread
src/share/vm/runtime/globals.hpp
DisableStartThreadboolruntimefalsedevelop
Disable starting of additional Java threads 
(for debugging only)
src/share/vm/runtime/globals.hpp
DisplayVMOutputToStderrboolruntimefalseproduct
If DisplayVMOutput is true, display all VM output to stderr
src/share/vm/runtime/globals.hpp
DisplayVMOutputToStdoutboolruntimefalseproduct
If DisplayVMOutput is true, display all VM output to stdout
src/share/vm/runtime/globals.hpp
DisplayVMOutputboolruntimetruediagnostic
Display all VM output on the tty, independently of LogVMOutput
src/share/vm/runtime/globals.hpp
DoCEEboolc1truedevelop
Do Conditional Expression Elimination to simplify CFG
src/share/vm/c1/c1_globals.hpp
DoEscapeAnalysisboolc2trueproduct
Perform escape analysis
src/share/vm/opto/c2_globals.hpp
DominatorSearchLimitintxc21000diagnostic
Iterations limit in Node::dominates
src/share/vm/opto/c2_globals.hpp
DontCompileHugeMethodsboolruntimetrueproduct
Do not compile methods > HugeMethodLimit
src/share/vm/runtime/globals.hpp
DontYieldALotIntervalintxruntimeEMBEDDED_ONLY: 10develop
Interval between which yields will be dropped (milliseconds)
src/share/vm/runtime/globals.hpp
DontYieldALotboolaixppcfalsedefine_pd_global
src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp
DontYieldALotboolbsdaarch64falsedefine_pd_global
src/os_cpu/bsd_aarch64/vm/globals_bsd_aarch64.hpp
DontYieldALotboolbsdx86falsedefine_pd_global
src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp
DontYieldALotboolbsdzerofalsedefine_pd_global
src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp
DontYieldALotboollinuxaarch64falsedefine_pd_global
src/os_cpu/linux_aarch64/vm/globals_linux_aarch64.hpp
DontYieldALotboollinuxppcfalsedefine_pd_global
src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp
DontYieldALotboollinuxx86falsedefine_pd_global
src/os_cpu/linux_x86/vm/globals_linux_x86.hpp
DontYieldALotboollinuxzerofalsedefine_pd_global
src/os_cpu/linux_zero/vm/globals_linux_zero.hpp
DontYieldALotboolruntimeproduct_pd
Throw away obvious excess yield calls (for Solaris only)
src/share/vm/runtime/globals.hpp
DontYieldALotboolsparctruedefine_pd_global
// yield no more than 100 times per second
src/cpu/sparc/vm/globals_sparc.hpp
DontYieldALotboolsolarisx86truedefine_pd_global
// Determined in the design center
src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp
DontYieldALotboolwindowsx86falsedefine_pd_global
src/os_cpu/windows_x86/vm/globals_windows_x86.hpp
DumpLoadedClassListccstrruntimeEMBEDDED_ONLY: NULLproduct
Dump the names all loaded classes, that could be stored into 
the CDS archive, in the specified file
src/share/vm/runtime/globals.hpp
DumpReplayDataOnErrorboolruntimeEMBEDDED_ONLY: trueproduct
Record replay data for crashing compiler threads
src/share/vm/runtime/globals.hpp
DumpSharedSpacesDeprecated in JDK18
Obsoleted in JDK19
boolruntimeEMBEDDED_ONLY: falseproduct
Special 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 runs
src/share/vm/runtime/globals.hpp
EagerInitializationboolruntimefalsedevelop
Eagerly initialize classes if possible
src/share/vm/runtime/globals.hpp
EagerXrunInitboolruntimefalseproduct
Eagerly initialize -Xrun libraries; allows startup profiling, 
but not all -Xrun libraries may support the state of the VM 
at this time
src/share/vm/runtime/globals.hpp
EliminateAllocationArraySizeLimitintxc264product
Array size (number of elements) limit for scalar replacement
src/share/vm/opto/c2_globals.hpp
EliminateAllocationsboolc2trueproduct
Use escape analysis to eliminate allocations
src/share/vm/opto/c2_globals.hpp
EliminateAutoBoxboolc2trueproduct
Control optimizations for autobox elimination
src/share/vm/opto/c2_globals.hpp
EliminateBlocksboolc1truedevelop
Eliminate unneccessary basic blocks
src/share/vm/c1/c1_globals.hpp
EliminateFieldAccessboolc1truedevelop
Optimize field loads and stores
src/share/vm/c1/c1_globals.hpp
EliminateLocksboolc2trueproduct
Coarsen locks when possible
src/share/vm/opto/c2_globals.hpp
EliminateNestedLocksboolc2trueproduct
Eliminate nested locks of the same object when possible
src/share/vm/opto/c2_globals.hpp
EliminateNestedLocksboolsharktrueproduct
Eliminate nested locks of the same object when possible
src/share/vm/shark/shark_globals.hpp
EliminateNullChecksboolc1truedevelop
Eliminate unneccessary null checks
src/share/vm/c1/c1_globals.hpp
EmitSyncObsoleted in JDK12
Expired in JDK13
intxruntime0product
(Unsafe, Unstable) 
Control emission of inline sync fast-path code
src/share/vm/runtime/globals.hpp
EnableContendedboolruntimetrueproduct
Enable @Contended annotation support
src/share/vm/runtime/globals.hpp
EnableInvokeDynamicboolruntimeEMBEDDED_ONLY: truediagnostic
support JSR 292 (method handles, invokedynamic, 
anonymous classes
src/share/vm/runtime/globals.hpp
EnableTracingObsoleted in JDK11
Expired in JDK12
boolruntimeEMBEDDED_ONLY: falseproduct
Enable event-based tracing
Deprecated: use FlightRecorder instead
src/share/vm/runtime/globals.hpp
ErgoHeapSizeLimituintxruntime0product
Maximum ergonomically set heap size (in bytes); zero means use 
MaxRAM * MaxRAMPercentage / 100
src/share/vm/runtime/globals.hpp
ErrorFileToStderrboolruntimefalseproduct
If true, error data is printed to stderr instead of a file
src/share/vm/runtime/globals.hpp
ErrorFileToStdoutboolruntimefalseproduct
If true, error data is printed to stdout instead of a file
src/share/vm/runtime/globals.hpp
ErrorFileccstrruntimeNULLproduct
If an error occurs, save the error data to this file 
[default: ./hs_err_pid%p.log] (%p replaced with pid)
src/share/vm/runtime/globals.hpp
ErrorHandlerTestuintxruntime0notproduct
If > 0, provokes an error after VM initialization; the value 
determines which error to provoke. See test_error_handler() 
in debug.cpp.
src/share/vm/runtime/globals.hpp
ErrorReportServerObsoleted in JDK12
Expired in JDK13
ccstrruntimeEMBEDDED_ONLY: NULLproduct
Override built-in error report server address
src/share/vm/runtime/globals.hpp
EscapeAnalysisTimeoutdoublec220. DEBUG_ONLY(+40.)product
Abort EA when it reaches time limit (in sec)
src/share/vm/opto/c2_globals.hpp
EstimateArgEscapeboolruntimetrueproduct
Analyze bytecodes to estimate escape state of arguments
src/share/vm/runtime/globals.hpp
ExecuteInternalVMTestsboolruntimefalsenotproduct
Enable execution of internal VM tests
src/share/vm/runtime/globals.hpp
ExitEscapeAnalysisOnTimeoutboolc2truedevelop
Exit or throw assert in EA when it reaches time limit
src/share/vm/opto/c2_globals.hpp
ExitOnFullCodeCacheboolruntimeEMBEDDED_ONLY: falsenotproduct
Exit the VM if we fill the code cache
src/share/vm/runtime/globals.hpp
ExitOnOutOfMemoryErrorboolruntimefalseproduct
JVM exits on the first occurrence of an out-of-memory error
src/share/vm/runtime/globals.hpp
ExitVMOnVerifyErrorboolruntimefalsenotproduct
standard exit from VM if bytecode verify error 
(only in debug mode)
src/share/vm/runtime/globals.hpp
ExplicitGCInvokesConcurrentAndUnloadsClassesboolruntimefalseproduct
A System.gc() request invokes a concurrent collection and 
also unloads classes during such a concurrent gc cycle 
(effective only when UseConcMarkSweepGC)
src/share/vm/runtime/globals.hpp
ExplicitGCInvokesConcurrentboolruntimefalseproduct
A System.gc() request invokes a concurrent collection; 
(effective only when UseConcMarkSweepGC)
src/share/vm/runtime/globals.hpp
ExtendedDTraceProbesDeprecated in JDK19
Obsoleted in JDK20
Expired in JDK21
boolruntimeEMBEDDED_ONLY: falseproduct
Enable performance-impacting dtrace probes
src/share/vm/runtime/globals.hpp
ExtraSharedClassListFileccstrruntimeEMBEDDED_ONLY: NULLproduct
Extra classlist for building the CDS archive file
src/share/vm/runtime/globals.hpp
FLOATPRESSUREintxaarch64c264define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
FLOATPRESSUREintxc2develop_pd
Number of float LRG's that constitute high register pressure
src/share/vm/opto/c2_globals.hpp
FLOATPRESSUREintxppcc228define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
FLOATPRESSUREintxsparcc252define_pd_global
// C2 on V9 gets to use all the float/double registers
src/cpu/sparc/vm/c2_globals_sparc.hpp
FLOATPRESSUREintxx86c26define_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
FLSAlwaysCoalesceLargeObsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
CMS: larger free blocks are always available for coalescing
src/share/vm/runtime/globals.hpp
FLSCoalescePolicyObsoleted in JDK14
Expired in JDK15
uintxruntime2product
CMS: aggressiveness level for coalescing, increasing 
from 0 to 4
src/share/vm/runtime/globals.hpp
FLSLargestBlockCoalesceProximityObsoleted in JDK14
Expired in JDK15
doubleruntime0.99product
CMS: the smaller the percentage the greater the coalescing 
force
src/share/vm/runtime/globals.hpp
FLSVerifyAllHeapReferencesboolruntimefalsediagnostic
Verify that all references across the FLS boundary 
are to valid objects
src/share/vm/runtime/globals.hpp
FLSVerifyDictionaryboolruntimefalsedevelop
Do lots of (expensive) FLS dictionary verification
src/share/vm/runtime/globals.hpp
FLSVerifyIndexTableboolruntimefalsediagnostic
Do lots of (expensive) FLS index table verification
src/share/vm/runtime/globals.hpp
FLSVerifyListsboolruntimefalsediagnostic
Do lots of (expensive) FreeListSpace verification
src/share/vm/runtime/globals.hpp
FailOverToOldVerifierObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Fail over to old verifier when split verifier fails
src/share/vm/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 slow
src/share/vm/runtime/globals.hpp
FastSuperclassLimitintxruntimeEMBEDDED_ONLY: 8develop
Depth of hardwired instanceof accelerator array
src/share/vm/runtime/globals.hpp
FastTLABRefillDeprecated in JDK10
Obsoleted in JDK11
Expired in JDK12
boolruntimetrueproduct
Use fast TLAB refill code
src/share/vm/runtime/globals.hpp
FenceInstructionintxx860product
(Unsafe,Unstable) Experimental
src/cpu/x86/vm/globals_x86.hpp
FieldsAllocationStyleDeprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
intxruntime1product
0 - type based with oops first, 1 - with oops last, 

2 - oops in super and sub classes are together
src/share/vm/runtime/globals.hpp
FillDelaySlotsboolruntimetruedevelop
Fill delay slots (on SPARC only)
src/share/vm/runtime/globals.hpp
FilterSpuriousWakeupsDeprecated in JDK18
Obsoleted in JDK19
Expired in JDK20
boolruntimetrueproduct
Prevent spurious or premature wakeups from object.wait 
(Solaris only)
src/share/vm/runtime/globals.hpp
FlightRecorderOptionsccstrruntimeEMBEDDED_ONLY: NULLproduct
Flight Recorder options
src/share/vm/runtime/globals.hpp
FlightRecorderDeprecated in JDK13boolruntimeEMBEDDED_ONLY: falseproduct
Enable Flight Recorder
src/share/vm/runtime/globals.hpp
FoldStableValuesboolruntimeEMBEDDED_ONLY: truediagnostic
Optimize loads from stable fields (marked w/ @Stable)
src/share/vm/runtime/globals.hpp
ForceDynamicNumberOfGCThreadsboolruntimefalsediagnostic
Force dynamic selection of the number of 
parallel threads parallel gc will use to aid debugging
src/share/vm/runtime/globals.hpp
ForceFloatExceptionsboolruntimetrueInDebugdevelop
Force exceptions on FP stack under/overflow
src/share/vm/runtime/globals.hpp
ForceNUMADeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Force NUMA optimizations on single-node/UMA systems
src/share/vm/runtime/globals.hpp
ForceTimeHighResolutionboolruntimefalseproduct
Using high time resolution (for Win32 only)
src/share/vm/runtime/globals.hpp
ForceUnreachableboolruntimefalsediagnostic
Make all non code cache addresses to be unreachable by 
forcing use of 64bit literal fixups
src/share/vm/runtime/globals.hpp
FreqCountInvocationsintxc21develop
Scaling factor for branch frequencies (deprecated)
src/share/vm/opto/c2_globals.hpp
FreqInlineSizeintxaarch64c1325define_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
FreqInlineSizeintxaarch64c2325define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
FreqInlineSizeintxruntime0define_pd_global
src/share/vm/runtime/globals.hpp
FreqInlineSizeintxruntimeproduct_pd
The maximum bytecode size of a frequent method to be inlined
src/share/vm/runtime/globals.hpp
FreqInlineSizeintxppcc2175define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
FreqInlineSizeintxsparcc1325define_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
FreqInlineSizeintxsparcc2175define_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
FreqInlineSizeintxx86c1325define_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
FreqInlineSizeintxx86c2325define_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
FreqInlineSizeintxzeroshark325define_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
FullGCALotDummiesintxruntimeEMBEDDED_ONLY: 32*Knotproduct
Dummy object allocated with +FullGCALot, forcing all objects 
to move
src/share/vm/runtime/globals.hpp
FullGCALotIntervalintxruntimeEMBEDDED_ONLY: 1notproduct
Interval between which full gc will occur with +FullGCALot
src/share/vm/runtime/globals.hpp
FullGCALotStartintxruntimeEMBEDDED_ONLY: 0notproduct
For which invocation to start FullGCAlot
src/share/vm/runtime/globals.hpp
FullGCALotboolruntimefalsedevelop
Force full gc at every Nth exit from the runtime system 
(N=FullGCALotInterval)
src/share/vm/runtime/globals.hpp
G1ConcMarkForceOverflowuintxgc0develop
The number of times we'll force an overflow during 
concurrent marking
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ConcMarkStepDurationMillisdoublegc10.0product
Target duration of individual concurrent marking steps 
in milliseconds.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ConcRSHotCardLimitObsoleted in JDK21
Expired in JDK24
uintxgc4product
The threshold that defines (>=) a hot card.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ConcRSLogCacheSizeObsoleted in JDK21
Expired in JDK24
uintxgc10product
Log base 2 of the length of conc RS hot-card cache.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ConcRefinementGreenZoneObsoleted in JDK20
Expired in JDK24
intxgc0product
The number of update buffers that are left in the queue by the 
concurrent processing threads. Will be selected ergonomically 
by default.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ConcRefinementRedZoneObsoleted in JDK20
Expired in JDK24
intxgc0product
Maximum number of enqueued update buffers before mutator 
threads start processing new ones instead of enqueueing them. 
Will be selected ergonomically by default. Zero will disable 
concurrent processing.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ConcRefinementServiceIntervalMillisObsoleted in JDK20
Expired in JDK24
intxgc300product
The last concurrent refinement thread wakes up every 
specified number of milliseconds to do miscellaneous work.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ConcRefinementThreadsuintxgc0product
If non-0 is the number of parallel rem set update threads, 
otherwise the value is determined ergonomically.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ConcRefinementThresholdStepObsoleted in JDK20
Expired in JDK24
intxgc0product
Each time the rset update queue increases by this amount 
activate the next refinement thread if available. 
Will be selected ergonomically by default.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ConcRefinementYellowZoneObsoleted in JDK20
Expired in JDK24
intxgc0product
Number of enqueued update buffers that will 
trigger concurrent processing. Will be selected ergonomically 
by default.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ConcRegionFreeingVerboseboolgcfalsedevelop
Enables verboseness during concurrent region freeing
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ConfidencePercentuintxgc50product
Confidence level for MMU/pause predictions
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1DummyRegionsPerGCuintxgc0develop
The 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.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1EagerReclaimHumongousObjectsWithStaleRefsboolgctrueexperimental
Try to reclaim dead large objects that have a few stale 
references at every young GC.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1EagerReclaimHumongousObjectsboolgctrueexperimental
Try to reclaim dead large objects at every young GC.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1EvacuationFailureALotCountuintxgc1000develop
Number of successful evacuations between evacuation failures 
occurring at object copying
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1EvacuationFailureALotDuringConcMarkboolgctruedevelop
Force use of evacuation failure handling during evacuation 
pauses when marking is in progress
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1EvacuationFailureALotDuringInitialMarkboolgctruedevelop
Force use of evacuation failure handling during initial mark 
evacuation pauses
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1EvacuationFailureALotDuringMixedGCboolgctruedevelop
Force use of evacuation failure handling during mixed 
evacuation pauses
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1EvacuationFailureALotDuringYoungGCboolgctruedevelop
Force use of evacuation failure handling during young 
evacuation pauses
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1EvacuationFailureALotIntervaluintxgc5develop
Total collections between forced triggering of evacuation 
failures
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1EvacuationFailureALotboolgcfalsenotproduct
Force use of evacuation failure handling during certain 
evacuation pauses
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ExitOnExpansionFailureboolgcfalsedevelop
Raise a fatal VM exit out of memory failure in the event 
 that heap expansion fails due to running out of swap.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ExpandByPercentOfAvailableintxgc20experimental
When expanding, % of uncommitted space to claim.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1FailOnFPErrorboolgcfalsedevelop
When set, G1 will fail when it encounters an FP 'error', 
so as to allow debugging
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1HRRSFlushLogBuffersOnVerifyboolgcfalsedevelop
Forces flushing of log buffers before verification.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1HRRSUseSparseTableboolgctruedevelop
When true, use sparse table to save space.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1HeapRegionSizeuintxgc0product
Size of the G1 regions.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1HeapWastePercentuintxgc5product
Amount of space, expressed as a percentage of the heap size, 
that G1 is willing not to collect to avoid expensive GCs.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1LogLevelccstrgcNULLexperimental
Log level for G1 logging: fine, finer, finest
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1MarkingOverheadPercentintxgc0develop
Overhead of concurrent marking
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1MarkingVerboseLevelintxgc0develop
Level (0-4) of verboseness of the marking code
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1MaxNewSizePercentuintxgc60experimental
Percentage (0-100) of the heap size to use as default 
 maximum young gen size.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1MaxVerifyFailuresintxgc-1develop
The maximum number of verification failrues to print. 
-1 means print all.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1MixedGCCountTargetuintxgc8product
The target number of mixed GCs after a marking cycle.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1MixedGCLiveThresholdPercentuintxgc85experimental
Threshold for regions to be considered for inclusion in the 
collection set of mixed GCs. 
Regions with live bytes exceeding this will not be collected.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1NewSizePercentuintxgc5experimental
Percentage (0-100) of the heap size to use as default 
minimum young gen size.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1OldCSetRegionThresholdPercentuintxgc10experimental
An upper bound for the number of old CSet regions expressed 
as a percentage of the heap size.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1PrintHeapRegionsboolgcfalsediagnostic
If set G1 will print information on which regions are being 
allocated and which are reclaimed.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1PrintReachableAtInitialMarkboolgcfalsedevelop
Reachable object dump at the initial mark pause
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1PrintReachableBaseFileccstrgcNULLdevelop
The base file name for the reachable object dumps
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1PrintRegionLivenessInfoboolgcfalsediagnostic
Prints the liveness information for all regions in the heap 
at the end of a marking cycle.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1RSBarrierRegionFilterboolgctruedevelop
If true, generate region filtering code in RS barrier
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1RSLogCheckCardTableboolgcfalsedevelop
If true, verify that no dirty cards remain after RS log 
processing.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1RSScrubVerboseboolgcfalsedevelop
When true, do RS scrubbing with verbose output.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1RSetRegionEntriesBaseintxgc256develop
Max number of regions in a fine-grain table per MB.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1RSetRegionEntriesObsoleted in JDK18
Expired in JDK19
intxgc0product
Max number of regions for which we keep bitmaps.
Will be set ergonomically by default
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1RSetScanBlockSizeDeprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
uintxgc64product
Size of a work unit of cards claimed by a worker thread
during RSet scanning.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1RSetSparseRegionEntriesBaseintxgc4develop
Max number of entries per region in a sparse table 
per MB.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1RSetSparseRegionEntriesObsoleted in JDK18
Expired in JDK19
intxgc0product
Max number of entries per region in a sparse table.
Will be set ergonomically by default.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1RSetUpdatingPauseTimePercentintxgc10product
A target percentage of time that is allowed to be spend on 
process RS update buffers during the collection pause.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1RecordHRRSEventsboolgcfalsedevelop
When true, record recent calls to rem set operations.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1RecordHRRSOopsboolgcfalsedevelop
When true, record recent calls to rem set operations.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1RefProcDrainIntervalintxgc10product
The number of discovered reference objects to process before 
draining concurrent marking work queues.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ReservePercentuintxgc10product
It determines the minimum reserve we should have in the heap 
to minimize the probability of promotion failure.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1SATBBufferEnqueueingThresholdPercentuintxgc60product
Before 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.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1SATBBufferSizeintxgc1*Kproduct
Number of entries in an SATB log buffer.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1SATBPrintStubsboolgcfalsedevelop
If true, print generated stubs for the SATB barrier
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1SATBProcessCompletedThresholdintxgc20develop
Number of completed buffers that triggers log processing.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1ScrubRemSetsboolgctruedevelop
When true, do RS scrubbing after cleanup.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1SecondaryFreeListAppendLengthuintxgc5develop
The number of regions we will add to the secondary free list 
at every append operation
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1StressConcRegionFreeingDelayMillisuintxgc0develop
Artificial delay during concurrent region freeing
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1StressConcRegionFreeingboolgcfalsedevelop
It stresses the concurrent region freeing operation
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1SummarizeConcMarkboolgcfalsediagnostic
Summarize concurrent mark info
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1SummarizeRSetStatsPeriodintxgc0diagnostic
The 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 -XX:+G1SummarizeRSetStats
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1SummarizeRSetStatsboolgcfalsediagnostic
Summarize remembered set processing info
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1TraceConcRefinementboolgcfalsediagnostic
Trace G1 concurrent refinement
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1TraceEagerReclaimHumongousObjectsboolgcfalseexperimental
Print some information about large object liveness 
at every young GC.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1TraceHeapRegionRememberedSetboolgcfalsedevelop
Enables heap region remembered set debug logs
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1TraceMarkStackOverflowboolgcfalsedevelop
If true, extra debugging code for CM restart for ovflw.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1TraceStringSymbolTableScrubbingboolgcfalseexperimental
Trace information string and symbol table scrubbing.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1UpdateBufferSizeintxgc256product
Size of an update buffer
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1UseAdaptiveConcRefinementObsoleted in JDK20
Expired in JDK24
boolgctrueproduct
Select green, yellow and red zones adaptively to meet the 
the pause requirements.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1UseConcMarkReferenceProcessingboolgctrueexperimental
If true, enable reference discovery during concurrent 
marking and reference processing at the end of remark.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1VerifyBitmapsboolgcfalsedevelop
Verifies the consistency of the marking bitmaps
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1VerifyCTCleanupboolgcfalsedevelop
Verify card table cleanup.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1VerifyDuringGCPrintReachableboolgcfalsedevelop
If conc mark verification fails, dump reachable objects
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1VerifyHeapRegionCodeRootsboolgcfalsediagnostic
Verify the code root lists attached to each heap region.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1VerifyRSetsDuringFullGCboolgcfalsediagnostic
If true, perform verification of each heap region's 
remembered set when verifying the heap during a full GC.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1YoungSurvRateNumRegionsSummaryintxgc0develop
the number of regions for which we'll print a surv rate 
summary.
src/share/vm/gc_implementation/g1/g1_globals.hpp
G1YoungSurvRateVerboseboolgcfalsedevelop
print out the survival rate of young regions according to age.
src/share/vm/gc_implementation/g1/g1_globals.hpp
GCALotAtAllSafepointsboolruntimefalsenotproduct
Enforce ScavengeALot/GCALot at all potential safepoints
src/share/vm/runtime/globals.hpp
GCDrainStackTargetSizeuintxruntimeEMBEDDED_ONLY: 64product
Number of entries we will try to leave on the stack 
during parallel gc
src/share/vm/runtime/globals.hpp
GCExpandToAllocateDelayMillisuintxruntimeEMBEDDED_ONLY: 0develop
Delay between expansion and allocation (in milliseconds)
src/share/vm/runtime/globals.hpp
GCHeapFreeLimituintxruntime2product
Minimum percentage of free space after a full GC before an 
OutOfMemoryError is thrown (used with GCTimeLimit)
src/share/vm/runtime/globals.hpp
GCLockerEdenExpansionPercentObsoleted in JDK23
Expired in JDK24
uintxruntime5product
How much the GC can expand the eden by while the GC locker 
is active (as a percentage)
src/share/vm/runtime/globals.hpp
GCLockerInvokesConcurrentObsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
The exit of a JNI critical section necessitating a scavenge, 
also kicks off a background concurrent collection
src/share/vm/runtime/globals.hpp
GCLockerRetryAllocationCountuintxruntime2diagnostic
Number of times to retry allocations when 
blocked by the GC locker
src/share/vm/runtime/globals.hpp
GCLogFileSizeuintxruntime8*Kproduct
GC log file size, requires UseGCLogFileRotation. 
Set to 0 to only trigger rotation via jcmd
src/share/vm/runtime/globals.hpp
GCParallelVerificationEnabledboolruntimetruediagnostic
Enable parallel memory system verification
src/share/vm/runtime/globals.hpp
GCPauseIntervalMillisuintxruntime0product
Time slice for MMU specification
src/share/vm/runtime/globals.hpp
GCTaskTimeStampEntriesObsoleted in JDK14
Expired in JDK16
uintxruntime200product
Number of time stamp entries per gc worker thread
src/share/vm/runtime/globals.hpp
GCTimeLimituintxruntime98product
Limit of the proportion of time spent in GC before 
an OutOfMemoryError is thrown (used with GCHeapFreeLimit)
src/share/vm/runtime/globals.hpp
GCTimeRatiouintxruntime99product
Adaptive size policy application time to GC time ratio
src/share/vm/runtime/globals.hpp
GCWorkerDelayMillisuintxruntimeEMBEDDED_ONLY: 0develop
Delay in scheduling GC workers (in milliseconds)
src/share/vm/runtime/globals.hpp
GenerateArrayStoreCheckboolc1truedevelop
Generates code for array store checks
src/share/vm/c1/c1_globals.hpp
GenerateCompilerNullChecksboolruntimetruedevelop
Generate explicit null checks for loads/stores/calls
src/share/vm/runtime/globals.hpp
GenerateRangeChecksboolruntimetruedevelop
Generate range checks for array accesses
src/share/vm/runtime/globals.hpp
GenerateSynchronizationCodeboolruntimetruedevelop
generate locking/unlocking code for synchronized methods and 
monitors
src/share/vm/runtime/globals.hpp
GuaranteedSafepointIntervalintxruntimeEMBEDDED_ONLY: 0product
Guarantee a safepoint (at least) every so many milliseconds 
(0 means none)
src/share/vm/runtime/globals.hpp
GuaranteedSafepointIntervalintxruntimeNOT_EMBEDDED: 1000diagnostic
Guarantee a safepoint (at least) every so many milliseconds 
(0 means none)
src/share/vm/runtime/globals.hpp
HandleAllocationLimituintxruntimeEMBEDDED_ONLY: 1024notproduct
Threshold for HandleMark allocation when +TraceHandleAllocation 
is used
src/share/vm/runtime/globals.hpp
HeapBaseMinAddressuintxaixppc2*Gdefine_pd_global
src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp
HeapBaseMinAddressuintxbsdaarch642*Gdefine_pd_global
src/os_cpu/bsd_aarch64/vm/globals_bsd_aarch64.hpp
HeapBaseMinAddressuintxbsdx862*Gdefine_pd_global
src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp
HeapBaseMinAddressuintxbsdzero2*Gdefine_pd_global
src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp
HeapBaseMinAddressuintxlinuxaarch642*Gdefine_pd_global
src/os_cpu/linux_aarch64/vm/globals_linux_aarch64.hpp
HeapBaseMinAddressuintxlinuxppc2*Gdefine_pd_global
src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp
HeapBaseMinAddressuintxlinuxsparcCONST64(4)*Gdefine_pd_global
src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp
HeapBaseMinAddressuintxlinuxx862*Gdefine_pd_global
src/os_cpu/linux_x86/vm/globals_linux_x86.hpp
HeapBaseMinAddressuintxlinuxzero2*Gdefine_pd_global
src/os_cpu/linux_zero/vm/globals_linux_zero.hpp
HeapBaseMinAddressuintxruntimeproduct_pd
OS specific low limit for heap base address
src/share/vm/runtime/globals.hpp
HeapBaseMinAddressuintxsolarissparc2*Gdefine_pd_global
src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp
HeapBaseMinAddressuintxsolarisx862*Gdefine_pd_global
src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp
HeapBaseMinAddressuintxwindowsx862*Gdefine_pd_global
src/os_cpu/windows_x86/vm/globals_windows_x86.hpp
HeapDumpAfterFullGCboolruntimefalsemanageable
Dump heap to file after any major stop-the-world GC
src/share/vm/runtime/globals.hpp
HeapDumpBeforeFullGCboolruntimefalsemanageable
Dump heap to file before any major stop-the-world GC
src/share/vm/runtime/globals.hpp
HeapDumpOnOutOfMemoryErrorboolruntimefalsemanageable
Dump heap to file when java.lang.OutOfMemoryError is thrown
src/share/vm/runtime/globals.hpp
HeapDumpPathccstrruntimeNULLmanageable
When HeapDumpOnOutOfMemoryError is on, the path (filename or 
directory) of the dump file (defaults to java_pid.hprof 
in the working directory)
src/share/vm/runtime/globals.hpp
HeapDumpSegmentSizeuintxruntime1*Gdevelop
Approximate segment size when generating a segmented heap dump
src/share/vm/runtime/globals.hpp
HeapFirstMaximumCompactionCountuintxruntime3product
The collection count for the first maximum compaction
src/share/vm/runtime/globals.hpp
HeapMaximumCompactionIntervaluintxruntime20product
How often should we maximally compact the heap (not allowing 
any dead space)
src/share/vm/runtime/globals.hpp
HeapSizePerGCThreaduintxruntimeScaleForWordSize(64*M)product
Size of heap (bytes) per GC thread used in calculating the 
number of GC threads
src/share/vm/runtime/globals.hpp
HotCallCountThresholdintxc2999999develop
large numbers of calls (per method invocation) force hotness
src/share/vm/opto/c2_globals.hpp
HotCallProfitThresholdintxc2999999develop
highly profitable inlining opportunities force hotness
src/share/vm/opto/c2_globals.hpp
HotCallTrivialSizeintxc2-1develop
trivial methods (no larger than this) force calls to be hot
src/share/vm/opto/c2_globals.hpp
HotCallTrivialWorkintxc2-1develop
trivial execution time (no larger than this) forces hotness
src/share/vm/opto/c2_globals.hpp
HugeMethodLimitintxruntimeEMBEDDED_ONLY: 8000develop
Don't compile methods larger than this if 
+DontCompileHugeMethods
src/share/vm/runtime/globals.hpp
ICMissHistogramboolruntimefalsenotproduct
Produce histogram of IC misses
src/share/vm/runtime/globals.hpp
IEEEPrecisionboolx86truedevelop
Enables IEEE precision (for INTEL only)
src/cpu/x86/vm/globals_x86.hpp
INTPRESSUREintxaarch64c224define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
INTPRESSUREintxc2develop_pd
Number of integer LRG's that constitute high register pressure
src/share/vm/opto/c2_globals.hpp
INTPRESSUREintxppcc225define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
INTPRESSUREintxsparcc248define_pd_global
// large register set
src/cpu/sparc/vm/c2_globals_sparc.hpp
INTPRESSUREintxx86c26define_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
IdealizedNumericsboolc2falsedevelop
Check performance difference allowing FP 
associativity and commutativity...
src/share/vm/opto/c2_globals.hpp
IgnoreEmptyClassPathsboolruntimefalseproduct
Ignore empty path elements in -classpath
src/share/vm/runtime/globals.hpp
IgnoreLibthreadGPFaultboolruntimefalsedevelop
Suppress workaround for libthread GP fault
src/share/vm/runtime/globals.hpp
IgnoreLockingAssertionsboolruntimefalsenotproduct
disable locking assertions (for speed)
src/share/vm/runtime/globals.hpp
IgnoreRewritesboolruntimefalsedevelop
Suppress rewrites of bytecodes in the oopmap generator. 
This is unsafe!
src/share/vm/runtime/globals.hpp
IgnoreUnrecognizedVMOptionsboolruntimefalseproduct
Ignore unrecognized VM options
src/share/vm/runtime/globals.hpp
IgnoreUnverifiableClassesDuringDumpDeprecated in JDK10
Obsoleted in JDK12
Expired in JDK13
boolruntimeEMBEDDED_ONLY: falsediagnostic
Do not quit -Xshare:dump even if we encounter unverifiable 
classes. Just exclude them from the shared dictionary.
src/share/vm/runtime/globals.hpp
ImplicitDiv0Checksboolc1truedevelop
Use implicit division by zero checks
src/share/vm/c1/c1_globals.hpp
ImplicitNullCheckThresholdintxc23develop
Don't do implicit null checks if NPE's in a method exceeds limit
src/share/vm/opto/c2_globals.hpp
ImplicitNullChecksboolaarch64truedefine_pd_global
// Generate code for implicit null checks
src/cpu/aarch64/vm/globals_aarch64.hpp
ImplicitNullChecksboolruntimedevelop_pd
Generate code for implicit null checks
src/share/vm/runtime/globals.hpp
ImplicitNullChecksboolppctruedefine_pd_global
// Generate code for implicit null checks.
src/cpu/ppc/vm/globals_ppc.hpp
ImplicitNullChecksboolsparctruedefine_pd_global
// Generate code for implicit null checks
src/cpu/sparc/vm/globals_sparc.hpp
ImplicitNullChecksboolx86truedefine_pd_global
// Generate code for implicit null checks
src/cpu/x86/vm/globals_x86.hpp
ImplicitNullChecksboolzerotruedefine_pd_global
src/cpu/zero/vm/globals_zero.hpp
IncreaseFirstTierCompileThresholdAtuintxruntimeEMBEDDED_ONLY: 50product
Increase the compile threshold for C1 compilation if the code 
cache is filled by the specified percentage
src/share/vm/runtime/globals.hpp
IncrementalInlineboolc2trueproduct
do post parse inlining
src/share/vm/opto/c2_globals.hpp
IndexSetWatchintxc20notproduct
Trace all operations on this IndexSet (-1 means all, 0 none)
src/share/vm/opto/c2_globals.hpp
InitialBootClassLoaderMetaspaceSizeDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
uintxruntimeNOT_LP64(2200*K) LP64_ONLY(4*M)product
Initial size of the boot class loader data metaspace
src/share/vm/runtime/globals.hpp
InitialCodeCacheSizeintxaarch64c1160*Kdefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
InitialCodeCacheSizeintxaarch64c22496*Kdefine_pd_global
// Integral multiple of CodeCacheExpansionSize
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
InitialCodeCacheSizeintxruntime160*Kdefine_pd_global
src/share/vm/runtime/globals.hpp
InitialCodeCacheSizeuintxruntimeproduct_pd
Initial code cache size (in bytes)
src/share/vm/runtime/globals.hpp
InitialCodeCacheSizeintxppcc22048*Kdefine_pd_global
// Integral multiple of CodeCacheExpansionSize
src/cpu/ppc/vm/c2_globals_ppc.hpp
InitialCodeCacheSizeintxsparcc1160*Kdefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
InitialCodeCacheSizeintxsparcc21536*Kdefine_pd_global
// Integral multiple of CodeCacheExpansionSize
src/cpu/sparc/vm/c2_globals_sparc.hpp
InitialCodeCacheSizeintxx86c1160*Kdefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
InitialCodeCacheSizeintxx86c22304*Kdefine_pd_global
// Integral multiple of CodeCacheExpansionSize
src/cpu/x86/vm/c2_globals_x86.hpp
InitialCodeCacheSizeintxzeroshark160*Kdefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
InitialHeapSizeuintxruntimeEMBEDDED_ONLY: 0product
Initial heap size (in bytes); zero means use ergonomics
src/share/vm/runtime/globals.hpp
InitialRAMFractionDeprecated in JDK10
Obsoleted in JDK23
Expired in JDK24
uintxruntime64product
Fraction (1/n) of real memory used for initial heap size
src/share/vm/runtime/globals.hpp
InitialRAMPercentagedoubleruntime1.5625product
Percentage of real memory used for initial heap size
src/share/vm/runtime/globals.hpp
InitialSurvivorRatiouintxruntime8product
Initial ratio of young generation/survivor space size
src/share/vm/runtime/globals.hpp
InitialTenuringThresholduintxruntimeEMBEDDED_ONLY: 7product
Initial value for tenuring threshold
src/share/vm/runtime/globals.hpp
InitiatingHeapOccupancyPercentuintxruntime45product
Percentage of the (entire) heap occupancy to start a 
concurrent GC cycle. It is used by GCs that trigger a 
concurrent GC cycle based on the occupancy of the entire heap, 
not just one of the generations (e.g., G1). A value of 0 
denotes 'do constant GC cycles'.
src/share/vm/runtime/globals.hpp
InlineAccessorsboolc2truedevelop
inline accessor methods (get/set)
src/share/vm/opto/c2_globals.hpp
InlineArrayCopyboolruntimetruedevelop
Inline arraycopy native that is known to be part of 
base library DLL
src/share/vm/runtime/globals.hpp
InlineClassNativesboolruntimetruedevelop
Inline Class.isInstance, etc
src/share/vm/runtime/globals.hpp
InlineDataFileccstrruntimeEMBEDDED_ONLY: NULLproduct
File containing inlining replay information
[default: ./inline_pid%p.log] (%p replaced with pid)
src/share/vm/runtime/globals.hpp
InlineFrequencyCountObsoleted in JDK18
Expired in JDK19
intxaarch64100define_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
InlineFrequencyCountObsoleted in JDK18
Expired in JDK19
intxruntimedevelop_pd
Count of call site execution necessary to trigger frequent 
inlining
src/share/vm/runtime/globals.hpp
InlineFrequencyCountObsoleted in JDK18
Expired in JDK19
intxppc100define_pd_global
src/cpu/ppc/vm/globals_ppc.hpp
InlineFrequencyCountObsoleted in JDK18
Expired in JDK19
intxsparc50define_pd_global
// we can use more inlining on the SPARC
src/cpu/sparc/vm/globals_sparc.hpp
InlineFrequencyCountObsoleted in JDK18
Expired in JDK19
intxx86100define_pd_global
src/cpu/x86/vm/globals_x86.hpp
InlineFrequencyCountObsoleted in JDK18
Expired in JDK19
intxzero100define_pd_global
src/cpu/zero/vm/globals_zero.hpp
InlineFrequencyRatiointxruntimeEMBEDDED_ONLY: 20develop
Ratio of call site execution to caller method invocation
src/share/vm/runtime/globals.hpp
InlineIntrinsicsboolaarch64c1truedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
InlineIntrinsicsboolaarch64c2truedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
InlineIntrinsicsboolruntimedevelop_pd
Inline intrinsics that can be statically resolved
src/share/vm/runtime/globals.hpp
InlineIntrinsicsboolppcc2truedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
InlineIntrinsicsboolsparcc1truedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
InlineIntrinsicsboolsparcc2falsedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
InlineIntrinsicsboolx86c1truedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
InlineIntrinsicsboolx86c2truedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
InlineIntrinsicsboolzerosharkfalsedefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
InlineMathNativesboolruntimetruedevelop
Inline SinD, CosD, etc.
src/share/vm/runtime/globals.hpp
InlineMethodsWithExceptionHandlersboolc1truedevelop
Inline methods containing exception handlers 
(NOTE: does not work with current backend)
src/share/vm/c1/c1_globals.hpp
InlineNIOCheckIndexboolc1truedevelop
Intrinsify java.nio.Buffer.checkIndex
src/share/vm/c1/c1_globals.hpp
InlineNativesboolruntimetruedevelop
Inline natives that are known to be part of base library DLL
src/share/vm/runtime/globals.hpp
InlineObjectCopyboolc2truedevelop
inline Object.clone and Arrays.copyOf[Range] intrinsics
src/share/vm/opto/c2_globals.hpp
InlineObjectHashboolruntimetruedevelop
Inline Object::hashCode() native that is known to be part 
of base library DLL
src/share/vm/runtime/globals.hpp
InlineReflectionGetCallerClassboolc2truedevelop
inline sun.reflect.Reflection.getCallerClass(), known to be part 
of base library DLL
src/share/vm/opto/c2_globals.hpp
InlineSmallCodeintxaarch641000define_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
InlineSmallCodeintxruntimeproduct_pd
Only inline already compiled methods if their code size is 
less than this
src/share/vm/runtime/globals.hpp
InlineSmallCodeintxppc1500define_pd_global
src/cpu/ppc/vm/globals_ppc.hpp
InlineSmallCodeintxsparc1500define_pd_global
src/cpu/sparc/vm/globals_sparc.hpp
InlineSmallCodeintxx861000define_pd_global
src/cpu/x86/vm/globals_x86.hpp
InlineSmallCodeintxzero1000define_pd_global
src/cpu/zero/vm/globals_zero.hpp
InlineSynchronizedMethodsboolc1trueproduct
Inline synchronized methods
src/share/vm/c1/c1_globals.hpp
InlineThreadNativesboolruntimetruedevelop
Inline Thread.currentThread, etc
src/share/vm/runtime/globals.hpp
InlineThrowCountintxruntimeEMBEDDED_ONLY: 50develop
Force inlining of interpreted methods that throw this often
src/share/vm/runtime/globals.hpp
InlineThrowMaxSizeintxruntimeEMBEDDED_ONLY: 200develop
Force inlining of throwing methods smaller than this
src/share/vm/runtime/globals.hpp
InlineUnsafeOpsboolruntimetruedevelop
Inline memory ops (native methods) from sun.misc.Unsafe
src/share/vm/runtime/globals.hpp
InlineWarmCallsboolc2falsedevelop
Use a heat-based priority queue to govern inlining
src/share/vm/opto/c2_globals.hpp
Inlineboolruntimetrueproduct
Enable inlining
src/share/vm/runtime/globals.hpp
InsertEndGroupPPC64boolppcfalseproduct
Insert EndGroup instructions to optimize for Power6.
src/cpu/ppc/vm/globals_ppc.hpp
InsertMemBarAfterArraycopyObsoleted in JDK16
Expired in JDK17
boolc2trueproduct
Insert memory barrier after arraycopy call
src/share/vm/opto/c2_globals.hpp
InstallMethodsboolc1truedevelop
Install methods at the end of successful compilations
src/share/vm/c1/c1_globals.hpp
InstructionCountCutoffintxc137000develop
If GraphBuilder adds this many instructions, bails out
src/share/vm/c1/c1_globals.hpp
InterceptOSExceptionboolruntimefalsedevelop
Start debugger when an implicit OS (e.g. NULL) 
exception happens
src/share/vm/runtime/globals.hpp
InteriorEntryAlignmentintxaarch64c216define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
InteriorEntryAlignmentintxc2product_pd
Code alignment for interior entry points 
in generated code (in bytes)
src/share/vm/opto/c2_globals.hpp
InteriorEntryAlignmentintxppcc216define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
InteriorEntryAlignmentintxsparcc216define_pd_global
// = CodeEntryAlignment
src/cpu/sparc/vm/c2_globals_sparc.hpp
InteriorEntryAlignmentintxx86c24define_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
InterpreterProfilePercentageintxruntimeEMBEDDED_ONLY: 33product
NON_TIERED number of method invocations/branches (expressed as 
% of CompileThreshold) before profiling in the interpreter
src/share/vm/runtime/globals.hpp
JNIDetachReleasesMonitorsboolruntimetrueproduct
JNI DetachCurrentThread releases monitors owned by thread
src/share/vm/runtime/globals.hpp
JVMInvokeMethodSlackuintxaixppc8192define_pd_global
src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp
JVMInvokeMethodSlackuintxbsdaarch648192define_pd_global
src/os_cpu/bsd_aarch64/vm/globals_bsd_aarch64.hpp
JVMInvokeMethodSlackuintxbsdx868192define_pd_global
src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp
JVMInvokeMethodSlackuintxbsdzero8192define_pd_global
src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp
JVMInvokeMethodSlackuintxlinuxaarch648192define_pd_global
src/os_cpu/linux_aarch64/vm/globals_linux_aarch64.hpp
JVMInvokeMethodSlackuintxlinuxppc8192define_pd_global
src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp
JVMInvokeMethodSlackuintxlinuxsparc12288define_pd_global
src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp
JVMInvokeMethodSlackuintxlinuxx868192define_pd_global
src/os_cpu/linux_x86/vm/globals_linux_x86.hpp
JVMInvokeMethodSlackuintxlinuxzero8192define_pd_global
src/os_cpu/linux_zero/vm/globals_linux_zero.hpp
JVMInvokeMethodSlackuintxruntimedevelop_pd
Stack space (bytes) required for JVM_InvokeMethod to complete
src/share/vm/runtime/globals.hpp
JVMInvokeMethodSlackuintxsolarissparc12288define_pd_global
src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp
JVMInvokeMethodSlackuintxsolarisx8610*Kdefine_pd_global
src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp
JVMInvokeMethodSlackuintxwindowsx868192define_pd_global
src/os_cpu/windows_x86/vm/globals_windows_x86.hpp
JavaMonitorsInStackTraceboolruntimetrueproduct
Print information about Java monitor locks when the stacks are
dumped
src/share/vm/runtime/globals.hpp
JavaPriority10_To_OSPriorityintxruntimeEMBEDDED_ONLY: -1product
Map Java priorities to OS priorities
src/share/vm/runtime/globals.hpp
JavaPriority1_To_OSPriorityintxruntimeEMBEDDED_ONLY: -1product
Map Java priorities to OS priorities
src/share/vm/runtime/globals.hpp
JavaPriority2_To_OSPriorityintxruntimeEMBEDDED_ONLY: -1product
Map Java priorities to OS priorities
src/share/vm/runtime/globals.hpp
JavaPriority3_To_OSPriorityintxruntimeEMBEDDED_ONLY: -1product
Map Java priorities to OS priorities
src/share/vm/runtime/globals.hpp
JavaPriority4_To_OSPriorityintxruntimeEMBEDDED_ONLY: -1product
Map Java priorities to OS priorities
src/share/vm/runtime/globals.hpp
JavaPriority5_To_OSPriorityintxruntimeEMBEDDED_ONLY: -1product
Map Java priorities to OS priorities
src/share/vm/runtime/globals.hpp
JavaPriority6_To_OSPriorityintxruntimeEMBEDDED_ONLY: -1product
Map Java priorities to OS priorities
src/share/vm/runtime/globals.hpp
JavaPriority7_To_OSPriorityintxruntimeEMBEDDED_ONLY: -1product
Map Java priorities to OS priorities
src/share/vm/runtime/globals.hpp
JavaPriority8_To_OSPriorityintxruntimeEMBEDDED_ONLY: -1product
Map Java priorities to OS priorities
src/share/vm/runtime/globals.hpp
JavaPriority9_To_OSPriorityintxruntimeEMBEDDED_ONLY: -1product
Map Java priorities to OS priorities
src/share/vm/runtime/globals.hpp
LIRFillDelaySlotsObsoleted in JDK15
Expired in JDK16
boolaarch64c1falsedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
LIRFillDelaySlotsObsoleted in JDK15
Expired in JDK16
boolc1product_pd
fill delays on on SPARC with LIR
src/share/vm/c1/c1_globals.hpp
LIRFillDelaySlotsObsoleted in JDK15
Expired in JDK16
boolsparcc1truedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
LIRFillDelaySlotsObsoleted in JDK15
Expired in JDK16
boolx86c1falsedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
LIRTraceExecutionboolc1falsedevelop
add LIR code which logs the execution of blocks
src/share/vm/c1/c1_globals.hpp
LIRTracePeepholeboolc1falsedevelop
Trace peephole optimizer
src/share/vm/c1/c1_globals.hpp
LargePageHeapSizeThresholduintxruntime128*Mproduct
Use large pages if maximum heap is at least this big
src/share/vm/runtime/globals.hpp
LargePageSizeInBytesuintxruntime0product
Large page size (0 to let VM choose the page size)
src/share/vm/runtime/globals.hpp
LargePagesIndividualAllocationInjectErrorboolruntimefalsedevelop
Fail large pages individual allocation
src/share/vm/runtime/globals.hpp
LazyBootClassLoaderboolruntimetrueproduct
Enable/disable lazy opening of boot class path entries
src/share/vm/runtime/globals.hpp
LiveNodeCountInliningCutoffintxc240000product
max number of live nodes in a method
src/share/vm/opto/c2_globals.hpp
LoadExecStackDllInVMThreadboollinuxtrueproduct
Load DLLs with executable-stack attribute in the VM Thread
src/os/linux/vm/globals_linux.hpp
LoadLineNumberTablesboolruntimetruedevelop
Tell whether the class file parser loads line number tables
src/share/vm/runtime/globals.hpp
LoadLocalVariableTablesboolruntimetruedevelop
Tell whether the class file parser loads local variable tables
src/share/vm/runtime/globals.hpp
LoadLocalVariableTypeTablesboolruntimetruedevelop
Tell whether the class file parser loads local variable type
tables
src/share/vm/runtime/globals.hpp
LoadPollAddressFromThreadboolppcfalseproduct
Load polling page address from thread object (required for 
per-thread safepoints on platforms != IA64)
src/cpu/ppc/vm/globals_ppc.hpp
LogCompilationboolruntimefalsediagnostic
Log compilation activity in detail to LogFile
src/share/vm/runtime/globals.hpp
LogEventsBufferEntriesuintxruntime10diagnostic
Number of ring buffer event logs
src/share/vm/runtime/globals.hpp
LogEventsboolruntimetruediagnostic
Enable the various ring buffer event logs
src/share/vm/runtime/globals.hpp
LogFileccstrruntimeNULLdiagnostic
If LogVMOutput or LogCompilation is on, save VM output to 
this file [default: ./hotspot_pid%p.log] (%p replaced with pid)
src/share/vm/runtime/globals.hpp
LogJFRboolruntimeEMBEDDED_ONLY: falseproduct
Enable JFR logging (consider +Verbose)
src/share/vm/runtime/globals.hpp
LogSweeperboolruntimeEMBEDDED_ONLY: falsenotproduct
Keep a ring buffer of sweeper activity
src/share/vm/runtime/globals.hpp
LogVMOutputboolruntimefalsediagnostic
Save VM output to LogFile
src/share/vm/runtime/globals.hpp
LongCompileThresholdintxruntimeEMBEDDED_ONLY: 50develop
Used with +TraceLongCompiles
src/share/vm/runtime/globals.hpp
LoopLimitCheckboolc2truediagnostic
Generate a loop limits check for overflow
src/share/vm/opto/c2_globals.hpp
LoopMaxUnrollintxc216product
Maximum number of unrolls for main loop
src/share/vm/opto/c2_globals.hpp
LoopOptsCountintxc243product
Set level of loop optimization for tier 1 compiles
src/share/vm/opto/c2_globals.hpp
LoopUnrollLimitintxaarch64c260define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
LoopUnrollLimitintxc2product_pd
Unroll loop bodies with node count less than this
src/share/vm/opto/c2_globals.hpp
LoopUnrollLimitintxppcc260define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
LoopUnrollLimitintxsparcc260define_pd_global
// Design center runs on 1.3.1
src/cpu/sparc/vm/c2_globals_sparc.hpp
LoopUnrollLimitintxx86c250define_pd_global
// Design center runs on 1.3.1
src/cpu/x86/vm/c2_globals_x86.hpp
LoopUnrollMinintxc24product
Minimum number of unroll loop bodies before checking progress
of rounds of unroll,optimize,..
src/share/vm/opto/c2_globals.hpp
LoopUnswitchingboolc2trueproduct
Enable loop unswitching (a form of invariant test hoisting)
src/share/vm/opto/c2_globals.hpp
MallocCatchPtrintxruntimeEMBEDDED_ONLY: -1develop
Hit breakpoint when mallocing/freeing this pointer
src/share/vm/runtime/globals.hpp
MallocMaxTestWordsuintxruntimeEMBEDDED_ONLY: 0diagnostic
If non-zero, maximum number of words that malloc/realloc can 
allocate (for testing only)
src/share/vm/runtime/globals.hpp
MallocVerifyIntervalintxruntimeEMBEDDED_ONLY: 0diagnostic
If non-zero, verify C heap after every N calls to 
malloc/realloc/free
src/share/vm/runtime/globals.hpp
MallocVerifyStartintxruntimeEMBEDDED_ONLY: 0diagnostic
If non-zero, start verifying C heap after Nth call to 
malloc/realloc/free
src/share/vm/runtime/globals.hpp
ManagementServerboolruntimeEMBEDDED_ONLY: falseproduct
Create JMX Management Server
src/share/vm/runtime/globals.hpp
MarkStackSizeMaxuintxruntimeNOT_LP64(4*M) LP64_ONLY(512*M)product
Maximum size of marking stack
src/share/vm/runtime/globals.hpp
MarkStackSizeuintxruntimeNOT_LP64(32*K) LP64_ONLY(4*M)product
Size of marking stack
src/share/vm/runtime/globals.hpp
MarkSweepAlwaysCompactCountuintxruntimeEMBEDDED_ONLY: 4product
How often should we fully compact the heap (ignoring the dead 
space parameters)
src/share/vm/runtime/globals.hpp
MarkSweepDeadRatiouintxruntimeEMBEDDED_ONLY: 5product
Percentage (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.
src/share/vm/runtime/globals.hpp
MaxBCEAEstimateLevelintxruntime5product
Maximum number of nested calls that are analyzed by BC EA
src/share/vm/runtime/globals.hpp
MaxBCEAEstimateSizeintxruntime150product
Maximum bytecode size of a method to be analyzed by BC EA
src/share/vm/runtime/globals.hpp
MaxDirectMemorySizeuintxruntimeEMBEDDED_ONLY: 0product
Maximum total size of NIO direct-buffer allocations
src/share/vm/runtime/globals.hpp
MaxElementPrintSizeintxruntimeEMBEDDED_ONLY: 256notproduct
maximum number of elements to print
src/share/vm/runtime/globals.hpp
MaxFDLimitboolruntimetrueproduct
Bump the number of file descriptors to maximum in Solaris
src/share/vm/runtime/globals.hpp
MaxForceInlineLevelintxruntimeEMBEDDED_ONLY: 100develop
maximum number of nested calls that are forced for inlining 
(using CompilerOracle or marked w/ @ForceInline)
src/share/vm/runtime/globals.hpp
MaxGCMinorPauseMillisDeprecated in JDK8
Obsoleted in JDK23
Expired in JDK24
uintxruntimemax_uintxproduct
Adaptive size policy maximum GC minor pause time goal 
in millisecond
src/share/vm/runtime/globals.hpp
MaxGCPauseMillisuintxruntimemax_uintxproduct
Adaptive size policy maximum GC pause time goal in millisecond, 
or (G1 Only) the maximum GC time per MMU time slice
src/share/vm/runtime/globals.hpp
MaxHeapFreeRatiouintxruntimeEMBEDDED_ONLY: 70manageable
The 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.
src/share/vm/runtime/globals.hpp
MaxHeapSizeuintxruntimeEMBEDDED_ONLY: ScaleForWordSize(96*M)product
Maximum heap size (in bytes)
src/share/vm/runtime/globals.hpp
MaxInlineLevelintxruntimeEMBEDDED_ONLY: 9product
maximum number of nested calls that are inlined
src/share/vm/runtime/globals.hpp
MaxInlineSizeintxruntimeEMBEDDED_ONLY: 35product
The maximum bytecode size of a method to be inlined
src/share/vm/runtime/globals.hpp
MaxInterpretedSearchLengthintxruntimeEMBEDDED_ONLY: 3develop
The maximum number of interpreted frames to skip when searching 
for recompilee
src/share/vm/runtime/globals.hpp
MaxJNILocalCapacityintxruntime65536product
Maximum allowable local JNI handle capacity to 
EnsureLocalCapacity() and PushLocalFrame(), 
where <= 0 is unlimited, default: 65536
src/share/vm/runtime/globals.hpp
MaxJavaStackTraceDepthintxruntime1024product
The maximum number of lines in the stack trace for Java 
exceptions (0 means all)
src/share/vm/runtime/globals.hpp
MaxJumpTableSizeintxc265000product
Maximum number of targets in a generated jump table
src/share/vm/opto/c2_globals.hpp
MaxJumpTableSparsenessintxc25product
Maximum sparseness for jumptables
src/share/vm/opto/c2_globals.hpp
MaxLabelRootDepthintxc21100product
Maximum times call Label_Root to prevent stack overflow
src/share/vm/opto/c2_globals.hpp
MaxLoopPadintxc2(OptoLoopAlignment-1)product
Align a loop if padding size in bytes is less or equal to this value
src/share/vm/opto/c2_globals.hpp
MaxMetaspaceExpansionuintxruntimeEMBEDDED_ONLY: ScaleForWordSize(4*M)product
The maximum expansion of Metaspace without full GC (in bytes)
src/share/vm/runtime/globals.hpp
MaxMetaspaceFreeRatiouintxruntimeEMBEDDED_ONLY: 70product
The maximum percentage of Metaspace free after GC to avoid 
shrinking
src/share/vm/runtime/globals.hpp
MaxMetaspaceSizeuintxruntimeEMBEDDED_ONLY: max_uintxproduct
Maximum size of Metaspaces (in bytes)
src/share/vm/runtime/globals.hpp
MaxNewSizeuintxruntimeEMBEDDED_ONLY: max_uintxproduct
Maximum new generation size (in bytes), max_uintx means set 
ergonomically
src/share/vm/runtime/globals.hpp
MaxNodeLimitintxc280000product
Maximum number of nodes
src/share/vm/opto/c2_globals.hpp
MaxNodeLimitintxshark65000product
Maximum number of nodes
src/share/vm/shark/shark_globals.hpp
MaxRAMFractionDeprecated in JDK10
Obsoleted in JDK23
Expired in JDK24
uintxruntime4product
Maximum fraction (1/n) of real memory used for maximum heap 
size
src/share/vm/runtime/globals.hpp
MaxRAMPercentagedoubleruntime25.0product
Maximum percentage of real memory used for maximum heap size
src/share/vm/runtime/globals.hpp
MaxRAMuint64_taarch64c11ULL*Gdefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
MaxRAMuint64_taarch64c2128ULL*Gdefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
MaxRAMuint64_truntimeproduct_pd
Real memory size (in bytes) used to set maximum heap size
src/share/vm/runtime/globals.hpp
MaxRAMuint64_tppcc24ULL*Gdefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
MaxRAMuint64_tsparcc11ULL*Gdefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
MaxRAMuint64_tsparcc24ULL*Gdefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
MaxRAMuint64_tx86c11ULL*Gdefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
MaxRAMuint64_tx86c24ULL*Gdefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
MaxRAMuint64_tzeroshark1ULL*Gdefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
MaxRecompilationSearchLengthintxruntimeEMBEDDED_ONLY: 10develop
The maximum number of frames to inspect when searching for 
recompilee
src/share/vm/runtime/globals.hpp
MaxRecursiveInlineLevelintxruntimeEMBEDDED_ONLY: 1product
maximum number of nested recursive calls that are inlined
src/share/vm/runtime/globals.hpp
MaxSubklassPrintSizeintxruntimeEMBEDDED_ONLY: 4notproduct
maximum number of subklasses to print when printing klass
src/share/vm/runtime/globals.hpp
MaxTenuringThresholduintxruntimeEMBEDDED_ONLY: 15product
Maximum value for tenuring threshold
src/share/vm/runtime/globals.hpp
MaxTrivialSizeintxruntimeEMBEDDED_ONLY: 6product
The maximum bytecode size of a trivial method to be inlined
src/share/vm/runtime/globals.hpp
MaxVectorSizeintxc232product
Max vector size in bytes, 
actual size could be less depending on elements type
src/share/vm/opto/c2_globals.hpp
MaxVirtMemFractionuintxruntime2develop
Maximum fraction (1/n) of virtual memory used for ergonomically 
determining maximum heap size
src/share/vm/runtime/globals.hpp
MemProfilingIntervalintxruntimeEMBEDDED_ONLY: 500notproduct
Time between each invocation of the MemProfiler
src/share/vm/runtime/globals.hpp
MemProfilingboolruntimefalsedevelop
Write memory usage profiling to log file
src/share/vm/runtime/globals.hpp
MetadataAllocationFailALotIntervaluintxruntime1000develop
Metadata allocation failure a lot interval
src/share/vm/runtime/globals.hpp
MetadataAllocationFailALotboolruntimefalsedevelop
Fail metadata allocations at intervals controlled by 
MetadataAllocationFailALotInterval
src/share/vm/runtime/globals.hpp
MetaspaceSizeuintxaarch64c112*Mdefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
MetaspaceSizeuintxaarch64c2ScaleForWordSize(16*M)define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
MetaspaceSizeuintxruntimeScaleForWordSize(4*M)define_pd_global
src/share/vm/runtime/globals.hpp
MetaspaceSizeuintxruntimeproduct_pd
Initial size of Metaspaces (in bytes)
src/share/vm/runtime/globals.hpp
MetaspaceSizeuintxppcc2ScaleForWordSize(16*M)define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
MetaspaceSizeuintxsparcc112*Mdefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
MetaspaceSizeuintxsparcc2ScaleForWordSize(16*M)define_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
MetaspaceSizeuintxx86c112*Mdefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
MetaspaceSizeuintxx86c2ScaleForWordSize(16*M)define_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
MetaspaceSizeuintxzeroshark12*Mdefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
MethodFlushingboolruntimetrueproduct
Reclamation of zombie and not-entrant methods
src/share/vm/runtime/globals.hpp
MethodHistogramCutoffintxruntimeEMBEDDED_ONLY: 100develop
The cutoff value for method invocation histogram (+CountCalls)
src/share/vm/runtime/globals.hpp
MinHeapDeltaBytesuintxruntimeEMBEDDED_ONLY: ScaleForWordSize(128*K)product
The minimum change in heap space due to GC (in bytes)
src/share/vm/runtime/globals.hpp
MinHeapFreeRatiouintxruntimeEMBEDDED_ONLY: 40manageable
The 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.
src/share/vm/runtime/globals.hpp
MinInliningThresholdDeprecated in JDK18
Obsoleted in JDK19
Expired in JDK20
intxruntimeEMBEDDED_ONLY: 250product
The minimum invocation count a method needs to have to be 
inlined
src/share/vm/runtime/globals.hpp
MinJumpTableSizeintxaarch64c210define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
MinJumpTableSizeintxc2product_pd
Minimum number of targets in a generated jump table
src/share/vm/opto/c2_globals.hpp
MinJumpTableSizeintxppcc210define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
MinJumpTableSizeintxsparcc25define_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
MinJumpTableSizeintxx86c210define_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
MinMetaspaceExpansionuintxruntimeEMBEDDED_ONLY: ScaleForWordSize(256*K)product
The minimum expansion of Metaspace (in bytes)
src/share/vm/runtime/globals.hpp
MinMetaspaceFreeRatiouintxruntimeEMBEDDED_ONLY: 40product
The minimum percentage of Metaspace free after GC to avoid 
expansion
src/share/vm/runtime/globals.hpp
MinOopMapAllocationintxruntimeEMBEDDED_ONLY: 8develop
Minimum number of OopMap entries in an OopMapSet
src/share/vm/runtime/globals.hpp
MinRAMFractionDeprecated in JDK10
Obsoleted in JDK23
Expired in JDK24
uintxruntime2product
Minimum fraction (1/n) of real memory used for maxmimum heap 
size on systems with small physical memory size
src/share/vm/runtime/globals.hpp
MinRAMPercentagedoubleruntime50.0product
Minimum percentage of real memory used for maximum heap
size on systems with small physical memory size
src/share/vm/runtime/globals.hpp
MinSleepIntervalDeprecated in JDK9
Obsoleted in JDK10
Expired in JDK11
intxruntimeEMBEDDED_ONLY: 1develop
Minimum sleep() interval (milliseconds) when 
ConvertSleepToYield is off (used for Solaris)
src/share/vm/runtime/globals.hpp
MinSurvivorRatiouintxruntime3product
Minimum ratio of young generation/survivor space size
src/share/vm/runtime/globals.hpp
MinTLABSizeuintxruntimeEMBEDDED_ONLY: 2*Kproduct
Minimum allowed TLAB size (in bytes)
src/share/vm/runtime/globals.hpp
MonitorBoundDeprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
intxruntime0product
Bound Monitor population
src/share/vm/runtime/globals.hpp
MonitorInUseListsDeprecated in JDK10
Obsoleted in JDK12
Expired in JDK13
boolruntimetrueproduct
Track Monitors for Deflation
src/share/vm/runtime/globals.hpp
MonomorphicArrayCheckboolc2truedevelop
Uncommon-trap array store checks that require full type check
src/share/vm/opto/c2_globals.hpp
MultiArrayExpandLimitintxc26product
Maximum number of individual allocations in an inline-expanded 
multianewarray instruction
src/share/vm/opto/c2_globals.hpp
MustCallLoadClassInternalDeprecated in JDK10
Obsoleted in JDK11
Expired in JDK12
boolruntimefalseproduct
Call loadClassInternal() rather than loadClass()
src/share/vm/runtime/globals.hpp
NMethodSizeLimitintxc1(64*K)*wordSizedevelop
Maximum size of a compiled method.
src/share/vm/c1/c1_globals.hpp
NUMAChunkResizeWeightuintxruntime20product
Percentage (0-100) used to weigh the current sample when 
computing exponentially decaying average for 
AdaptiveNUMAChunkSizing
src/share/vm/runtime/globals.hpp
NUMAInterleaveGranularityuintxruntime2*Mproduct
Granularity to use for NUMA interleaving on Windows OS
src/share/vm/runtime/globals.hpp
NUMAPageScanRateObsoleted in JDK23
Expired in JDK24
uintxruntime256product
Maximum number of pages to include in the page scan procedure
src/share/vm/runtime/globals.hpp
NUMASpaceResizeRateuintxruntime1*Gproduct
Do not reallocate more than this amount per collection
src/share/vm/runtime/globals.hpp
NUMAStatsboolruntimefalseproduct
Print NUMA stats in detailed heap information
src/share/vm/runtime/globals.hpp
NativeMemoryTrackingccstrruntimeoffproduct
Native memory tracking options
src/share/vm/runtime/globals.hpp
NativeMonitorFlagsObsoleted in JDK11
Expired in JDK12
intxruntime0experimental
(Unstable)
src/share/vm/runtime/globals.hpp
NativeMonitorSpinLimitObsoleted in JDK11
Expired in JDK12
intxruntime20experimental
(Unstable)
src/share/vm/runtime/globals.hpp
NativeMonitorTimeoutObsoleted in JDK11
Expired in JDK12
intxruntime-1experimental
(Unstable)
src/share/vm/runtime/globals.hpp
NearCpoolboolaarch64trueproduct
constant pool is close to instructions
src/cpu/aarch64/vm/globals_aarch64.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
boolaarch64falsedefine_pd_global
// only register window machines need this
src/cpu/aarch64/vm/globals_aarch64.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
boolruntimeproduct_pd
True for register window machines (sparc/ia64)
src/share/vm/runtime/globals.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
boolppcfalsedefine_pd_global
// Only register window machines need this.
src/cpu/ppc/vm/globals_ppc.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
boolsparctruedefine_pd_global
// register window machines need this
src/cpu/sparc/vm/globals_sparc.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
boolx86falsedefine_pd_global
// only register window machines need this
src/cpu/x86/vm/globals_x86.hpp
NeedsDeoptSuspendObsoleted in JDK13
Expired in JDK14
boolzerofalsedefine_pd_global
src/cpu/zero/vm/globals_zero.hpp
NestedInliningSizeRatiointxc190develop
Percentage of prev. allowed inline size in recursive inlining
src/share/vm/c1/c1_globals.hpp
NeverActAsServerClassMachineboolaarch64c1truedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
NeverActAsServerClassMachineboolaarch64c2falsedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
NeverActAsServerClassMachineboolruntimeproduct_pd
Never act like a server-class machine
src/share/vm/runtime/globals.hpp
NeverActAsServerClassMachineboolppcc2falsedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
NeverActAsServerClassMachineboolsparcc1truedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
NeverActAsServerClassMachineboolsparcc2falsedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
NeverActAsServerClassMachineboolx86c1truedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
NeverActAsServerClassMachineboolx86c2falsedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
NeverActAsServerClassMachineboolzerosharktruedefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
NeverTenureboolruntimefalseproduct
Never tenure objects in eden, may tenure on overflow 
(ParallelGC only)
src/share/vm/runtime/globals.hpp
NewCodeParameterintxruntimeEMBEDDED_ONLY: 0develop
Testing Only: Create a dedicated integer parameter before 
putback
src/share/vm/runtime/globals.hpp
NewRatiouintxruntimeEMBEDDED_ONLY: 2product
Ratio of old/new generation sizes
src/share/vm/runtime/globals.hpp
NewRatiouintxzeroshark12define_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
NewSizeThreadIncreaseintxaarch64c14*Kdefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
NewSizeThreadIncreaseintxaarch64c2ScaleForWordSize(4*K)define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
NewSizeThreadIncreaseintxruntime4*Kdefine_pd_global
src/share/vm/runtime/globals.hpp
NewSizeThreadIncreaseuintxruntimeproduct_pd
Additional size added to desired new generation size per 
non-daemon thread (in bytes)
src/share/vm/runtime/globals.hpp
NewSizeThreadIncreaseintxppcc2ScaleForWordSize(4*K)define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
NewSizeThreadIncreaseintxsparcc116*Kdefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
NewSizeThreadIncreaseintxsparcc2ScaleForWordSize(4*K)define_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
NewSizeThreadIncreaseintxx86c14*Kdefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
NewSizeThreadIncreaseintxx86c24*Kdefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
NewSizeThreadIncreaseintxzeroshark4*Kdefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
NewSizeuintxruntimeEMBEDDED_ONLY: ScaleForWordSize(1*M)product
Initial new generation size (in bytes)
src/share/vm/runtime/globals.hpp
NmethodSweepActivityintxruntimeEMBEDDED_ONLY: 10product
Removes cold nmethods from code cache if > 0. Higher values 
result in more aggressive sweeping
src/share/vm/runtime/globals.hpp
NmethodSweepCheckIntervalintxruntimeEMBEDDED_ONLY: 5product
Compilers wake up every n seconds to possibly sweep nmethods
src/share/vm/runtime/globals.hpp
NmethodSweepFractionintxruntimeEMBEDDED_ONLY: 16product
Number of invocations of sweeper to cover all nmethods
src/share/vm/runtime/globals.hpp
NoYieldsInMicrolockboolruntimefalsedevelop
Disable yields in microlock
src/share/vm/runtime/globals.hpp
NodeCountInliningCutoffintxc218000develop
If parser node generation exceeds limit stop inlining
src/share/vm/opto/c2_globals.hpp
NodeCountInliningStepintxc21000develop
Target size of warm calls inlined between optimization passes
src/share/vm/opto/c2_globals.hpp
NodeLimitFudgeFactorintxc22000product
Fudge Factor for certain optimizations
src/share/vm/opto/c2_globals.hpp
NumberOfGCLogFilesuintxruntime0product
Number of gclog files in rotation 
(default: 0, no rotation)
src/share/vm/runtime/globals.hpp
NumberOfLoopInstrToAlignintxc24product
Number of first instructions in a loop to align
src/share/vm/opto/c2_globals.hpp
OSROnlyBCIintxruntime-1develop
OSR only at this bci. Negative values mean exclude that bci
src/share/vm/runtime/globals.hpp
ObjArrayMarkingStrideuintxruntime2048develop
Number of object array elements to push onto the marking stack 
before pushing a continuation entry
src/share/vm/runtime/globals.hpp
ObjectAlignmentInBytesintxruntime8lp64_product
Default object alignment in bytes, 8 is minimum
src/share/vm/runtime/globals.hpp
ObjectCountCutOffPercentdoubleruntime0.5experimental
The percentage of the used heap that the instances of a class 
must occupy for the class to generate a trace event
src/share/vm/runtime/globals.hpp
OldPLABSizeuintxruntime1024product
Size of old gen promotion LAB's (in HeapWords)
src/share/vm/runtime/globals.hpp
OldPLABWeightObsoleted in JDK14
Expired in JDK15
uintxruntime50product
Percentage (0-100) used to weight the current sample when 
computing exponentially decaying average for resizing 
CMSParPromoteBlocksToClaim
src/share/vm/runtime/globals.hpp
OldSizeuintxruntimeEMBEDDED_ONLY: ScaleForWordSize(4*M)product
Initial tenured generation size (in bytes)
src/share/vm/runtime/globals.hpp
OmitStackTraceInFastThrowboolruntimetrueproduct
Omit backtraces for some 'hot' exceptions in optimized code
src/share/vm/runtime/globals.hpp
OnErrorccstrlistruntime
product
Run user-defined commands on fatal error; see VMError.cpp 
for examples
src/share/vm/runtime/globals.hpp
OnOutOfMemoryErrorccstrlistruntime
product
Run user-defined commands on first java.lang.OutOfMemoryError
src/share/vm/runtime/globals.hpp
OnStackReplacePercentageintxaarch64c1933define_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
OnStackReplacePercentageintxaarch64c2140define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
OnStackReplacePercentageintxruntime0define_pd_global
src/share/vm/runtime/globals.hpp
OnStackReplacePercentageintxruntimeproduct_pd
NON_TIERED number of method invocations/branches (expressed as 
% of CompileThreshold) before (re-)compiling OSR code
src/share/vm/runtime/globals.hpp
OnStackReplacePercentageintxppcc2140define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
OnStackReplacePercentageintxsparcc11400define_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
OnStackReplacePercentageintxsparcc2140define_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
OnStackReplacePercentageintxx86c1933define_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
OnStackReplacePercentageintxx86c2140define_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
OnStackReplacePercentageintxzeroshark933define_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
OptimizeExpensiveOpsboolc2truediagnostic
Find best control for expensive operations
src/share/vm/opto/c2_globals.hpp
OptimizeFillboolc2true PPC64_ONLY(&& false)product
convert fill/copy loops into intrinsic
src/share/vm/opto/c2_globals.hpp
OptimizeIfOpsboolc1truedevelop
Optimize multiple IfOps
src/share/vm/c1/c1_globals.hpp
OptimizePollingPageLocationboolaixtruedefine_pd_global
src/os/aix/vm/globals_aix.hpp
OptimizePtrCompareboolc2trueproduct
Use escape analysis to optimize pointers compare
src/share/vm/opto/c2_globals.hpp
OptimizeSinglePrecisionboolaarch64c1truedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
OptimizeSinglePrecisionboolsparcc1falsedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
OptimizeSinglePrecisionboolx86c1truedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
OptimizeStringConcatboolc2trueproduct
Optimize the construction of Strings by StringBuilder
src/share/vm/opto/c2_globals.hpp
OptimizeUnsafesboolc1truedevelop
Optimize raw unsafe ops
src/share/vm/c1/c1_globals.hpp
OptoBlockListSizeintxc28develop
Starting allocation size of Block_List data structures
src/share/vm/opto/c2_globals.hpp
OptoBreakpointC2Rboolc2falsenotproduct
insert breakpoint at runtime stub entry
src/share/vm/opto/c2_globals.hpp
OptoBreakpointOSRboolc2falsenotproduct
insert breakpoint at osr method entry
src/share/vm/opto/c2_globals.hpp
OptoBreakpointboolc2falsedevelop
insert breakpoint at method entry
src/share/vm/opto/c2_globals.hpp
OptoBundlingboolaarch64c2falsedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
OptoBundlingboolc2product_pd
Generate nops to fill i-cache lines
src/share/vm/opto/c2_globals.hpp
OptoBundlingboolppcc2falsedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
OptoBundlingboolsparcc2falsedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
OptoBundlingboolx86c2falsedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
OptoCoalesceboolc2truedevelop
Use Conservative Copy Coalescing in the Register Allocator
src/share/vm/opto/c2_globals.hpp
OptoLoopAlignmentintxaarch6416define_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
OptoLoopAlignmentintxruntimeproduct_pd
Align inner loops to zero relative to this modulus
src/share/vm/runtime/globals.hpp
OptoLoopAlignmentintxppc16define_pd_global
src/cpu/ppc/vm/globals_ppc.hpp
OptoLoopAlignmentintxsparc16define_pd_global
// = 4*wordSize
src/cpu/sparc/vm/globals_sparc.hpp
OptoLoopAlignmentintxx8616define_pd_global
src/cpu/x86/vm/globals_x86.hpp
OptoLoopAlignmentintxzero16define_pd_global
src/cpu/zero/vm/globals_zero.hpp
OptoNoExecuteboolc2falsenotproduct
Attempt to parse and compile but do not execute generated code
src/share/vm/opto/c2_globals.hpp
OptoNodeListSizeintxc24develop
Starting allocation size of Node_List data structures
src/share/vm/opto/c2_globals.hpp
OptoPeepholeAtintxc2-1develop
Apply peephole optimizations to this peephole rule
src/share/vm/opto/c2_globals.hpp
OptoPeepholeboolaarch64c2falsedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
OptoPeepholeboolc2develop_pd
Apply peephole optimizations after register allocation
src/share/vm/opto/c2_globals.hpp
OptoPeepholeboolppcc2falsedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
OptoPeepholeboolsparcc2falsedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
OptoPeepholeboolx86c2truedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
OptoPrologueNopsintxc20develop
Insert this many extra nop instructions 
in the prologue of every nmethod
src/share/vm/opto/c2_globals.hpp
OptoRemoveUselessboolc2truedevelop
Remove useless nodes after parsing
src/share/vm/opto/c2_globals.hpp
OptoSchedulingboolaarch64c2falsedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
OptoSchedulingboolc2product_pd
Instruction Scheduling after register allocation
src/share/vm/opto/c2_globals.hpp
OptoSchedulingboolppcc2falsedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
OptoSchedulingboolsparcc2truedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
OptoSchedulingboolx86c2falsedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
PLABWeightuintxruntime75product
Percentage (0-100) used to weigh the current sample when 
computing exponentially decaying average for ResizePLAB
src/share/vm/runtime/globals.hpp
PSAdaptiveSizePolicyResizeVirtualSpaceAlotintxruntime-1develop
Resize the virtual spaces of the young or old generations
src/share/vm/runtime/globals.hpp
PSAdjustTenuredGenForMinorPauseboolruntimefalsedevelop
Adjust tenured generation to achieve a minor pause goal
src/share/vm/runtime/globals.hpp
PSAdjustYoungGenForMajorPauseboolruntimefalsedevelop
Adjust young generation to achieve a major pause goal
src/share/vm/runtime/globals.hpp
PSChunkLargeArraysboolruntimeEMBEDDED_ONLY: trueproduct
Process large arrays in chunks
src/share/vm/runtime/globals.hpp
ParGCArrayScanChunkintxruntime50product
Scan a subset of object array and push remainder, if array is 
bigger than this
src/share/vm/runtime/globals.hpp
ParGCCardsPerStrideChunkintxruntime256diagnostic
The number of cards in each chunk of the parallel chunks used 
during card table scanning
src/share/vm/runtime/globals.hpp
ParGCDesiredObjsFromOverflowListObsoleted in JDK14
Expired in JDK15
uintxruntime20product
The desired number of objects to claim from the overflow list
src/share/vm/runtime/globals.hpp
ParGCStridesPerThreaduintxruntime2diagnostic
The number of strides per worker thread that we divide up the 
card table scanning work into
src/share/vm/runtime/globals.hpp
ParGCTrimOverflowObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Eagerly trim the local overflow lists 
(when ParGCUseLocalOverflow)
src/share/vm/runtime/globals.hpp
ParGCUseLocalOverflowObsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
Instead of a global overflow list, use local overflow stacks
src/share/vm/runtime/globals.hpp
ParGCWorkQueueOverflowALotboolruntimefalsenotproduct
Simulate work queue overflow in ParNew
src/share/vm/runtime/globals.hpp
ParGCWorkQueueOverflowIntervaluintxruntime1000notproduct
An `interval' counter that determines how frequently 
we simulate overflow; a smaller number increases frequency
src/share/vm/runtime/globals.hpp
ParallelGCBufferWastePctuintxruntime10product
Wasted fraction of parallel allocation buffer
src/share/vm/runtime/globals.hpp
ParallelGCRetainPLABboolruntimefalsediagnostic
Retain parallel allocation buffers across scavenges; 
it is disabled because this currently conflicts with 
parallel card scanning under certain conditions.
src/share/vm/runtime/globals.hpp
ParallelGCThreadsuintxruntime0product
Number of parallel threads parallel gc will use
src/share/vm/runtime/globals.hpp
ParallelGCVerboseboolruntimefalseproduct
Verbose output for parallel gc
src/share/vm/runtime/globals.hpp
ParallelOldDeadWoodLimiterMeanuintxruntime50product
The mean used by the parallel compact dead wood 
limiter (a number between 0-100)
src/share/vm/runtime/globals.hpp
ParallelOldDeadWoodLimiterStdDevuintxruntime80product
The standard deviation used by the parallel compact dead wood 
limiter (a number between 0-100)
src/share/vm/runtime/globals.hpp
ParallelOldGCSplitALotboolruntimefalsedevelop
Provoke splitting (copying data from a young gen space to 
multiple destination spaces)
src/share/vm/runtime/globals.hpp
ParallelOldGCSplitIntervaluintxruntime3develop
How often to provoke splitting a young gen space
src/share/vm/runtime/globals.hpp
ParallelRefProcBalancingEnabledboolruntimetrueproduct
Enable balancing of reference processing queues
src/share/vm/runtime/globals.hpp
ParallelRefProcEnabledboolruntimefalseproduct
Enable parallel reference processing whenever possible
src/share/vm/runtime/globals.hpp
PartialPeelAtUnsignedTestsboolc2trueproduct
Partial peel at unsigned tests if no signed test exists
src/share/vm/opto/c2_globals.hpp
PartialPeelLoopboolc2trueproduct
Partial peel (rotate) loops
src/share/vm/opto/c2_globals.hpp
PartialPeelNewPhiDeltaintxc20product
Additional phis that can be created by partial peeling
src/share/vm/opto/c2_globals.hpp
PatchALotboolc1falsedevelop
Marks all fields as having unloaded classes
src/share/vm/c1/c1_globals.hpp
PauseAtExitboolruntimeEMBEDDED_ONLY: falsediagnostic
Pause and wait for keypress on exit if a debugger is attached
src/share/vm/runtime/globals.hpp
PauseAtStartupFileccstrruntimeEMBEDDED_ONLY: NULLdiagnostic
The file to create and for whose removal to await when pausing 
at startup. (default: ./vm.paused.)
src/share/vm/runtime/globals.hpp
PauseAtStartupboolruntimeEMBEDDED_ONLY: falsediagnostic
Causes the VM to pause at startup time and wait for the pause 
file to be removed (default: ./vm.paused.)
src/share/vm/runtime/globals.hpp
PausePaddinguintxruntime1product
How much buffer to keep for pause time
src/share/vm/runtime/globals.hpp
PerBytecodeRecompilationCutoffintxruntimeEMBEDDED_ONLY: 200product
Per-BCI limit on repeated recompilation (-1=>'Inf')
src/share/vm/runtime/globals.hpp
PerBytecodeTrapLimitintxruntimeEMBEDDED_ONLY: 4product
Limit on traps (of one kind) at a particular BCI
src/share/vm/runtime/globals.hpp
PerMethodRecompilationCutoffintxruntimeEMBEDDED_ONLY: 400product
After recompiling N times, stay in the interpreter (-1=>'Inf')
src/share/vm/runtime/globals.hpp
PerMethodSpecTrapLimitintxruntimeEMBEDDED_ONLY: 5000experimental
Limit on speculative traps (of one kind) in a method (includes inlines)
src/share/vm/runtime/globals.hpp
PerMethodTrapLimitintxruntimeEMBEDDED_ONLY: 100product
Limit on traps (of one kind) in a method (includes inlines)
src/share/vm/runtime/globals.hpp
PerfAllowAtExitRegistrationboolruntimeEMBEDDED_ONLY: falseproduct
Allow registration of atexit() methods
src/share/vm/runtime/globals.hpp
PerfBypassFileSystemCheckboolruntimeEMBEDDED_ONLY: falseproduct
Bypass Win32 file system criteria checks (Windows Only)
src/share/vm/runtime/globals.hpp
PerfDataMemorySizeintxruntimeEMBEDDED_ONLY: 32*Kproduct
Size of performance data memory region. Will be rounded 
up to a multiple of the native os page size.
src/share/vm/runtime/globals.hpp
PerfDataSamplingIntervalintxruntimeEMBEDDED_ONLY: 50product
Data sampling interval (in milliseconds)
src/share/vm/runtime/globals.hpp
PerfDataSaveFileccstrruntimeEMBEDDED_ONLY: NULLproduct
Save PerfData memory to the specified absolute pathname. 
The string %p in the file name (if present) 
will be replaced by pid
src/share/vm/runtime/globals.hpp
PerfDataSaveToFileboolruntimeEMBEDDED_ONLY: falseproduct
Save PerfData memory to hsperfdata_ file on exit
src/share/vm/runtime/globals.hpp
PerfDisableSharedMemboolruntimeEMBEDDED_ONLY: falseproduct
Store performance data in standard memory
src/share/vm/runtime/globals.hpp
PerfMaxStringConstLengthintxruntimeEMBEDDED_ONLY: 1024product
Maximum PerfStringConstant string length before truncation
src/share/vm/runtime/globals.hpp
PerfTraceDataCreationboolruntimeEMBEDDED_ONLY: falsedevelop
Trace creation of Performance Data Entries
src/share/vm/runtime/globals.hpp
PerfTraceMemOpsboolruntimeEMBEDDED_ONLY: falsedevelop
Trace PerfMemory create/attach/detach calls
src/share/vm/runtime/globals.hpp
PinAllInstructionsboolc1falsedevelop
All instructions are pinned
src/share/vm/c1/c1_globals.hpp
PoisonOSREntryboolc2truedevelop
Detect abnormal calls to OSR code
src/share/vm/opto/c2_globals.hpp
PowerArchitecturePPC64uintxppc0product
CPU Version: x for PowerX. Currently recognizes Power5 to 
Power7. Default is 0. CPUs newer than Power7 will be 
recognized as Power7.
src/cpu/ppc/vm/globals_ppc.hpp
PreInflateSpinintxaarch6410define_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
PreInflateSpinintxruntimeproduct_pd
Number of times to spin wait before inflation
src/share/vm/runtime/globals.hpp
PreInflateSpinintxppc10define_pd_global
src/cpu/ppc/vm/globals_ppc.hpp
PreInflateSpinintxsparc40define_pd_global
// Determined by running design center
src/cpu/sparc/vm/globals_sparc.hpp
PreInflateSpinintxx8610define_pd_global
src/cpu/x86/vm/globals_x86.hpp
PreInflateSpinintxzero10define_pd_global
src/cpu/zero/vm/globals_zero.hpp
PreallocatedOutOfMemoryErrorCountuintxruntime4develop
Number of OutOfMemoryErrors preallocated with backtrace
src/share/vm/runtime/globals.hpp
PredictedLoadedClassCountintxruntime0experimental
Experimental: Tune loaded class cache starting size
src/share/vm/runtime/globals.hpp
PreferContainerQuotaForCPUCountDeprecated in JDK19
Obsoleted in JDK20
Expired in JDK21
boollinuxtrueproduct
Calculate 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.
src/os/linux/vm/globals_linux.hpp
PreferInterpreterNativeStubsboolaarch64c1falsedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
PreferInterpreterNativeStubsboolaarch64c2falsedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
PreferInterpreterNativeStubsboolruntimeproduct_pd
Use always interpreter stubs for native methods invoked via 
interpreter
src/share/vm/runtime/globals.hpp
PreferInterpreterNativeStubsboolppcc2falsedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
PreferInterpreterNativeStubsboolsparcc1falsedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
PreferInterpreterNativeStubsboolsparcc2falsedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
PreferInterpreterNativeStubsboolx86c1falsedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
PreferInterpreterNativeStubsboolx86c2falsedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
PreferInterpreterNativeStubsboolzerosharkfalsedefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
PrefetchCopyIntervalInBytesintxruntime-1product
How far ahead to prefetch destination area (<= 0 means off)
src/share/vm/runtime/globals.hpp
PrefetchFieldsAheadObsoleted in JDK19
Expired in JDK20
intxruntime-1product
How many fields ahead to prefetch in oop scan (<= 0 means off)
src/share/vm/runtime/globals.hpp
PrefetchScanIntervalInBytesintxruntime-1product
How far ahead to prefetch scan area (<= 0 means off)
src/share/vm/runtime/globals.hpp
PreserveAllAnnotationsboolruntimefalseproduct
Preserve RuntimeInvisibleAnnotations as well 
as RuntimeVisibleAnnotations
src/share/vm/runtime/globals.hpp
PreserveFramePointerboolaarch64falsedefine_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
PreserveFramePointerboolruntimeproduct_pd
Use the FP register for holding the frame pointer 
and not as a general purpose register.
src/share/vm/runtime/globals.hpp
PreserveFramePointerboolppcfalsedefine_pd_global
src/cpu/ppc/vm/globals_ppc.hpp
PreserveFramePointerboolsparcfalsedefine_pd_global
src/cpu/sparc/vm/globals_sparc.hpp
PreserveFramePointerboolx86falsedefine_pd_global
src/cpu/x86/vm/globals_x86.hpp
PreserveFramePointerboolzerofalsedefine_pd_global
src/cpu/zero/vm/globals_zero.hpp
PretenureSizeThresholduintxruntimeEMBEDDED_ONLY: 0product
Maximum size in bytes of objects allocated in DefNew 
generation; zero means no maximum
src/share/vm/runtime/globals.hpp
PrintActiveCpusboolruntimefalsediagnostic
Print the number of CPUs detected in os::active_processor_count
src/share/vm/runtime/globals.hpp
PrintAdapterHandlersboolruntimefalsediagnostic
Print code generated for i2c/c2i adapters
src/share/vm/runtime/globals.hpp
PrintAdaptiveSizePolicyboolruntimefalseproduct
Print information about AdaptiveSizePolicy
src/share/vm/runtime/globals.hpp
PrintAssemblyOptionsccstrruntimeNULLdiagnostic
Print options string passed to disassembler.so
src/share/vm/runtime/globals.hpp
PrintAssemblyboolruntimefalsediagnostic
Print assembly code (using external disassembler.so)
src/share/vm/runtime/globals.hpp
PrintBailoutsboolc1falsedevelop
Print bailout and its reason
src/share/vm/c1/c1_globals.hpp
PrintBiasedLockingStatisticsDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolruntimefalsediagnostic
Print statistics of biased locking in JVM
src/share/vm/runtime/globals.hpp
PrintBlockEliminationboolc1falsedevelop
Print basic block elimination
src/share/vm/c1/c1_globals.hpp
PrintBytecodeHistogramboolruntimefalsedevelop
Print histogram of the executed bytecodes
src/share/vm/runtime/globals.hpp
PrintBytecodePairHistogramboolruntimefalsedevelop
Print histogram of the executed bytecode pairs
src/share/vm/runtime/globals.hpp
PrintC1Statisticsboolc1falsenotproduct
Print Compiler1 statistics
src/share/vm/c1/c1_globals.hpp
PrintCEEboolc1falsedevelop
Print Conditional Expression Elimination
src/share/vm/c1/c1_globals.hpp
PrintCFG0boolc1falsenotproduct
Print control flow graph after construction
src/share/vm/c1/c1_globals.hpp
PrintCFG1boolc1falsenotproduct
Print control flow graph after optimizations
src/share/vm/c1/c1_globals.hpp
PrintCFG2boolc1falsenotproduct
Print control flow graph before code generation
src/share/vm/c1/c1_globals.hpp
PrintCFGBlockFreqboolc2falsedevelop
Print CFG block freqencies
src/share/vm/opto/c2_globals.hpp
PrintCFGToFileboolc1falsedevelop
print control flow graph to a separate file during compilation
src/share/vm/c1/c1_globals.hpp
PrintCFGboolc1falsenotproduct
Print control flow graph after each change
src/share/vm/c1/c1_globals.hpp
PrintCMSInitiationStatisticsboolruntimeEMBEDDED_ONLY: falseproduct
Statistics for initiating a CMS collection
src/share/vm/runtime/globals.hpp
PrintCMSStatisticsintxruntimeEMBEDDED_ONLY: 0product
Statistics for CMS
src/share/vm/runtime/globals.hpp
PrintCanonicalizationboolc1falsedevelop
Print graph node canonicalization
src/share/vm/c1/c1_globals.hpp
PrintClassHistogramAfterFullGCboolruntimefalsemanageable
Print a class histogram after any major stop-world GC
src/share/vm/runtime/globals.hpp
PrintClassHistogramBeforeFullGCboolruntimefalsemanageable
Print a class histogram before any major stop-world GC
src/share/vm/runtime/globals.hpp
PrintClassHistogramboolruntimefalsemanageable
Print a histogram of class instances
src/share/vm/runtime/globals.hpp
PrintClassStatisticsboolruntimefalsenotproduct
Print class statistics at end of run
src/share/vm/runtime/globals.hpp
PrintCodeCache2boolruntimefalsedevelop
Print detailed usage information on the code cache when exiting
src/share/vm/runtime/globals.hpp
PrintCodeCacheExtensionboolruntimefalsedevelop
Print extension of code cache
src/share/vm/runtime/globals.hpp
PrintCodeCacheOnCompilationboolruntimefalseproduct
Print the code cache memory usage each time a method is 
compiled
src/share/vm/runtime/globals.hpp
PrintCodeCacheboolruntimefalseproduct
Print the code cache memory usage when exiting
src/share/vm/runtime/globals.hpp
PrintCommandLineFlagsboolruntimefalseproduct
Print flags specified on command line or set by ergonomics
src/share/vm/runtime/globals.hpp
PrintCompilation2boolruntimefalsediagnostic
Print additional statistics per compilation
src/share/vm/runtime/globals.hpp
PrintCompilationboolruntimefalseproduct
Print compilations
src/share/vm/runtime/globals.hpp
PrintCompressedOopsModeboolruntimefalsediagnostic
Print compressed oops base address and encoding mode
src/share/vm/runtime/globals.hpp
PrintConcurrentLocksboolruntimeEMBEDDED_ONLY: falsemanageable
Print java.util.concurrent locks in thread dump
src/share/vm/runtime/globals.hpp
PrintContainerInfoboolruntimefalsediagnostic
Print container related information
src/share/vm/runtime/globals.hpp
PrintDTraceDOFboolruntimeEMBEDDED_ONLY: falsediagnostic
Print the DTrace DOF passed to the system for JSDT probes
src/share/vm/runtime/globals.hpp
PrintDebugInfoboolruntimefalsedevelop
Print debug information for all nmethods when generated
src/share/vm/runtime/globals.hpp
PrintDependenciesboolruntimefalsedevelop
Print dependency information for all nmethods when generated
src/share/vm/runtime/globals.hpp
PrintDominatorsboolc2falsedevelop
Print out dominator trees for GVN
src/share/vm/opto/c2_globals.hpp
PrintEliminateAllocationsboolc2falsenotproduct
Print out when allocations are eliminated
src/share/vm/opto/c2_globals.hpp
PrintEliminateLocksboolc2falsenotproduct
Print out when locks are eliminated
src/share/vm/opto/c2_globals.hpp
PrintEscapeAnalysisboolc2falsenotproduct
Print the results of escape analysis
src/share/vm/opto/c2_globals.hpp
PrintExceptionHandlersboolruntimefalsedevelop
Print exception handler tables for all nmethods when generated
src/share/vm/runtime/globals.hpp
PrintFLSCensusintxruntimeEMBEDDED_ONLY: 0product
Census for CMS' FreeListSpace
src/share/vm/runtime/globals.hpp
PrintFLSStatisticsintxruntimeEMBEDDED_ONLY: 0product
Statistics for CMS' FreeListSpace
src/share/vm/runtime/globals.hpp
PrintFieldLayoutboolruntimefalsenotproduct
Print field layout for each class
src/share/vm/runtime/globals.hpp
PrintFlagsFinalboolruntimefalseproduct
Print all VM flags after argument and ergonomic processing
src/share/vm/runtime/globals.hpp
PrintFlagsInitialboolruntimefalseproduct
Print all VM flags before argument processing and exit VM
src/share/vm/runtime/globals.hpp
PrintFlagsWithCommentsboolruntimefalsenotproduct
Print all VM flags with default values and descriptions and 
exit
src/share/vm/runtime/globals.hpp
PrintFrameConverterAssemblyboolc2falsenotproduct
Print New compiler assembly output for frame converters
src/share/vm/opto/c2_globals.hpp
PrintGCApplicationConcurrentTimeboolruntimefalseproduct
Print the time the application has been running
src/share/vm/runtime/globals.hpp
PrintGCApplicationStoppedTimeboolruntimefalseproduct
Print the time the application has been stopped
src/share/vm/runtime/globals.hpp
PrintGCCauseboolruntimeEMBEDDED_ONLY: trueproduct
Include GC cause in GC logging
src/share/vm/runtime/globals.hpp
PrintGCDateStampsboolruntimefalsemanageable
Print date stamps at garbage collection
src/share/vm/runtime/globals.hpp
PrintGCDetailsboolruntimefalsemanageable
Print more details at garbage collection
src/share/vm/runtime/globals.hpp
PrintGCIDboolruntimefalsemanageable
Print an identifier for each garbage collection
src/share/vm/runtime/globals.hpp
PrintGCTaskTimeStampsboolruntimefalseproduct
Print timestamps for individual gc worker thread tasks
src/share/vm/runtime/globals.hpp
PrintGCTimeStampsboolruntimefalsemanageable
Print timestamps at garbage collection
src/share/vm/runtime/globals.hpp
PrintGCboolruntimefalsemanageable
Print message at garbage collection
src/share/vm/runtime/globals.hpp
PrintHeapAtGCExtendedboolruntimefalseproduct_rw
Print extended information about the layout of the heap 
when -XX:+PrintHeapAtGC is set
src/share/vm/runtime/globals.hpp
PrintHeapAtGCboolruntimefalseproduct_rw
Print heap layout before and after each GC
src/share/vm/runtime/globals.hpp
PrintHeapAtSIGBREAKboolruntimetrueproduct
Print heap layout in response to SIGBREAK
src/share/vm/runtime/globals.hpp
PrintIR0boolc1falsenotproduct
Print full intermediate representation after construction
src/share/vm/c1/c1_globals.hpp
PrintIR1boolc1falsenotproduct
Print full intermediate representation after optimizations
src/share/vm/c1/c1_globals.hpp
PrintIR2boolc1falsenotproduct
Print full intermediate representation before code generation
src/share/vm/c1/c1_globals.hpp
PrintIRDuringConstructionboolc1falsenotproduct
Print IR as it's being constructed (helpful for debugging frontend)
src/share/vm/c1/c1_globals.hpp
PrintIRWithLIRboolc1falsenotproduct
Print IR instructions with generated LIR
src/share/vm/c1/c1_globals.hpp
PrintIRboolc1falsenotproduct
Print full intermediate representation after each change
src/share/vm/c1/c1_globals.hpp
PrintIdealGraphAddressccstrc2127.0.0.1notproduct
IP address to connect to visualizer
src/share/vm/opto/c2_globals.hpp
PrintIdealGraphFileccstrc2NULLnotproduct
File to dump ideal graph to. If set overrides the 
use of the network
src/share/vm/opto/c2_globals.hpp
PrintIdealGraphLevelintxc20develop
Print ideal graph to XML file / network interface. 
By default attempts to connect to the visualizer on a socket.
src/share/vm/opto/c2_globals.hpp
PrintIdealGraphPortintxc24444develop
Ideal graph printer to network port
src/share/vm/opto/c2_globals.hpp
PrintIdealNodeCountboolc2falsenotproduct
Print liveness counts of ideal nodes
src/share/vm/opto/c2_globals.hpp
PrintIdealboolc2falsenotproduct
Print ideal graph before code generation
src/share/vm/opto/c2_globals.hpp
PrintInitialBlockListboolc1falsenotproduct
Print block list of BlockListBuilder
src/share/vm/c1/c1_globals.hpp
PrintInliningboolruntimefalsediagnostic
Print inlining optimizations
src/share/vm/runtime/globals.hpp
PrintInterpreterboolruntimefalsediagnostic
Print the generated interpreter code
src/share/vm/runtime/globals.hpp
PrintIntrinsicsboolc2falsediagnostic
prints attempted and successful inlining of intrinsics
src/share/vm/opto/c2_globals.hpp
PrintJNIGCStallsboolruntimefalseproduct
Print diagnostic message when GC is stalled 
by JNI critical section
src/share/vm/runtime/globals.hpp
PrintJNIResolvingObsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Used to implement -v:jni
src/share/vm/runtime/globals.hpp
PrintJVMWarningsboolruntimefalsedevelop
Print warnings for unimplemented JVM functions
src/share/vm/runtime/globals.hpp
PrintLIRWithAssemblyboolc1falsenotproduct
Show LIR instruction with generated assembly
src/share/vm/c1/c1_globals.hpp
PrintLIRboolc1falsedevelop
print low-level IR
src/share/vm/c1/c1_globals.hpp
PrintLockStatisticsboolc2falsenotproduct
Print precise statistics on the dynamic lock usage
src/share/vm/opto/c2_globals.hpp
PrintMallocFreeObsoleted in JDK11
Expired in JDK12
boolruntimefalsenotproduct
Trace calls to C heap malloc/free allocation
src/share/vm/runtime/globals.hpp
PrintMallocStatisticsboolruntimefalsedevelop
Print malloc/free statistics
src/share/vm/runtime/globals.hpp
PrintMallocObsoleted in JDK11
Expired in JDK12
boolruntimefalsedevelop
Print all malloc/free calls
src/share/vm/runtime/globals.hpp
PrintMethodDataboolruntimefalsedevelop
Print the results of +ProfileInterpreter at end of run
src/share/vm/runtime/globals.hpp
PrintMethodFlushingStatisticsboolruntimefalsediagnostic
print statistics about method flushing
src/share/vm/runtime/globals.hpp
PrintMethodFlushingboolruntimefalsedevelop
Print the nmethods being flushed
src/share/vm/runtime/globals.hpp
PrintMethodHandleStubsboolruntimeEMBEDDED_ONLY: falsediagnostic
Print generated stub code for method handles
src/share/vm/runtime/globals.hpp
PrintMethodStatisticsboolruntimefalsenotproduct
Print method statistics at end of run
src/share/vm/runtime/globals.hpp
PrintMiscellaneousboolruntimefalsedevelop
Print uncategorized debugging information (requires +Verbose)
src/share/vm/runtime/globals.hpp
PrintNMTStatisticsboolruntimefalsediagnostic
Print native memory tracking summary data if it is on
src/share/vm/runtime/globals.hpp
PrintNMethodsboolruntimefalsediagnostic
Print assembly code for nmethods when generated
src/share/vm/runtime/globals.hpp
PrintNativeNMethodsboolruntimefalsediagnostic
Print assembly code for native nmethods when generated
src/share/vm/runtime/globals.hpp
PrintNotLoadedboolc1falsedevelop
Prints where classes are not loaded during code generation
src/share/vm/c1/c1_globals.hpp
PrintNullCheckEliminationboolc1falsedevelop
Print null check elimination
src/share/vm/c1/c1_globals.hpp
PrintOldPLABboolruntimefalseproduct
Print (old gen) promotion LAB's sizing decisions
src/share/vm/runtime/globals.hpp
PrintOopAddressboolruntimefalseproduct
Always print the location of the oop
src/share/vm/runtime/globals.hpp
PrintOptimizePtrCompareboolc2falsenotproduct
Print information about optimized pointers compare
src/share/vm/opto/c2_globals.hpp
PrintOptimizeStringConcatboolc2falsenotproduct
Print information about transformations performed on Strings
src/share/vm/opto/c2_globals.hpp
PrintOptoAssemblyboolc2falsenotproduct
Print New compiler assembly output
src/share/vm/opto/c2_globals.hpp
PrintOptoInliningboolc2falsenotproduct
Print compiler2 inlining decisions
src/share/vm/opto/c2_globals.hpp
PrintOptoPeepholeboolc2falsenotproduct
Print New compiler peephole replacements
src/share/vm/opto/c2_globals.hpp
PrintOptoStatisticsboolc2falsenotproduct
Print New compiler statistics
src/share/vm/opto/c2_globals.hpp
PrintOptoboolc2falsenotproduct
Print compiler2 attempts
src/share/vm/opto/c2_globals.hpp
PrintPLABboolruntimefalseproduct
Print (survivor space) promotion LAB's sizing decisions
src/share/vm/runtime/globals.hpp
PrintParallelOldGCPhaseTimesboolruntimefalseproduct
Print the time taken by each phase in ParallelOldGC 
(PrintGCDetails must also be enabled)
src/share/vm/runtime/globals.hpp
PrintParseStatisticsboolc2falsenotproduct
Print nodes, transforms and new values made per bytecode parsed
src/share/vm/opto/c2_globals.hpp
PrintPhiFunctionsboolc1falsenotproduct
Print phi functions when they are created and simplified
src/share/vm/c1/c1_globals.hpp
PrintPreciseBiasedLockingStatisticsDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolc2falsediagnostic
Print per-lock-site statistics of biased locking in JVM
src/share/vm/opto/c2_globals.hpp
PrintPreciseRTMLockingStatisticsboolc2falsediagnostic
Print per-lock-site statistics of rtm locking in JVM
src/share/vm/opto/c2_globals.hpp
PrintPromotionFailureboolruntimefalseproduct
Print additional diagnostic information following 
promotion failure
src/share/vm/runtime/globals.hpp
PrintReferenceGCboolruntimefalseproduct
Print times spent handling reference objects during GC 
(enabled only when PrintGCDetails)
src/share/vm/runtime/globals.hpp
PrintRelocationsboolruntimefalsedevelop
Print relocation information for all nmethods when generated
src/share/vm/runtime/globals.hpp
PrintRewritesboolruntimefalsenotproduct
Print methods that are being rewritten
src/share/vm/runtime/globals.hpp
PrintSafepointStatisticsCountDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
intxruntime300product
Total number of safepoint statistics collected 
before printing them out
src/share/vm/runtime/globals.hpp
PrintSafepointStatisticsTimeoutDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
intxruntime-1product
Print safepoint statistics only when safepoint takes 
more than PrintSafepointSatisticsTimeout in millis
src/share/vm/runtime/globals.hpp
PrintSafepointStatisticsDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproduct
Print statistics about safepoint synchronization
src/share/vm/runtime/globals.hpp
PrintSharedArchiveAndExitboolruntimeEMBEDDED_ONLY: falseproduct
Print shared archive file contents
src/share/vm/runtime/globals.hpp
PrintSharedDictionaryObsoleted in JDK20
Expired in JDK21
boolruntimeEMBEDDED_ONLY: falseproduct
If PrintSharedArchiveAndExit is true, also print the shared 
dictionary
src/share/vm/runtime/globals.hpp
PrintSharedSpacesObsoleted in JDK16
Expired in JDK17
boolruntimeEMBEDDED_ONLY: falseproduct
Print usage of shared spaces
src/share/vm/runtime/globals.hpp
PrintSignatureHandlersboolruntimefalsediagnostic
Print code generated for native method signature handlers
src/share/vm/runtime/globals.hpp
PrintSimpleStubsboolc1falsenotproduct
Print SimpleStubs
src/share/vm/c1/c1_globals.hpp
PrintStringDeduplicationStatisticsboolruntimeEMBEDDED_ONLY: falseproduct
Print string deduplication statistics
src/share/vm/runtime/globals.hpp
PrintStringTableStatisticsboolruntimefalseproduct
print statistics about the StringTable and SymbolTable
src/share/vm/runtime/globals.hpp
PrintStubCodeboolruntimefalsediagnostic
Print generated stub code
src/share/vm/runtime/globals.hpp
PrintSymbolTableSizeHistogramboolruntimefalsenotproduct
print histogram of the symbol table
src/share/vm/runtime/globals.hpp
PrintSystemDictionaryAtExitboolruntimefalsenotproduct
Print the system dictionary at exit
src/share/vm/runtime/globals.hpp
PrintTLABboolruntimefalseproduct
Print various TLAB related information
src/share/vm/runtime/globals.hpp
PrintTenuringDistributionboolruntimefalseproduct
Print tenuring age information
src/share/vm/runtime/globals.hpp
PrintTieredEventsboolruntimeEMBEDDED_ONLY: falseproduct
Print tiered events notifications
src/share/vm/runtime/globals.hpp
PrintUnsafeOptimizationboolc1falsedevelop
Print optimization of raw unsafe ops
src/share/vm/c1/c1_globals.hpp
PrintVMMessagesboolruntimetruedevelop
Print VM messages on console
src/share/vm/runtime/globals.hpp
PrintVMOptionsboolruntimefalseproduct
Print flags that appeared on the command line
src/share/vm/runtime/globals.hpp
PrintVMQWaitTimeDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Print out the waiting time in VM operation queue
src/share/vm/runtime/globals.hpp
PrintValueNumberingboolc1falsedevelop
Print Value Numbering
src/share/vm/c1/c1_globals.hpp
PrintVtableStatsboolruntimefalsenotproduct
print vtables stats at end of run
src/share/vm/runtime/globals.hpp
PrintVtablesboolruntimefalsedevelop
print vtables when printing klass
src/share/vm/runtime/globals.hpp
PrintWarningsboolruntimetrueproduct
Print JVM warnings to output stream
src/share/vm/runtime/globals.hpp
ProcessDistributionStrideObsoleted in JDK23
Expired in JDK24
uintxruntime4product
Stride through processors when distributing processes
src/share/vm/runtime/globals.hpp
ProfileDynamicTypesboolc2truediagnostic
do extra type profiling and use it more aggressively
src/share/vm/opto/c2_globals.hpp
ProfileInterpreterboolaarch64c1falsedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
ProfileInterpreterboolaarch64c2truedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
ProfileInterpreterboolruntimeproduct_pd
Profile at the bytecode level during interpretation
src/share/vm/runtime/globals.hpp
ProfileInterpreterboolppcc2truedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
ProfileInterpreterboolsparcc1falsedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
ProfileInterpreterboolsparcc2truedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
ProfileInterpreterboolx86c1falsedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
ProfileInterpreterboolx86c2truedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
ProfileInterpreterboolzerosharkfalsedefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
ProfileIntervalsTicksObsoleted in JDK13
Expired in JDK14
intxruntimeEMBEDDED_ONLY: 100product
Number of ticks between printing of interval profile 
(+ProfileIntervals)
src/share/vm/runtime/globals.hpp
ProfileIntervalsObsoleted in JDK13
Expired in JDK14
boolruntimefalseproduct
Print profiles for each interval (see ProfileIntervalsTicks)
src/share/vm/runtime/globals.hpp
ProfileMaturityPercentageintxruntime20product
number of method invocations/branches (expressed as % of 
CompileThreshold) before using the method's profile
src/share/vm/runtime/globals.hpp
ProfileTrapsboolaarch64c1falsedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
ProfileTrapsboolaarch64c2truedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
ProfileTrapsboolruntimedevelop_pd
Profile deoptimization traps at the bytecode level
src/share/vm/runtime/globals.hpp
ProfileTrapsboolppcc2truedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
ProfileTrapsboolsparcc1falsedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
ProfileTrapsboolsparcc2truedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
ProfileTrapsboolx86c1falsedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
ProfileTrapsboolx86c2truedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
ProfileTrapsboolzerosharkfalsedefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
ProfileVMObsoleted in JDK13
Expired in JDK14
boolruntimefalseproduct
Profile ticks that fall within VM (either in the VM Thread 
or VM code called through stubs)
src/share/vm/runtime/globals.hpp
ProfilerCheckIntervalsObsoleted in JDK13
Expired in JDK14
boolruntimefalsenotproduct
Collect and print information on spacing of profiler ticks
src/share/vm/runtime/globals.hpp
ProfilerNodeSizeintxruntimeEMBEDDED_ONLY: 1024develop
Size in K to allocate for the Profile Nodes of each thread
src/share/vm/runtime/globals.hpp
ProfilerNumberOfCompiledMethodsObsoleted in JDK13
Expired in JDK14
intxruntimeEMBEDDED_ONLY: 25develop
Number of compiled methods to show in profile
src/share/vm/runtime/globals.hpp
ProfilerNumberOfInterpretedMethodsObsoleted in JDK13
Expired in JDK14
intxruntimeEMBEDDED_ONLY: 25develop
Number of interpreted methods to show in profile
src/share/vm/runtime/globals.hpp
ProfilerNumberOfRuntimeStubNodesObsoleted in JDK13
Expired in JDK14
intxruntimeEMBEDDED_ONLY: 25develop
Number of runtime stub nodes to show in profile
src/share/vm/runtime/globals.hpp
ProfilerNumberOfStubMethodsObsoleted in JDK13
Expired in JDK14
intxruntimeEMBEDDED_ONLY: 25develop
Number of stub methods to show in profile
src/share/vm/runtime/globals.hpp
ProfilerPCTickThresholdintxruntimeEMBEDDED_ONLY: 15develop
Number of ticks in a PC buckets to be a hotspot
src/share/vm/runtime/globals.hpp
ProfilerPrintByteCodeStatisticsObsoleted in JDK13
Expired in JDK14
boolruntimefalseproduct
Print bytecode statistics when dumping profiler output
src/share/vm/runtime/globals.hpp
ProfilerRecordPCObsoleted in JDK13
Expired in JDK14
boolruntimefalseproduct
Collect ticks for each 16 byte interval of compiled code
src/share/vm/runtime/globals.hpp
PromotedPaddinguintxruntime3product
How much buffer to keep for promotion failure
src/share/vm/runtime/globals.hpp
PromotionFailureALotCountuintxruntime1000develop
Number of promotion failures occurring at ParGCAllocBuffer 
refill attempts (ParNew) or promotion attempts 
(other young collectors)
src/share/vm/runtime/globals.hpp
PromotionFailureALotIntervaluintxruntime5develop
Total collections between promotion failures alot
src/share/vm/runtime/globals.hpp
PromotionFailureALotboolruntimefalsenotproduct
Use promotion failure handling on every youngest generation 
collection
src/share/vm/runtime/globals.hpp
ProtectionDomainVerificationboolruntimetruedevelop
Verify protection domain before resolution in system dictionary
src/share/vm/runtime/globals.hpp
QueuedAllocationWarningCountuintxruntimeEMBEDDED_ONLY: 0product
Number of times an allocation that queues behind a GC 
will retry before printing a warning
src/share/vm/runtime/globals.hpp
RTMAbortRatiointxx8650experimental
Lock abort ratio at which to stop use RTM lock eliding
src/cpu/x86/vm/globals_x86.hpp
RTMAbortThresholdintxx861000experimental
Calculate abort ratio after this number of aborts
src/cpu/x86/vm/globals_x86.hpp
RTMLockingCalculationDelayintxx860experimental
Number of milliseconds to wait before start calculating aborts 
for RTM locking
src/cpu/x86/vm/globals_x86.hpp
RTMLockingThresholdintxx8610000experimental
Lock count at which to do RTM lock eliding without 
abort ratio calculation
src/cpu/x86/vm/globals_x86.hpp
RTMRetryCountuintxx865product
Number of RTM retries on lock abort or busy
src/cpu/x86/vm/globals_x86.hpp
RTMSpinLoopCountintxx86100experimental
Spin count for lock to become free before RTM retry
src/cpu/x86/vm/globals_x86.hpp
RTMTotalCountIncrRateintxx8664experimental
Increment total RTM attempted lock count once every n times
src/cpu/x86/vm/globals_x86.hpp
RangeCheckEliminationboolruntimetrueproduct
Eliminate range checks
src/share/vm/runtime/globals.hpp
RangeLimitCheckboolc2truediagnostic
Additional overflow checks during range check elimination
src/share/vm/opto/c2_globals.hpp
ReadPrefetchInstrintxx860product
Prefetch instruction to prefetch ahead
src/cpu/x86/vm/globals_x86.hpp
ReassociateInvariantsboolc2trueproduct
Enable reassociation of expressions with loop invariants.
src/share/vm/opto/c2_globals.hpp
ReduceBulkZeroingboolc2trueproduct
When bulk-initializing, try to avoid needless zeroing
src/share/vm/opto/c2_globals.hpp
ReduceFieldZeroingboolc2trueproduct
When initializing fields, try to avoid needless zeroing
src/share/vm/opto/c2_globals.hpp
ReduceInitialCardMarksboolc2trueproduct
When initializing fields, try to avoid needless card marks
src/share/vm/opto/c2_globals.hpp
ReduceSignalUsageboolruntimefalseproduct
Reduce the use of OS signals in Java and/or the VM
src/share/vm/runtime/globals.hpp
RefDiscoveryPolicyObsoleted in JDK21
Expired in JDK24
intxruntime0product
Select type of reference discovery policy: 
reference-based(0) or referent-based(1)
src/share/vm/runtime/globals.hpp
ReflectionWrapResolutionErrorsboolruntimeEMBEDDED_ONLY: trueproduct
Temporary flag for transition to AbstractMethodError wrapped 
in InvocationTargetException. See 6531596
src/share/vm/runtime/globals.hpp
RegisterCostAreaRatiointxaarch64c216000define_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
RegisterCostAreaRatiointxc2develop_pd
Spill selection in reg allocator: scale area by (X/64K) before 
adding cost
src/share/vm/opto/c2_globals.hpp
RegisterCostAreaRatiointxppcc216000define_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
RegisterCostAreaRatiointxsparcc212000define_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
RegisterCostAreaRatiointxx86c216000define_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
RegisterFinalizersAtInitDeprecated in JDK22
Obsoleted in JDK23
Expired in JDK24
boolruntimetrueproduct
Register finalizable objects at end of Object. or 
after allocation
src/share/vm/runtime/globals.hpp
RegisterReferencesboolruntimetruedevelop
Tell whether the VM should register soft/weak/final/phantom 
references
src/share/vm/runtime/globals.hpp
RelaxAccessControlCheckboolruntimeEMBEDDED_ONLY: falseproduct
Relax the access control checks in the verifier
src/share/vm/runtime/globals.hpp
RenumberLiveNodesboolc2truedevelop
Renumber live nodes
src/share/vm/opto/c2_globals.hpp
ReoptimizeCallSequencesboolppctrueproduct
Reoptimize code-sequences of calls at runtime.
src/cpu/ppc/vm/globals_ppc.hpp
ReplayCompilesboolruntimeEMBEDDED_ONLY: falsedevelop
Enable replay of compilations from ReplayDataFile
src/share/vm/runtime/globals.hpp
ReplayDataFileccstrruntimeEMBEDDED_ONLY: NULLproduct
File containing compilation replay information
[default: ./replay_pid%p.log] (%p replaced with pid)
src/share/vm/runtime/globals.hpp
ReplayIgnoreInitErrorsboolruntimeEMBEDDED_ONLY: falsedevelop
Ignore exceptions thrown during initialization for replay
src/share/vm/runtime/globals.hpp
ReplaySuppressInitializersintxruntimeEMBEDDED_ONLY: 2develop
Control 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
src/share/vm/runtime/globals.hpp
RequireSharedSpacesDeprecated in JDK18
Obsoleted in JDK19
boolruntimeEMBEDDED_ONLY: falseproduct
Require shared spaces for metadata
src/share/vm/runtime/globals.hpp
ReservedCodeCacheSizeintxaarch64c132*Mdefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
ReservedCodeCacheSizeintxaarch64c248*Mdefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
ReservedCodeCacheSizeintxruntime32*Mdefine_pd_global
src/share/vm/runtime/globals.hpp
ReservedCodeCacheSizeuintxruntimeproduct_pd
Reserved code cache size (in bytes) - maximum code cache size
src/share/vm/runtime/globals.hpp
ReservedCodeCacheSizeintxppcc2256*Mdefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
ReservedCodeCacheSizeintxsparcc132*Mdefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
ReservedCodeCacheSizeintxsparcc232*Mdefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
ReservedCodeCacheSizeintxx86c132*Mdefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
ReservedCodeCacheSizeintxx86c248*Mdefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
ReservedCodeCacheSizeintxzeroshark32*Mdefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
ResizeOldPLABObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Dynamically resize (old gen) promotion LAB's
src/share/vm/runtime/globals.hpp
ResizePLABboolruntimetrueproduct
Dynamically resize (survivor space) promotion LAB's
src/share/vm/runtime/globals.hpp
ResizeTLABboolaarch64c1truedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
ResizeTLABboolaarch64c2truedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
ResizeTLABboolruntimeproduct_pd
Dynamically resize TLAB size for threads
src/share/vm/runtime/globals.hpp
ResizeTLABboolppcc2truedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
ResizeTLABboolsparcc1truedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
ResizeTLABboolsparcc2truedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
ResizeTLABboolx86c1truedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
ResizeTLABboolx86c2truedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
ResizeTLABboolzerosharktruedefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
RestoreMXCSROnJNICallsboolruntimefalseproduct
Restore MXCSR when returning from JNI calls
src/share/vm/runtime/globals.hpp
RestrictContendedboolruntimetrueproduct
Restrict @Contended to trusted classes
src/share/vm/runtime/globals.hpp
RewriteBytecodesboolaarch64truedefine_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
RewriteBytecodesboolruntimeproduct_pd
Allow rewriting of bytecodes (bytecodes are not immutable)
src/share/vm/runtime/globals.hpp
RewriteBytecodesboolppctruedefine_pd_global
src/cpu/ppc/vm/globals_ppc.hpp
RewriteBytecodesboolsparctruedefine_pd_global
src/cpu/sparc/vm/globals_sparc.hpp
RewriteBytecodesboolx86truedefine_pd_global
src/cpu/x86/vm/globals_x86.hpp
RewriteBytecodesboolzerotruedefine_pd_global
src/cpu/zero/vm/globals_zero.hpp
RewriteFrequentPairsboolaarch64truedefine_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
RewriteFrequentPairsboolruntimeproduct_pd
Rewrite frequently used bytecode pairs into a single bytecode
src/share/vm/runtime/globals.hpp
RewriteFrequentPairsboolppctruedefine_pd_global
src/cpu/ppc/vm/globals_ppc.hpp
RewriteFrequentPairsboolsparctruedefine_pd_global
src/cpu/sparc/vm/globals_sparc.hpp
RewriteFrequentPairsboolx86truedefine_pd_global
src/cpu/x86/vm/globals_x86.hpp
RewriteFrequentPairsboolzerotruedefine_pd_global
src/cpu/zero/vm/globals_zero.hpp
RotateCMSCollectionTypesboolruntimefalsedevelop
Rotate the CMS collections among concurrent and STW
src/share/vm/runtime/globals.hpp
RoundFPResultsboolaarch64c1truedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
RoundFPResultsboolc1develop_pd
Indicates whether rounding is needed for floating point results
src/share/vm/c1/c1_globals.hpp
RoundFPResultsboolsparcc1falsedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
RoundFPResultsboolx86c1truedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
SafepointALotboolruntimefalsedevelop
Generate a lot of safepoints. This works with 
GuaranteedSafepointInterval
src/share/vm/runtime/globals.hpp
SafepointPollOffsetintxaarch64c10define_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
SafepointPollOffsetintxc1product_pd
Offset added to polling address (Intel only)
src/share/vm/c1/c1_globals.hpp
SafepointPollOffsetintxsparcc10define_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
SafepointPollOffsetintxx86c1256define_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
SafepointSpinBeforeYieldDeprecated in JDK10
Obsoleted in JDK11
Expired in JDK12
intxruntimeEMBEDDED_ONLY: 2000product
(Unstable)
src/share/vm/runtime/globals.hpp
SafepointTimeoutDelayintxruntimeEMBEDDED_ONLY: 10000product
Delay in milliseconds for option SafepointTimeout
src/share/vm/runtime/globals.hpp
SafepointTimeoutboolruntimefalseproduct
Time out and warn or fail after SafepointTimeoutDelay 
milliseconds if failed to reach safepoint
src/share/vm/runtime/globals.hpp
ScavengeALotIntervalintxruntimeEMBEDDED_ONLY: 1notproduct
Interval between which scavenge will occur with +ScavengeALot
src/share/vm/runtime/globals.hpp
ScavengeALotboolruntimefalsenotproduct
Force scavenge at every Nth exit from the runtime system 
(N=ScavengeALotInterval)
src/share/vm/runtime/globals.hpp
ScavengeBeforeFullGCboolruntimetrueproduct
Scavenge youngest generation before each full GC, 
used with UseParallelGC
src/share/vm/runtime/globals.hpp
ScavengeRootsInCodeintxruntime2diagnostic
0: 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
src/share/vm/runtime/globals.hpp
ScavengeWithObjectsInToSpaceboolruntimefalsedevelop
Allow scavenges to occur when to-space contains objects
src/share/vm/runtime/globals.hpp
SegmentedHeapDumpThresholduintxruntime2*Gdevelop
Generate a segmented heap dump (JAVA PROFILE 1.0.2 format) 
when the heap usage is larger than this
src/share/vm/runtime/globals.hpp
SelectivePhiFunctionsboolc1truedevelop
create phi functions at loop headers only when necessary
src/share/vm/c1/c1_globals.hpp
SelfDestructTimerintxruntime0product
Will cause VM to terminate after a given time (in minutes) 
(0 means off)
src/share/vm/runtime/globals.hpp
SerializeVMOutputboolruntimetruediagnostic
Use a mutex to serialize output to tty and LogFile
src/share/vm/runtime/globals.hpp
ShareVtableStubsboolaarch64truedefine_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
SharedArchiveFileccstrruntimeEMBEDDED_ONLY: NULLdiagnostic
Override the default location of the CDS archive file
src/share/vm/runtime/globals.hpp
SharedBaseAddressuintxruntimeEMBEDDED_ONLY: LP64_ONLY(32*G)NOT_LP64(LINUX_ONLY(2*G) NOT_LINUX(0))product
Address to allocate shared memory region for class data
src/share/vm/runtime/globals.hpp
SharedClassListFileccstrruntimeEMBEDDED_ONLY: NULLproduct
Override the default CDS class list
src/share/vm/runtime/globals.hpp
SharedMiscCodeSizeObsoleted in JDK10uintxruntimeEMBEDDED_ONLY: AARCH64_ONLY(192*K) NOT_AARCH64(120*K)product
Size of the shared miscellaneous code area (in bytes)
src/share/vm/runtime/globals.hpp
SharedMiscDataSizeObsoleted in JDK10uintxruntimeEMBEDDED_ONLY: NOT_LP64(2*M) LP64_ONLY(4*M)product
Size of the shared miscellaneous data area (in bytes)
src/share/vm/runtime/globals.hpp
SharedReadOnlySizeObsoleted in JDK10uintxruntimeEMBEDDED_ONLY: NOT_LP64(12*M) LP64_ONLY(16*M)product
Size of read-only space for metadata (in bytes)
src/share/vm/runtime/globals.hpp
SharedReadWriteSizeObsoleted in JDK10uintxruntimeEMBEDDED_ONLY: NOT_LP64(12*M) LP64_ONLY(16*M)product
Size of read-write space for metadata (in bytes)
src/share/vm/runtime/globals.hpp
SharkMaxInlineSizeintxshark32product
Maximum bytecode size of methods to inline when using Shark
src/share/vm/shark/shark_globals.hpp
SharkOptimizationLevelccstrsharkDefaultproduct
The optimization level passed to LLVM, possible values: None, Less, Default and Agressive
src/share/vm/shark/shark_globals.hpp
SharkPerformanceWarningsboolsharkfalsediagnostic
Warn about things that could be made faster
src/share/vm/shark/shark_globals.hpp
SharkPrintAsmOfccstrsharkNULLdiagnostic
Print the asm of the specified method
src/share/vm/shark/shark_globals.hpp
SharkPrintBitcodeOfccstrsharkNULLdiagnostic
Print the LLVM bitcode of the specified method
src/share/vm/shark/shark_globals.hpp
SharkPrintTypeflowOfccstrsharkNULLdevelop
Print the typeflow of the specified method
src/share/vm/shark/shark_globals.hpp
SharkTraceBytecodesboolsharkfalsedevelop
Trace bytecode compilation
src/share/vm/shark/shark_globals.hpp
SharkTraceInstallsboolsharkfalsediagnostic
Trace method installation
src/share/vm/shark/shark_globals.hpp
SharkVerifyFunctionccstrsharkNULLdevelop
Runs LLVM verify over LLVM IR
src/share/vm/shark/shark_globals.hpp
ShowHiddenFramesboolruntimeEMBEDDED_ONLY: falsediagnostic
show method handle implementation frames (usually hidden)
src/share/vm/runtime/globals.hpp
ShowMessageBoxOnErrorboolruntimefalseproduct
Keep process alive on VM fatal error
src/share/vm/runtime/globals.hpp
ShowSafepointMsgsObsoleted in JDK11
Expired in JDK12
boolruntimefalsedevelop
Show message about safepoint synchronization
src/share/vm/runtime/globals.hpp
SoftMatchFailureboolc2trueInProductdevelop
If the DFA fails to match a node, print a message and bail out
src/share/vm/opto/c2_globals.hpp
SoftRefLRUPolicyMSPerMBintxruntimeEMBEDDED_ONLY: 1000product
Number of milliseconds per MB of free space in the heap
src/share/vm/runtime/globals.hpp
SparcV9RegsHiBitsZeroboolc2truedevelop
Assume Sparc V9 I&L registers on V8+ systems are zero-extended
src/share/vm/opto/c2_globals.hpp
SpecTrapLimitExtraEntriesintxruntimeEMBEDDED_ONLY: 3experimental
Extra method data trap entries for speculation
src/share/vm/runtime/globals.hpp
SpecialArraysEqualsboolc2truedevelop
special version of Arrays.equals(char[],char[])
src/share/vm/opto/c2_globals.hpp
SpecialEncodeISOArrayboolc2trueproduct
special version of ISO_8859_1$Encoder.encodeISOArray
src/share/vm/opto/c2_globals.hpp
SpecialStringCompareToboolc2truedevelop
special version of string compareTo
src/share/vm/opto/c2_globals.hpp
SpecialStringEqualsboolc2truedevelop
special version of string equals
src/share/vm/opto/c2_globals.hpp
SpecialStringIndexOfboolc2truedevelop
special version of string indexOf
src/share/vm/opto/c2_globals.hpp
SplitIfBlocksboolc2trueproduct
Clone compares and control flow through merge points to fold 
some branches
src/share/vm/opto/c2_globals.hpp
StackPrintLimitintxruntimeEMBEDDED_ONLY: 100develop
number of stack frames to print in VM-level stack dump
src/share/vm/runtime/globals.hpp
StackRedPagesintxaixppc1define_pd_global
src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp
StackRedPagesintxlinuxppc1define_pd_global
src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp
StackRedPagesintxaarch641define_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
StackRedPagesintxruntimeproduct_pd
Number of red zone (unrecoverable overflows) pages
src/share/vm/runtime/globals.hpp
StackRedPagesintxsparc1define_pd_global
src/cpu/sparc/vm/globals_sparc.hpp
StackRedPagesintxx861define_pd_global
src/cpu/x86/vm/globals_x86.hpp
StackRedPagesintxzero1define_pd_global
src/cpu/zero/vm/globals_zero.hpp
StackShadowPagesintxaixppc6 DEBUG_ONLY(+2)define_pd_global
src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp
StackShadowPagesintxlinuxppc6 DEBUG_ONLY(+2)define_pd_global
src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp
StackShadowPagesintxaarch6420 DEBUG_ONLY(+5)define_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
StackShadowPagesintxruntimeproduct_pd
Number of shadow zone (for overflow checking) pages 
this should exceed the depth of the VM and native call stack
src/share/vm/runtime/globals.hpp
StackShadowPagesintxsparc3 DEBUG_ONLY(+1)define_pd_global
src/cpu/sparc/vm/globals_sparc.hpp
StackShadowPagesintxx864 DEBUG_ONLY(+5)define_pd_global
src/cpu/x86/vm/globals_x86.hpp
StackShadowPagesintxzero5 LP64_ONLY(+1) DEBUG_ONLY(+3)define_pd_global
src/cpu/zero/vm/globals_zero.hpp
StackTraceInThrowableboolruntimetrueproduct
Collect backtrace in throwable when exception happens
src/share/vm/runtime/globals.hpp
StackYellowPagesintxaixppc6define_pd_global
src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp
StackYellowPagesintxlinuxppc6define_pd_global
src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp
StackYellowPagesintxaarch642define_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
StackYellowPagesintxruntimeproduct_pd
Number of yellow zone (recoverable overflows) pages
src/share/vm/runtime/globals.hpp
StackYellowPagesintxsparc2define_pd_global
src/cpu/sparc/vm/globals_sparc.hpp
StackYellowPagesintxx86NOT_WINDOWS(2) WINDOWS_ONLY(3)define_pd_global
src/cpu/x86/vm/globals_x86.hpp
StackYellowPagesintxzero2define_pd_global
src/cpu/zero/vm/globals_zero.hpp
StartAttachListenerboolruntimeEMBEDDED_ONLY: falseproduct
Always start Attach Listener at VM startup
src/share/vm/runtime/globals.hpp
StartFlightRecordingccstrruntimeEMBEDDED_ONLY: NULLproduct
Start flight recording with options
src/share/vm/runtime/globals.hpp
StarvationMonitorIntervalintxruntimeEMBEDDED_ONLY: 200product
Pause between each check (in milliseconds)
src/share/vm/runtime/globals.hpp
StopInterpreterAtintxruntimeEMBEDDED_ONLY: 0develop
Stop interpreter execution at specified bytecode number
src/share/vm/runtime/globals.hpp
StressCodeBuffersboolruntimefalsedevelop
Exercise code buffer expansion and other rare state changes
src/share/vm/runtime/globals.hpp
StressCompiledExceptionHandlersboolruntimefalsedevelop
Exercise compiled exception handlers
src/share/vm/runtime/globals.hpp
StressCriticalJNINativesboolruntimefalsenotproduct
Exercise register saving code in critical natives
src/share/vm/runtime/globals.hpp
StressDerivedPointersboolruntimefalsenotproduct
Force scavenge when a derived pointer is detected on stack 
after rtm call
src/share/vm/runtime/globals.hpp
StressGCMboolc2falsediagnostic
Randomize instruction scheduling in GCM
src/share/vm/opto/c2_globals.hpp
StressLCMboolc2falsediagnostic
Randomize instruction scheduling in LCM
src/share/vm/opto/c2_globals.hpp
StressLdcRewriteboolruntimefalseproduct
Force ldc -> ldc_w rewrite during RedefineClasses
src/share/vm/runtime/globals.hpp
StressLinearScanboolc1falsedevelop
scramble block order used by LinearScan (stress test)
src/share/vm/c1/c1_globals.hpp
StressLoopInvariantCodeMotionboolc1falsedevelop
stress loop invariant code motion
src/share/vm/c1/c1_globals.hpp
StressMethodComparatorboolruntimefalsedevelop
Run the MethodComparator on all loaded methods
src/share/vm/runtime/globals.hpp
StressRangeCheckEliminationboolc1falsedevelop
stress Range Check Elimination
src/share/vm/c1/c1_globals.hpp
StressRecompilationboolc2falsedevelop
Recompile each compiled method without subsuming loads or escape analysis.
src/share/vm/opto/c2_globals.hpp
StressReflectiveCodeboolc2falsedevelop
Use inexact types at allocations, etc., to test reflection
src/share/vm/opto/c2_globals.hpp
StressRewriterboolruntimefalsedevelop
Stress linktime bytecode rewriting
src/share/vm/runtime/globals.hpp
StrictSafepointChecksboolruntimetrueInDebugnotproduct
Enable strict checks that safepoints cannot happen for threads 
that use No_Safepoint_Verifier
src/share/vm/runtime/globals.hpp
StringDeduplicationAgeThresholduintxruntimeEMBEDDED_ONLY: 3product
A string must reach this age (or be promoted to an old region) 
to be considered for deduplication
src/share/vm/runtime/globals.hpp
StringDeduplicationRehashALotboolruntimeEMBEDDED_ONLY: falsediagnostic
Force table rehash every time the table is scanned
src/share/vm/runtime/globals.hpp
StringDeduplicationResizeALotboolruntimeEMBEDDED_ONLY: falsediagnostic
Force table resize every time the table is scanned
src/share/vm/runtime/globals.hpp
StringTableSizeuintxruntimeEMBEDDED_ONLY: defaultStringTableSizeproduct
Number of buckets in the interned String table
src/share/vm/runtime/globals.hpp
SubsumeLoadsboolc2truedevelop
Attempt to compile while subsuming loads into machine instructions.
src/share/vm/opto/c2_globals.hpp
SuperWordRTDepCheckboolc2falsedevelop
Enable runtime dependency checks.
src/share/vm/opto/c2_globals.hpp
SuppressErrorAtccstrlistruntimeEMBEDDED_ONLY:
notproduct
List of assertions (file:line) to muzzle
src/share/vm/runtime/globals.hpp
SuppressFatalErrorMessageboolruntimefalseproduct
Report NO fatal error message (avoid deadlock)
src/share/vm/runtime/globals.hpp
SurvivorAlignmentInBytesintxruntimeEMBEDDED_ONLY: 0experimental
Default survivor space alignment in bytes
src/share/vm/runtime/globals.hpp
SurvivorPaddinguintxruntime3product
How much buffer to keep for survivor overflow
src/share/vm/runtime/globals.hpp
SurvivorRatiouintxbsdx868define_pd_global
src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp
SurvivorRatiouintxruntimeEMBEDDED_ONLY: 8product
Ratio of eden/survivor space size
src/share/vm/runtime/globals.hpp
SuspendRetryCountObsoleted in JDK17
Expired in JDK18
intxruntime50product
Maximum retry count for an external suspend request
src/share/vm/runtime/globals.hpp
SuspendRetryDelayObsoleted in JDK17
Expired in JDK18
intxruntime5product
Milliseconds to delay per retry (* current_retry_count)
src/share/vm/runtime/globals.hpp
SweeperLogEntriesintxruntimeEMBEDDED_ONLY: 1024notproduct
Number of records in the ring buffer of sweeper activity
src/share/vm/runtime/globals.hpp
SymbolTableSizeuintxruntimeEMBEDDED_ONLY: defaultSymbolTableSizeexperimental
Number of buckets in the JVM internal Symbol table
src/share/vm/runtime/globals.hpp
SyncFlagsObsoleted in JDK12
Expired in JDK13
intxruntime0product
(Unsafe, Unstable) Experimental Sync flags
src/share/vm/runtime/globals.hpp
SyncKnobsObsoleted in JDK12
Expired in JDK13
ccstrruntimeNULLproduct
(Unstable) Various monitor synchronization tunables
src/share/vm/runtime/globals.hpp
SyncVerboseObsoleted in JDK12
Expired in JDK13
intxruntime0product
(Unstable)
src/share/vm/runtime/globals.hpp
TLABAllocationWeightuintxruntimeEMBEDDED_ONLY: 35product
Allocation averaging weight
src/share/vm/runtime/globals.hpp
TLABRefillWasteFractionuintxruntimeEMBEDDED_ONLY: 64product
Maximum TLAB waste at a refill (internal fragmentation)
src/share/vm/runtime/globals.hpp
TLABSizeuintxruntimeEMBEDDED_ONLY: 0product
Starting TLAB size (in bytes); zero means set ergonomically
src/share/vm/runtime/globals.hpp
TLABStatsDeprecated in JDK12
Obsoleted in JDK23
Expired in JDK24
boolruntimetrueproduct
Provide more detailed and expensive TLAB statistics 
(with PrintTLAB)
src/share/vm/runtime/globals.hpp
TLABWasteIncrementuintxruntimeEMBEDDED_ONLY: 4product
Increment allowed waste at slow allocation
src/share/vm/runtime/globals.hpp
TLABWasteTargetPercentuintxruntimeEMBEDDED_ONLY: 1product
Percentage of Eden that can be wasted
src/share/vm/runtime/globals.hpp
TargetPLABWastePctuintxruntime10product
Target wasted space in last buffer as percent of overall 
allocation
src/share/vm/runtime/globals.hpp
TargetSurvivorRatiouintxruntimeEMBEDDED_ONLY: 50product
Desired percentage of survivor space used after scavenge
src/share/vm/runtime/globals.hpp
TenuredGenerationSizeIncrementuintxruntime20product
Adaptive size percentage change in tenured generation
src/share/vm/runtime/globals.hpp
TenuredGenerationSizeSupplementDecayuintxruntime2product
Decay factor to TenuredGenerationSizeIncrement
src/share/vm/runtime/globals.hpp
TenuredGenerationSizeSupplementuintxruntime80product
Supplement to TenuredGenerationSizeIncrement used at startup
src/share/vm/runtime/globals.hpp
ThreadPriorityPolicyintxruntimeEMBEDDED_ONLY: 0product
0 : 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 this policy requires root privilege.
src/share/vm/runtime/globals.hpp
ThreadPriorityVerboseboolruntimeEMBEDDED_ONLY: falseproduct
Print priority changes
src/share/vm/runtime/globals.hpp
ThreadSafetyMarginuintxruntimeEMBEDDED_ONLY: 50*Mproduct
Thread safety margin is used on fixed-stack LinuxThreads (on 
Linux/x86 only) to prevent heap-stack collision. Set to 0 to 
disable this feature
src/share/vm/runtime/globals.hpp
ThreadStackSizeintxaixppc2048define_pd_global
// 0 => use system default
src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp
ThreadStackSizeintxbsdaarch642048define_pd_global
// 0 => use system default
src/os_cpu/bsd_aarch64/vm/globals_bsd_aarch64.hpp
ThreadStackSizeintxbsdx86320define_pd_global
src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp
ThreadStackSizeintxbsdzero1536define_pd_global
src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp
ThreadStackSizeintxlinuxaarch642048define_pd_global
// 0 => use system default
src/os_cpu/linux_aarch64/vm/globals_linux_aarch64.hpp
ThreadStackSizeintxlinuxppc2048define_pd_global
// 0 => use system default
src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp
ThreadStackSizeintxlinuxx86320define_pd_global
src/os_cpu/linux_x86/vm/globals_linux_x86.hpp
ThreadStackSizeintxlinuxzero1536define_pd_global
src/os_cpu/linux_zero/vm/globals_linux_zero.hpp
ThreadStackSizeintxruntimeproduct_pd
Thread Stack Size (in Kbytes)
src/share/vm/runtime/globals.hpp
ThreadStackSizeintxsparc512define_pd_global
src/cpu/sparc/vm/globals_sparc.hpp
ThreadStackSizeintxsolarisx86320define_pd_global
src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp
ThreadStackSizeintxwindowsx860define_pd_global
// 0 => use system default
src/os_cpu/windows_x86/vm/globals_windows_x86.hpp
ThresholdToleranceuintxruntime10product
Allowed collection cost difference between generations
src/share/vm/runtime/globals.hpp
Tier0BackedgeNotifyFreqLogintxruntimeEMBEDDED_ONLY: 10product
Interpreter (tier 0) invocation notification frequency
src/share/vm/runtime/globals.hpp
Tier0InvokeNotifyFreqLogintxruntimeEMBEDDED_ONLY: 7product
Interpreter (tier 0) invocation notification frequency
src/share/vm/runtime/globals.hpp
Tier0ProfilingStartPercentageintxruntimeEMBEDDED_ONLY: 200product
Start profiling in interpreter if the counters exceed tier 3 
thresholds by the specified percentage
src/share/vm/runtime/globals.hpp
Tier23InlineeNotifyFreqLogintxruntimeEMBEDDED_ONLY: 20product
Inlinee invocation (tiers 2 and 3) notification frequency
src/share/vm/runtime/globals.hpp
Tier2BackEdgeThresholdintxruntimeEMBEDDED_ONLY: 0product
Back edge threshold at which tier 2 compilation is invoked
src/share/vm/runtime/globals.hpp
Tier2BackEdgeThresholdintxzeroshark100000define_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
Tier2BackedgeNotifyFreqLogintxruntimeEMBEDDED_ONLY: 14product
C1 without MDO (tier 2) invocation notification frequency
src/share/vm/runtime/globals.hpp
Tier2CompileThresholdintxruntimeEMBEDDED_ONLY: 0product
threshold at which tier 2 compilation is invoked
src/share/vm/runtime/globals.hpp
Tier2CompileThresholdintxzeroshark1500define_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
Tier2InvokeNotifyFreqLogintxruntimeEMBEDDED_ONLY: 11product
C1 without MDO (tier 2) invocation notification frequency
src/share/vm/runtime/globals.hpp
Tier3BackEdgeThresholdintxruntimeEMBEDDED_ONLY: 60000product
Back edge threshold at which tier 3 OSR compilation is invoked
src/share/vm/runtime/globals.hpp
Tier3BackEdgeThresholdintxzeroshark100000define_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
Tier3BackedgeNotifyFreqLogintxruntimeEMBEDDED_ONLY: 13product
C1 with MDO profiling (tier 3) invocation notification 
frequency
src/share/vm/runtime/globals.hpp
Tier3CompileThresholdintxruntimeEMBEDDED_ONLY: 2000product
Threshold at which tier 3 compilation is invoked (invocation 
minimum must be satisfied
src/share/vm/runtime/globals.hpp
Tier3CompileThresholdintxzeroshark2500define_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
Tier3DelayOffintxruntimeEMBEDDED_ONLY: 2product
If C2 queue size is less than this amount per compiler thread 
allow methods compiled at tier 2 transition to tier 3
src/share/vm/runtime/globals.hpp
Tier3DelayOnintxruntimeEMBEDDED_ONLY: 5product
If C2 queue size grows over this amount per compiler thread 
stop compiling at tier 3 and start compiling at tier 2
src/share/vm/runtime/globals.hpp
Tier3InvocationThresholdintxruntimeEMBEDDED_ONLY: 200product
Compile if number of method invocations crosses this 
threshold
src/share/vm/runtime/globals.hpp
Tier3InvokeNotifyFreqLogintxruntimeEMBEDDED_ONLY: 10product
C1 with MDO profiling (tier 3) invocation notification 
frequency
src/share/vm/runtime/globals.hpp
Tier3LoadFeedbackintxruntimeEMBEDDED_ONLY: 5product
Tier 3 thresholds will increase twofold when C1 queue size 
reaches this amount per compiler thread
src/share/vm/runtime/globals.hpp
Tier3MinInvocationThresholdintxruntimeEMBEDDED_ONLY: 100product
Minimum invocation to compile at tier 3
src/share/vm/runtime/globals.hpp
Tier4BackEdgeThresholdintxruntimeEMBEDDED_ONLY: 40000product
Back edge threshold at which tier 4 OSR compilation is invoked
src/share/vm/runtime/globals.hpp
Tier4BackEdgeThresholdintxzeroshark100000define_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
Tier4CompileThresholdintxruntimeEMBEDDED_ONLY: 15000product
Threshold at which tier 4 compilation is invoked (invocation 
minimum must be satisfied
src/share/vm/runtime/globals.hpp
Tier4CompileThresholdintxzeroshark4500define_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
Tier4InvocationThresholdintxruntimeEMBEDDED_ONLY: 5000product
Compile if number of method invocations crosses this 
threshold
src/share/vm/runtime/globals.hpp
Tier4LoadFeedbackintxruntimeEMBEDDED_ONLY: 3product
Tier 4 thresholds will increase twofold when C2 queue size 
reaches this amount per compiler thread
src/share/vm/runtime/globals.hpp
Tier4MinInvocationThresholdintxruntimeEMBEDDED_ONLY: 600product
Minimum invocation to compile at tier 4
src/share/vm/runtime/globals.hpp
TieredCompilationboolaarch64c1falsedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
TieredCompilationboolaarch64c2trueInTiereddefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
TieredCompilationboolruntimefalsedefine_pd_global
src/share/vm/runtime/globals.hpp
TieredCompilationboolruntimeproduct_pd
Enable tiered compilation
src/share/vm/runtime/globals.hpp
TieredCompilationboolppcc2falsedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
TieredCompilationboolsparcc1falsedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
TieredCompilationboolsparcc2trueInTiereddefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
TieredCompilationboolx86c1falsedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
TieredCompilationboolx86c2trueInTiereddefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
TieredCompilationboolzerosharkfalsedefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
TieredCompileTaskTimeoutintxruntimeEMBEDDED_ONLY: 50product
Kill compile task if method was not used within 
given timeout in milliseconds
src/share/vm/runtime/globals.hpp
TieredRateUpdateMaxTimeintxruntimeEMBEDDED_ONLY: 25product
Maximum rate sampling interval (in milliseconds)
src/share/vm/runtime/globals.hpp
TieredRateUpdateMinTimeintxruntimeEMBEDDED_ONLY: 1product
Minimum rate sampling interval (in milliseconds)
src/share/vm/runtime/globals.hpp
TieredStopAtLevelintxruntimeEMBEDDED_ONLY: 4product
Stop at given compilation level
src/share/vm/runtime/globals.hpp
TimeCompilationPolicyboolruntimefalsedevelop
Time the compilation policy
src/share/vm/runtime/globals.hpp
TimeCompiler2boolc2falsenotproduct
detailed time the compiler (requires +TimeCompiler)
src/share/vm/opto/c2_globals.hpp
TimeCompilerboolruntimefalsenotproduct
Time the compiler
src/share/vm/runtime/globals.hpp
TimeEachLinearScanboolc1falsedevelop
print detailed timing of each LinearScan run
src/share/vm/c1/c1_globals.hpp
TimeLinearScanboolc1falseproduct
detailed timing of LinearScan phases
src/share/vm/c1/c1_globals.hpp
TimeLivenessAnalysisboolruntimefalsedevelop
Time computation of bytecode liveness analysis
src/share/vm/runtime/globals.hpp
TimeOopMap2boolruntimefalsedevelop
Time calls to GenerateOopMap::compute_map() individually
src/share/vm/runtime/globals.hpp
TimeOopMapboolruntimefalsedevelop
Time calls to GenerateOopMap::compute_map() in sum
src/share/vm/runtime/globals.hpp
TotalHandleAllocationLimituintxruntimeEMBEDDED_ONLY: 1024develop
Threshold for total handle allocation when 
+TraceHandleAllocation is used
src/share/vm/runtime/globals.hpp
TraceAdaptiveGCBoundaryboolruntimefalsedevelop
Trace young-old boundary moves
src/share/vm/runtime/globals.hpp
TraceBiasedLockingObsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Trace biased locking in JVM
src/share/vm/runtime/globals.hpp
TraceBlockOffsetTableboolruntimefalsedevelop
Print BlockOffsetTable maps
src/share/vm/runtime/globals.hpp
TraceBytecodesAtintxruntimeEMBEDDED_ONLY: 0develop
Trace bytecodes starting with specified bytecode number
src/share/vm/runtime/globals.hpp
TraceBytecodesboolruntimefalsedevelop
Trace bytecode execution
src/share/vm/runtime/globals.hpp
TraceCISCSpillboolc2falsenotproduct
Trace allocators use of cisc spillable instructions
src/share/vm/opto/c2_globals.hpp
TraceCMSStateboolruntimefalsedevelop
Trace the state of the CMS collection
src/share/vm/runtime/globals.hpp
TraceCallFixupboolruntimefalsedevelop
Trace all call fixups
src/share/vm/runtime/globals.hpp
TraceCardTableModRefBSboolruntimefalsedevelop
Print CardTableModRefBS maps
src/share/vm/runtime/globals.hpp
TraceClassInitializationboolruntimefalsedevelop
Trace class initialization
src/share/vm/runtime/globals.hpp
TraceClassLoaderDataboolruntimefalsedevelop
Trace class loader loader_data lifetime
src/share/vm/runtime/globals.hpp
TraceClassLoadingPreorderObsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Trace all classes loaded in order referenced (not loaded)
src/share/vm/runtime/globals.hpp
TraceClassLoadingObsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct_rw
Trace all classes loaded
src/share/vm/runtime/globals.hpp
TraceClassPathsObsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Trace processing of class paths
src/share/vm/runtime/globals.hpp
TraceClassResolutionObsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Trace all constant pool resolutions (for debugging)
src/share/vm/runtime/globals.hpp
TraceClassUnloadingObsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct_rw
Trace unloading of classes
src/share/vm/runtime/globals.hpp
TraceClearedExceptionsboolruntimefalsedevelop
Print when an exception is forcibly cleared
src/share/vm/runtime/globals.hpp
TraceCodeBlobStacksboolruntimefalsenotproduct
Trace stack-walk of codeblobs
src/share/vm/runtime/globals.hpp
TraceCompilationPolicyboolruntimefalsedevelop
Trace compilation policy
src/share/vm/runtime/globals.hpp
TraceCompiledICboolruntimefalsedevelop
Trace changes of compiled IC
src/share/vm/runtime/globals.hpp
TraceCreateZombiesboolruntimefalsedevelop
trace creation of zombie nmethods
src/share/vm/runtime/globals.hpp
TraceDefaultMethodsboolruntimeEMBEDDED_ONLY: falsedevelop
Trace the default method processing steps
src/share/vm/runtime/globals.hpp
TraceDeoptimizationboolruntimefalsedevelop
Trace deoptimization
src/share/vm/runtime/globals.hpp
TraceDependenciesboolruntimefalsedevelop
Trace dependencies
src/share/vm/runtime/globals.hpp
TraceDerivedPointersboolruntimefalsedevelop
Trace traversal of derived pointers on stack
src/share/vm/runtime/globals.hpp
TraceDynamicGCThreadsboolruntimefalseproduct
Trace the dynamic GC thread usage
src/share/vm/runtime/globals.hpp
TraceExceptionsObsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Trace exceptions
src/share/vm/runtime/globals.hpp
TraceFPURegisterUsageboolc1falsedevelop
Trace usage of FPU registers at start of blocks (intel only)
src/share/vm/c1/c1_globals.hpp
TraceFPUStackboolc1falsedevelop
Trace emulation of the FPU stack (intel only)
src/share/vm/c1/c1_globals.hpp
TraceFinalizerRegistrationboolruntimefalsedevelop
Trace registration of final references
src/share/vm/runtime/globals.hpp
TraceFrequencyInliningboolruntimefalsedevelop
Trace frequency based inlining
src/share/vm/runtime/globals.hpp
TraceGCTaskManagerboolruntimefalsedevelop
Trace actions of the GC task manager
src/share/vm/runtime/globals.hpp
TraceGCTaskQueueboolruntimefalsedevelop
Trace actions of the GC task queues
src/share/vm/runtime/globals.hpp
TraceGCTaskThreadboolruntimefalsediagnostic
Trace actions of the GC task threads
src/share/vm/runtime/globals.hpp
TraceGen0Timeboolruntimefalseproduct
Trace accumulated time for Gen 0 collection
src/share/vm/runtime/globals.hpp
TraceGen1Timeboolruntimefalseproduct
Trace accumulated time for Gen 1 collection
src/share/vm/runtime/globals.hpp
TraceHandleAllocationboolruntimefalsedevelop
Print out warnings when suspiciously many handles are allocated
src/share/vm/runtime/globals.hpp
TraceICBufferboolruntimefalsedevelop
Trace usage of IC buffer
src/share/vm/runtime/globals.hpp
TraceICsboolruntimefalsedevelop
Trace inline cache changes
src/share/vm/runtime/globals.hpp
TraceInlineCacheClearingboolruntimefalsedevelop
Trace clearing of inline caches in nmethods
src/share/vm/runtime/globals.hpp
TraceInvocationCounterOverflowboolruntimefalsenotproduct
Trace method invocation counter overflow
src/share/vm/runtime/globals.hpp
TraceInvokeDynamicObsoleted in JDK16
Expired in JDK17
boolruntimeEMBEDDED_ONLY: falsedevelop
trace internal invoke dynamic operations
src/share/vm/runtime/globals.hpp
TraceItablesboolruntimefalsedevelop
Trace initialization and use of itables
src/share/vm/runtime/globals.hpp
TraceIterativeGVNboolc2falsedevelop
Print progress during Iterative Global Value Numbering
src/share/vm/opto/c2_globals.hpp
TraceJNICallsboolruntimefalsedevelop
Trace JNI calls
src/share/vm/runtime/globals.hpp
TraceJNIHandleAllocationboolruntimefalsedevelop
Trace allocation/deallocation of JNI handle blocks
src/share/vm/runtime/globals.hpp
TraceJVMCallsboolruntimefalsenotproduct
Trace JVM calls
src/share/vm/runtime/globals.hpp
TraceJVMTIObjectTaggingObsoleted in JDK16
Expired in JDK17
boolruntimefalsediagnostic
Trace JVMTI object tagging calls
src/share/vm/runtime/globals.hpp
TraceJVMTIccstrruntimeNULLproduct
Trace flags for JVMTI functions and events
src/share/vm/runtime/globals.hpp
TraceJavaAssertionsboolruntimefalsedevelop
Trace java language assertions
src/share/vm/runtime/globals.hpp
TraceJumpsboolruntimefalsedevelop
Trace assembly jumps in thread ring buffer
src/share/vm/runtime/globals.hpp
TraceLinearScanLevelintxc10develop
Debug levels for the linear scan allocator
src/share/vm/c1/c1_globals.hpp
TraceLivenessGenboolruntimefalsedevelop
Trace the generation of liveness analysis information
src/share/vm/runtime/globals.hpp
TraceLivenessQueryboolruntimefalsenotproduct
Trace queries of liveness analysis information
src/share/vm/runtime/globals.hpp
TraceLoaderConstraintsObsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct_rw
Trace loader constraints
src/share/vm/runtime/globals.hpp
TraceLongCompilesboolruntimefalsedevelop
Print out every time compilation is longer than 
a given threshold
src/share/vm/runtime/globals.hpp
TraceLoopLimitCheckboolc2falsedevelop
Trace generation of loop limits checks
src/share/vm/opto/c2_globals.hpp
TraceLoopOptsboolc2falsedevelop
Trace executed loop optimizations
src/share/vm/opto/c2_globals.hpp
TraceLoopPredicateboolc2falsedevelop
Trace generation of loop predicates
src/share/vm/opto/c2_globals.hpp
TraceLoopUnswitchingboolc2falsenotproduct
Trace loop unswitching
src/share/vm/opto/c2_globals.hpp
TraceMarkSweepboolruntimefalsenotproduct
Trace mark sweep
src/share/vm/runtime/globals.hpp
TraceMetadataChunkAllocationboolruntimefalsedevelop
Trace chunk metadata allocations
src/share/vm/runtime/globals.hpp
TraceMetadataHumongousAllocationboolruntimefalseproduct
Trace humongous metadata allocations
src/share/vm/runtime/globals.hpp
TraceMetavirtualspaceAllocationboolruntimefalsedevelop
Trace virtual space metadata allocations
src/share/vm/runtime/globals.hpp
TraceMethodHandlesObsoleted in JDK16
Expired in JDK17
boolruntimeEMBEDDED_ONLY: falsedevelop
trace internal method handle operations
src/share/vm/runtime/globals.hpp
TraceMethodReplacementboolruntimefalsedevelop
Print when methods are replaced do to recompilation
src/share/vm/runtime/globals.hpp
TraceMonitorInflationObsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Trace monitor inflation in JVM
src/share/vm/runtime/globals.hpp
TraceMonitorMismatchboolruntimefalsedevelop
Trace monitor matching failures during OopMapGeneration
src/share/vm/runtime/globals.hpp
TraceNMethodInstallsDeprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolruntimefalsediagnostic
Trace nmethod installation
src/share/vm/runtime/globals.hpp
TraceNewOopMapGenerationDetailedboolruntimefalsedevelop
Trace OopMapGeneration: print detailed cell states
src/share/vm/runtime/globals.hpp
TraceNewOopMapGenerationboolruntimefalsedevelop
Trace OopMapGeneration
src/share/vm/runtime/globals.hpp
TraceNewVectorsboolc2falsenotproduct
Trace creation of Vector nodes
src/share/vm/opto/c2_globals.hpp
TraceOnStackReplacementboolruntimefalsenotproduct
Trace on stack replacement
src/share/vm/runtime/globals.hpp
TraceOopMapGenerationboolruntimefalsedevelop
Show OopMapGeneration
src/share/vm/runtime/globals.hpp
TraceOopMapRewritesboolruntimefalsedevelop
Trace rewriting of method oops during oop map generation
src/share/vm/runtime/globals.hpp
TraceOptimizeFillboolc2falsedevelop
print detailed information about fill conversion
src/share/vm/opto/c2_globals.hpp
TraceOptoOutputboolc2falsenotproduct
Trace pipelining information
src/share/vm/opto/c2_globals.hpp
TraceOptoParseboolc2falsedevelop
Trace bytecode parse and control-flow merge
src/share/vm/opto/c2_globals.hpp
TraceOptoPipeliningboolc2falsenotproduct
Trace pipelining information
src/share/vm/opto/c2_globals.hpp
TracePageSizesboolruntimefalsedevelop
Trace page size selection and usage
src/share/vm/runtime/globals.hpp
TraceParallelOldGCCompactionPhaseboolruntimefalsedevelop
Trace compaction phase in ParallelOldGC
src/share/vm/runtime/globals.hpp
TraceParallelOldGCDensePrefixboolruntimefalsedevelop
Trace dense prefix computation for ParallelOldGC
src/share/vm/runtime/globals.hpp
TraceParallelOldGCMarkingPhaseboolruntimefalsedevelop
Trace marking phase in ParallelOldGC
src/share/vm/runtime/globals.hpp
TraceParallelOldGCSummaryPhaseboolruntimefalsedevelop
Trace summary phase in ParallelOldGC
src/share/vm/runtime/globals.hpp
TraceParallelOldGCTasksboolruntimefalseproduct
Trace multithreaded GC activity
src/share/vm/runtime/globals.hpp
TracePartialPeelingboolc2falsenotproduct
Trace partial peeling (loop rotation) information
src/share/vm/opto/c2_globals.hpp
TracePatchingboolc1falsedevelop
Trace patching of field access on uninitialized classes
src/share/vm/c1/c1_globals.hpp
TracePcPatchingboolruntimefalsedevelop
Trace usage of frame::patch_pc
src/share/vm/runtime/globals.hpp
TracePhaseCCPboolc2falsenotproduct
Print progress during Conditional Constant Propagation
src/share/vm/opto/c2_globals.hpp
TracePostallocExpandboolc2falsedevelop
Trace expanding nodes after
 register allocation.
src/share/vm/opto/c2_globals.hpp
TracePredicateFailedTrapsboolc1falsedevelop
trace runtime traps caused by predicate failure
src/share/vm/c1/c1_globals.hpp
TraceProfileInterpreterboolruntimefalsedevelop
Trace profiling at the bytecode level during interpretation. 
This outputs the profiling information collected to improve 
jit compilation.
src/share/vm/runtime/globals.hpp
TraceProfileTripCountboolc2falsenotproduct
Trace profile loop trip count information
src/share/vm/opto/c2_globals.hpp
TraceProtectionDomainVerificationboolruntimefalsedevelop
Trace protection domain verification
src/share/vm/runtime/globals.hpp
TraceRangeCheckEliminationboolc1falsedevelop
Trace Range Check Elimination
src/share/vm/c1/c1_globals.hpp
TraceRangeLimitCheckboolc2falsedevelop
Trace additional overflow checks in RCE
src/share/vm/opto/c2_globals.hpp
TraceRedefineClassesObsoleted in JDK16
Expired in JDK17
intxruntime0product
Trace level for JVMTI RedefineClasses
src/share/vm/runtime/globals.hpp
TraceReferenceGCboolruntimefalsedevelop
Trace handling of soft/weak/final/phantom references
src/share/vm/runtime/globals.hpp
TraceRelocatorboolruntimefalsedevelop
Trace the bytecode relocator
src/share/vm/runtime/globals.hpp
TraceRuntimeCallsboolruntimefalsenotproduct
Trace run-time calls
src/share/vm/runtime/globals.hpp
TraceSafepointCleanupTimeObsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Print the break down of clean up tasks performed during 
safepoint
src/share/vm/runtime/globals.hpp
TraceSafepointboolruntimefalsedevelop
Trace safepoint operations
src/share/vm/runtime/globals.hpp
TraceScavengeObsoleted in JDK11
Expired in JDK12
boolruntimefalsenotproduct
Trace scavenge
src/share/vm/runtime/globals.hpp
TraceSpillingboolc2falsenotproduct
Trace spilling
src/share/vm/opto/c2_globals.hpp
TraceStartupTimeboolruntimefalsedevelop
Trace setup time
src/share/vm/runtime/globals.hpp
TraceSuperWordboolc2falsenotproduct
Trace superword transforms
src/share/vm/opto/c2_globals.hpp
TraceSuspendWaitFailuresObsoleted in JDK17
Expired in JDK18
boolruntimefalseproduct
Trace external suspend wait failures
src/share/vm/runtime/globals.hpp
TraceThreadEventsboolruntimefalsedevelop
Trace all thread events
src/share/vm/runtime/globals.hpp
TraceTrapsboolaarch64falseproduct
Trace all traps the signal handler
src/cpu/aarch64/vm/globals_aarch64.hpp
TraceTrapsboolppcfalseproduct
Trace all traps the signal handler
handles.
src/cpu/ppc/vm/globals_ppc.hpp
TraceTypeProfileboolc2falsediagnostic
Trace type profile
src/share/vm/opto/c2_globals.hpp
TraceVMOperationboolruntimefalsedevelop
Trace VM operations
src/share/vm/runtime/globals.hpp
TraceWorkGangboolruntimefalsedevelop
Trace activities of work gangs
src/share/vm/runtime/globals.hpp
TraceZapDeadLocalsboolruntimefalsenotproduct
Trace zapping dead locals
src/share/vm/runtime/globals.hpp
TraceZapUnusedHeapAreaboolruntimefalsedevelop
Trace zapping of unused heap space
src/share/vm/runtime/globals.hpp
TrackedInitializationLimitintxc250product
When initializing fields, track up to this many words
src/share/vm/opto/c2_globals.hpp
TransmitErrorReportObsoleted in JDK12
Expired in JDK13
boolruntimeEMBEDDED_ONLY: falseproduct
Enable error report transmission on erroneous termination
src/share/vm/runtime/globals.hpp
TrapBasedICMissChecksboolppctrueproduct
Raise and handle SIGTRAP if inline cache miss detected.
src/cpu/ppc/vm/globals_ppc.hpp
TrapBasedNotEntrantChecksboolppctrueproduct
Raise and handle SIGTRAP if calling not entrant or zombie
 method.
src/cpu/ppc/vm/globals_ppc.hpp
TrapBasedNullChecksboolaarch64falsedefine_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
TrapBasedNullChecksboolruntimeproduct_pd
Generate code for null checks that uses a cmp and trap 
instruction raising SIGTRAP. This is only used if an access to
null (+offset) will not raise a SIGSEGV, i.e.,
ImplicitNullChecks don't work (PPC64).
src/share/vm/runtime/globals.hpp
TrapBasedNullChecksboolppctruedefine_pd_global
src/cpu/ppc/vm/globals_ppc.hpp
TrapBasedNullChecksboolsparcfalsedefine_pd_global
// Not needed on sparc.
src/cpu/sparc/vm/globals_sparc.hpp
TrapBasedNullChecksboolx86falsedefine_pd_global
// Not needed on x86.
src/cpu/x86/vm/globals_x86.hpp
TrapBasedNullChecksboolzerofalsedefine_pd_global
src/cpu/zero/vm/globals_zero.hpp
TrapBasedRangeChecksboolaarch64c2falsedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
TrapBasedRangeChecksboolc2product_pd
Generate code for range checks that uses a cmp and trap 
instruction raising SIGTRAP. Used on PPC64.
src/share/vm/opto/c2_globals.hpp
TrapBasedRangeChecksboolppcc2truedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
TrapBasedRangeChecksboolsparcc2falsedefine_pd_global
// Not needed on sparc.
src/cpu/sparc/vm/c2_globals_sparc.hpp
TrapBasedRangeChecksboolx86c2falsedefine_pd_global
// Not needed on x86.
src/cpu/x86/vm/c2_globals_x86.hpp
TrustFinalNonStaticFieldsboolruntimeEMBEDDED_ONLY: falseexperimental
trust final non-static declarations for constant folding
src/share/vm/runtime/globals.hpp
TwoOperandLIRFormboolaarch64c1falsedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
TwoOperandLIRFormboolc1develop_pd
true if LIR requires src1 and dst to match in binary LIR ops
src/share/vm/c1/c1_globals.hpp
TwoOperandLIRFormboolsparcc1falsedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
TwoOperandLIRFormboolx86c1truedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
TypeProfileArgsLimitintxruntime2product
max number of call arguments to consider for type profiling
src/share/vm/runtime/globals.hpp
TypeProfileCastsboolruntimetruedevelop
treat casts like calls for purposes of type profiling
src/share/vm/runtime/globals.hpp
TypeProfileLeveluintxaarch64111define_pd_global
src/cpu/aarch64/vm/globals_aarch64.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 methods
src/share/vm/runtime/globals.hpp
TypeProfileLeveluintxppc0define_pd_global
src/cpu/ppc/vm/globals_ppc.hpp
TypeProfileLeveluintxsparc0define_pd_global
src/cpu/sparc/vm/globals_sparc.hpp
TypeProfileLeveluintxx86111define_pd_global
src/cpu/x86/vm/globals_x86.hpp
TypeProfileLeveluintxzero0define_pd_global
src/cpu/zero/vm/globals_zero.hpp
TypeProfileMajorReceiverPercentintxc290product
% of major receiver type to all profiled receivers
src/share/vm/opto/c2_globals.hpp
TypeProfileParmsLimitintxruntime2product
max number of incoming parameters to consider for type profiling
, -1 for all
src/share/vm/runtime/globals.hpp
TypeProfileWidthintxruntimeEMBEDDED_ONLY: 2product
Number of receiver types to record in call/cast profile
src/share/vm/runtime/globals.hpp
UncommonNullCastboolaarch64truedefine_pd_global
// Uncommon-trap NULLs passed to check cast
src/cpu/aarch64/vm/globals_aarch64.hpp
UncommonNullCastboolruntimedevelop_pd
track occurrences of null in casts; adjust compiler tactics
src/share/vm/runtime/globals.hpp
UncommonNullCastboolppctruedefine_pd_global
// Uncommon-trap NULLs passed to check cast.
src/cpu/ppc/vm/globals_ppc.hpp
UncommonNullCastboolsparctruedefine_pd_global
// Uncommon-trap NULLs passed to check cast
src/cpu/sparc/vm/globals_sparc.hpp
UncommonNullCastboolx86truedefine_pd_global
// Uncommon-trap NULLs passed to check cast
src/cpu/x86/vm/globals_x86.hpp
UncommonNullCastboolzerotruedefine_pd_global
src/cpu/zero/vm/globals_zero.hpp
UnguardOnExecutionViolationintxruntimeEMBEDDED_ONLY: 0product
Unguard page and retry on no-execute fault (Win32 only) 

0=off, 1=conservative, 2=aggressive
src/share/vm/runtime/globals.hpp
UnlinkSymbolsALotDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproduct
Unlink unreferenced symbols from the symbol table at safepoints
src/share/vm/runtime/globals.hpp
UnlockCommercialFeaturesboolruntimeEMBEDDED_ONLY: falseproduct
This flag is ignored. Left for compatibility
src/share/vm/runtime/globals.hpp
UnlockDiagnosticVMOptionsboolruntimetrueInDebugdiagnostic
Enable normal processing of flags relating to field diagnostics
src/share/vm/runtime/globals.hpp
UnlockExperimentalVMOptionsboolruntimefalseexperimental
Enable normal processing of flags relating to experimental 
features
src/share/vm/runtime/globals.hpp
UnrollLimitCheckboolc2truediagnostic
Additional overflow checks during loop unroll
src/share/vm/opto/c2_globals.hpp
UnrollLimitForProfileCheckintxc21develop
Don'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.
src/share/vm/opto/c2_globals.hpp
UnsyncloadClassDeprecated in JDK10
Obsoleted in JDK11
Expired in JDK12
boolruntimefalsediagnostic
Unstable: VM calls loadClass unsynchronized. Custom 
class loader must call VM synchronized for findClass 
and defineClass.
src/share/vm/runtime/globals.hpp
Use16MPagesboolaixfalsedefine_pd_global
src/os/aix/vm/globals_aix.hpp
Use24BitFPModeboolc2truedevelop
Set 24-bit FPU mode on a per-compile basis
src/share/vm/opto/c2_globals.hpp
Use24BitFPboolc2truedevelop
use FP instructions that produce 24-bit precise results
src/share/vm/opto/c2_globals.hpp
Use486InstrsOnlyboolx86falseproduct
Use 80486 Compliant instruction subset
src/cpu/x86/vm/globals_x86.hpp
UseAESIntrinsicsboolruntimefalseproduct
Use intrinsics for AES versions of crypto
src/share/vm/runtime/globals.hpp
UseAESboolruntimefalseproduct
Control whether AES instructions can be used on x86/x64
src/share/vm/runtime/globals.hpp
UseAVXintxx8699product
Highest supported AVX instructions set on x86/x64
src/cpu/x86/vm/globals_x86.hpp
UseAdaptiveGCBoundaryObsoleted in JDK15
Expired in JDK16
boolruntimefalseproduct
Allow young-old boundary to move
src/share/vm/runtime/globals.hpp
UseAdaptiveGenerationSizePolicyAtMajorCollectionboolruntimetrueproduct
Use adaptive young-old sizing policies at major collections
src/share/vm/runtime/globals.hpp
UseAdaptiveGenerationSizePolicyAtMinorCollectionboolruntimetrueproduct
Use adaptive young-old sizing policies at minor collections
src/share/vm/runtime/globals.hpp
UseAdaptiveNUMAChunkSizingboolruntimetrueproduct
Enable adaptive chunk sizing for NUMA
src/share/vm/runtime/globals.hpp
UseAdaptiveSizeDecayMajorGCCostboolruntimetrueproduct
Adaptive size decays the major cost for long major intervals
src/share/vm/runtime/globals.hpp
UseAdaptiveSizePolicyFootprintGoalboolruntimetrueproduct
Use adaptive minimum footprint as a goal
src/share/vm/runtime/globals.hpp
UseAdaptiveSizePolicyWithSystemGCboolruntimefalseproduct
Include statistics from System.gc() for adaptive size policy
src/share/vm/runtime/globals.hpp
UseAdaptiveSizePolicyboolruntimetrueproduct
Use adaptive generation sizing policies
src/share/vm/runtime/globals.hpp
UseAddressNopboolx86falseproduct
Use '0F 1F [addr]' NOP instructions on x86 cpus
src/cpu/x86/vm/globals_x86.hpp
UseAltSigsboolruntimefalseproduct
Use alternate signals instead of SIGUSR1 & SIGUSR2 for VM 
internal signals (Solaris only)
src/share/vm/runtime/globals.hpp
UseAsyncConcMarkSweepGCboolruntimetruedevelop
Use Asynchronous Concurrent Mark-Sweep GC in the old generation
src/share/vm/runtime/globals.hpp
UseAutoGCSelectPolicyboolruntimefalseproduct
Use automatic collection selection policy
src/share/vm/runtime/globals.hpp
UseBMI1Instructionsboolx86falseproduct
Use BMI1 instructions
src/cpu/x86/vm/globals_x86.hpp
UseBMI2Instructionsboolx86falseproduct
Use BMI2 instructions
src/cpu/x86/vm/globals_x86.hpp
UseBarriersForVolatileObsoleted in JDK15
Expired in JDK16
boolaarch64falseproduct
Use memory barriers to implement volatile accesses
src/cpu/aarch64/vm/globals_aarch64.hpp
UseBiasedLockingDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolruntimetrueproduct
Enable biased locking in JVM
src/share/vm/runtime/globals.hpp
UseBimorphicInliningboolc2trueproduct
Profiling based inlining for two receivers
src/share/vm/opto/c2_globals.hpp
UseBlockCopyboolsparcfalseproduct
Use special cpu instructions for block copy
src/cpu/sparc/vm/globals_sparc.hpp
UseBlockZeroingboolaarch64trueproduct
Use DC ZVA for block zeroing
src/cpu/aarch64/vm/globals_aarch64.hpp
UseBlockZeroingboolsparcfalseproduct
Use special cpu instructions for block zeroing
src/cpu/sparc/vm/globals_sparc.hpp
UseBoundThreadsboolruntimetrueproduct
Bind user level threads to kernel threads (for Solaris only)
src/share/vm/runtime/globals.hpp
UseBsdPosixThreadCPUClocksObsoleted in JDK16
Expired in JDK17
boolbsdtrueproduct
enable fast Bsd Posix clocks where available
src/os/bsd/vm/globals_bsd.hpp
UseC1Optimizationsboolc1truedevelop
Turn on C1 optimizations
src/share/vm/c1/c1_globals.hpp
UseCASForSwapboolsparcfalsedevelop
Do not use swap instructions, but only CAS (in a loop) on SPARC
src/cpu/sparc/vm/globals_sparc.hpp
UseCBCondboolsparcfalseproduct
Use compare and branch instruction on SPARC
src/cpu/sparc/vm/globals_sparc.hpp
UseCGroupMemoryLimitForHeapDeprecated in JDK10
Expired in JDK11
boolruntimefalseexperimental
Use CGroup memory limit as physical memory limit for heap 
sizing
Deprecated, replaced by container support
src/share/vm/runtime/globals.hpp
UseCHAboolruntimetruedevelop
Enable CHA
src/share/vm/runtime/globals.hpp
UseCISCSpillboolaarch64c2truedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
UseCISCSpillboolc2develop_pd
Use ADLC supplied cisc instructions during allocation
src/share/vm/opto/c2_globals.hpp
UseCISCSpillboolppcc2falsedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
UseCISCSpillboolsparcc2falsedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
UseCISCSpillboolx86c2truedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
UseCLMULboolx86falseproduct
Control whether CLMUL instructions can be used on x86/x64
src/cpu/x86/vm/globals_x86.hpp
UseCMSAdaptiveFreeListsboolruntimetruedevelop
Use adaptive free lists in the CMS generation
src/share/vm/runtime/globals.hpp
UseCMSBestFitObsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Use CMS best fit allocation strategy
src/share/vm/runtime/globals.hpp
UseCMSCollectionPassingboolruntimetrueproduct
Use passing of collection from background to foreground
src/share/vm/runtime/globals.hpp
UseCMSCompactAtFullCollectionboolruntimetrueproduct
Use Mark-Sweep-Compact algorithm at full collections
src/share/vm/runtime/globals.hpp
UseCMSInitiatingOccupancyOnlyObsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
Only use occupancy as a criterion for starting a CMS collection
src/share/vm/runtime/globals.hpp
UseCRC32Intrinsicsboolruntimefalseproduct
use intrinsics for java.util.zip.CRC32
src/share/vm/runtime/globals.hpp
UseCRC32boolaarch64falseproduct
Use CRC32 instructions for CRC32 computation
src/cpu/aarch64/vm/globals_aarch64.hpp
UseCodeCacheFlushingboolruntimeEMBEDDED_ONLY: trueproduct
Remove cold/old nmethods from the code cache
src/share/vm/runtime/globals.hpp
UseCompilerSafepointsboolruntimetrueproduct
Stop at safepoints in compiled code
src/share/vm/runtime/globals.hpp
UseCompilerboolruntimetrueproduct
Use Just-In-Time compilation
src/share/vm/runtime/globals.hpp
UseCompressedClassPointersboolruntimefalselp64_product
Use 32-bit class pointers in 64-bit VM. 
lp64_product means flag is always constant in 32 bit VM
src/share/vm/runtime/globals.hpp
UseCompressedOopsboolruntimefalselp64_product
Use 32-bit object references in 64-bit VM. 
lp64_product means flag is always constant in 32 bit VM
src/share/vm/runtime/globals.hpp
UseConcMarkSweepGCObsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
Use Concurrent Mark-Sweep GC in the old generation
src/share/vm/runtime/globals.hpp
UseCondCardMarkboolc2falseproduct
Check for already marked card before updating card table
src/share/vm/opto/c2_globals.hpp
UseContainerSupportboollinuxtrueproduct
Enable detection and runtime container configuration support
src/os/linux/vm/globals_linux.hpp
UseCountLeadingZerosInstructionboolx86falseproduct
Use count leading zeros instruction
src/cpu/x86/vm/globals_x86.hpp
UseCountLeadingZerosInstructionsPPC64boolppctrueproduct
Use count leading zeros instructions.
src/cpu/ppc/vm/globals_ppc.hpp
UseCountTrailingZerosInstructionboolx86falseproduct
Use count trailing zeros instruction
src/cpu/x86/vm/globals_x86.hpp
UseCountedLoopSafepointsboolc2falseproduct
Force counted loops to keep a safepoint
src/share/vm/opto/c2_globals.hpp
UseCounterDecayObsoleted in JDK22
Expired in JDK23
boolruntimetrueproduct
Adjust recompilation counters
src/share/vm/runtime/globals.hpp
UseCriticalCMSThreadPriorityboolruntimeEMBEDDED_ONLY: falseexperimental
ConcurrentMarkSweep thread runs at critical scheduling priority
src/share/vm/runtime/globals.hpp
UseCriticalCompilerThreadPriorityboolruntimeEMBEDDED_ONLY: falseexperimental
Compiler thread(s) run at critical scheduling priority
src/share/vm/runtime/globals.hpp
UseCriticalJavaThreadPriorityboolruntimeEMBEDDED_ONLY: falseexperimental
Java thread priority 10 maps to critical scheduling priority
src/share/vm/runtime/globals.hpp
UseDetachedThreadsboolruntimetruedevelop
Use detached threads that are recycled upon termination 
(for Solaris only)
src/share/vm/runtime/globals.hpp
UseDivModboolc2trueproduct
Use combined DivMod instruction if available
src/share/vm/opto/c2_globals.hpp
UseDynamicNumberOfGCThreadsboolruntimefalseproduct
Dynamically choose the number of parallel threads 
parallel gc will use
src/share/vm/runtime/globals.hpp
UseExactTypesboolc2truedevelop
Use exact types to eliminate array store checks and v-calls
src/share/vm/opto/c2_globals.hpp
UseExtendedFileIOboolsolaristrueproduct
Enable workaround for limitations of stdio FILE structure
src/os/solaris/vm/globals_solaris.hpp
UseExtendedLoadAndReserveInstructionsPPC64boolppcfalseproduct
Use extended versions of load-and-reserve instructions.
src/cpu/ppc/vm/globals_ppc.hpp
UseFPUForSpillingboolc2falseproduct
Spill integer registers to FPU instead of stack when possible
src/share/vm/opto/c2_globals.hpp
UseFakeTimersboolruntimefalsedevelop
Tell whether the VM should use system time or a fake timer
src/share/vm/runtime/globals.hpp
UseFastAccessorMethodsboolruntimetrueproduct
Use fast method entry code for accessor methods
src/share/vm/runtime/globals.hpp
UseFastEmptyMethodsboolruntimetrueproduct
Use fast method entry code for empty methods
src/share/vm/runtime/globals.hpp
UseFastJNIAccessorsboolruntimetrueproduct
Use optimized versions of GetField
src/share/vm/runtime/globals.hpp
UseFastLockingboolc1truedevelop
Use fast inlined locking code
src/share/vm/c1/c1_globals.hpp
UseFastNewInstanceboolc1truedevelop
Use fast inlined instance allocation
src/share/vm/c1/c1_globals.hpp
UseFastNewObjectArrayboolc1truedevelop
Use fast inlined object array allocation
src/share/vm/c1/c1_globals.hpp
UseFastNewTypeArrayboolc1truedevelop
Use fast inlined type array allocation
src/share/vm/c1/c1_globals.hpp
UseFastSignatureHandlersboolruntimetruedevelop
Use fast signature handlers for native calls
src/share/vm/runtime/globals.hpp
UseFastStosbboolx86falseproduct
Use fast-string operation for zeroing: rep stosb
src/cpu/x86/vm/globals_x86.hpp
UseFastUnorderedTimeStampsboolruntimeEMBEDDED_ONLY: falseexperimental
Use platform unstable time where supported for timestamps only
src/share/vm/runtime/globals.hpp
UseG1GCboolruntimefalseproduct
Use the Garbage-First garbage collector
src/share/vm/runtime/globals.hpp
UseGCLogFileRotationboolruntimefalseproduct
Rotate gclog files (for long running applications). It requires 
-Xloggc:
src/share/vm/runtime/globals.hpp
UseGCOverheadLimitboolruntimetrueproduct
Use policy to limit of proportion of time spent in GC 
before an OutOfMemory error is thrown
src/share/vm/runtime/globals.hpp
UseGCTaskAffinityObsoleted in JDK14
Expired in JDK16
boolruntimefalseproduct
Use worker affinity when asking for GCTasks
src/share/vm/runtime/globals.hpp
UseGHASHIntrinsicsboolruntimefalseproduct
Use intrinsics for GHASH versions of crypto
src/share/vm/runtime/globals.hpp
UseGlobalValueNumberingboolc1truedevelop
Use Global Value Numbering (separate phase)
src/share/vm/c1/c1_globals.hpp
UseHeavyMonitorsDeprecated in JDK18
Obsoleted in JDK19
Expired in JDK20
boolruntimefalseproduct
use heavyweight instead of lightweight Java monitors
src/share/vm/runtime/globals.hpp
UseHugeTLBFSObsoleted in JDK22
Expired in JDK23
boolbsdfalseproduct
Use MAP_HUGETLB for large pages
src/os/bsd/vm/globals_bsd.hpp
UseHugeTLBFSObsoleted in JDK22
Expired in JDK23
boollinuxfalseproduct
Use MAP_HUGETLB for large pages
src/os/linux/vm/globals_linux.hpp
UseImplicitStableValuesObsoleted in JDK13
Expired in JDK14
boolc2truediagnostic
Mark well-known stable fields as such (e.g. String.value)
src/share/vm/opto/c2_globals.hpp
UseIncDecboolx86truediagnostic
Use INC, DEC instructions on x86
src/cpu/x86/vm/globals_x86.hpp
UseInlineCachesboolruntimetrueproduct
Use Inline Caches for virtual calls
src/share/vm/runtime/globals.hpp
UseInlineDepthForSpeculativeTypesboolc2truediagnostic
Carry inline depth of profile point with speculative type 
and give priority to profiling from lower inline depth
src/share/vm/opto/c2_globals.hpp
UseInterpreterboolruntimetrueproduct
Use interpreter for non-compiled methods
src/share/vm/runtime/globals.hpp
UseJumpTablesboolc2trueproduct
Use JumpTables instead of a binary search tree for switches
src/share/vm/opto/c2_globals.hpp
UseLSEboolaarch64falseproduct
Use LSE instructions
src/cpu/aarch64/vm/globals_aarch64.hpp
UseLWPSynchronizationObsoleted in JDK15
Expired in JDK16
boolruntimetrueproduct
Use LWP-based instead of libthread-based synchronization 
(SPARC only)
src/share/vm/runtime/globals.hpp
UseLargePagesInMetaspaceDeprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Use large page memory in metaspace. 
Only used if UseLargePages is enabled.
src/share/vm/runtime/globals.hpp
UseLargePagesIndividualAllocationboolaixfalsedefine_pd_global
src/os/aix/vm/globals_aix.hpp
UseLargePagesIndividualAllocationboolbsdfalsedefine_pd_global
src/os/bsd/vm/globals_bsd.hpp
UseLargePagesIndividualAllocationboollinuxfalsedefine_pd_global
src/os/linux/vm/globals_linux.hpp
UseLargePagesIndividualAllocationboolruntimeproduct_pd
Allocate large pages individually for better affinity
src/share/vm/runtime/globals.hpp
UseLargePagesIndividualAllocationboolsolarisfalsedefine_pd_global
src/os/solaris/vm/globals_solaris.hpp
UseLargePagesIndividualAllocationboolwindowstruedefine_pd_global
src/os/windows/vm/globals_windows.hpp
UseLargePagesboolaixtruedefine_pd_global
src/os/aix/vm/globals_aix.hpp
UseLargePagesboolbsdfalsedefine_pd_global
src/os/bsd/vm/globals_bsd.hpp
UseLargePagesboollinuxfalsedefine_pd_global
src/os/linux/vm/globals_linux.hpp
UseLargePagesboolruntimeproduct_pd
Use large page memory
src/share/vm/runtime/globals.hpp
UseLargePagesboolsolaristruedefine_pd_global
src/os/solaris/vm/globals_solaris.hpp
UseLargePagesboolwindowsfalsedefine_pd_global
src/os/windows/vm/globals_windows.hpp
UseLegacyJNINameEscapingboolruntimefalseproduct
Use the original JNI name escaping scheme
src/share/vm/runtime/globals.hpp
UseLinuxPosixThreadCPUClocksboollinuxtrueproduct
enable fast Linux Posix clocks where available
src/os/linux/vm/globals_linux.hpp
UseLoadInstructionsForStackBangingPPC64boolppcfalseproduct
Use load instructions for stack banging.
src/cpu/ppc/vm/globals_ppc.hpp
UseLocalValueNumberingboolc1truedevelop
Use Local Value Numbering (embedded in GraphBuilder)
src/share/vm/c1/c1_globals.hpp
UseLockedTracingObsoleted in JDK11
Expired in JDK12
boolruntimeEMBEDDED_ONLY: falseproduct
Use locked-tracing when doing event-based tracing
Deprecated: use FlightRecorder instead
src/share/vm/runtime/globals.hpp
UseLoopCounterboolruntimetrueproduct
Increment invocation counter on backward branch
src/share/vm/runtime/globals.hpp
UseLoopInvariantCodeMotionboolc1trueproduct
Simple loop invariant code motion for short loops during GVN
src/share/vm/c1/c1_globals.hpp
UseLoopPredicateboolc2trueproduct
Generate a predicate to select fast/slow loop versions
src/share/vm/opto/c2_globals.hpp
UseLoopSafepointsboolruntimetruedevelop
Generate Safepoint nodes in every loop
src/share/vm/runtime/globals.hpp
UseMallocOnlyboolruntimefalsedevelop
Use only malloc/free for allocation (no resource area/arena)
src/share/vm/runtime/globals.hpp
UseMathExactIntrinsicsboolc2trueproduct
Enables intrinsification of various java.lang.Math functions
src/share/vm/opto/c2_globals.hpp
UseMaximumCompactionOnSystemGCboolruntimetrueproduct
Use maximum compaction in the Parallel Old garbage collector 
for a system GC
src/share/vm/runtime/globals.hpp
UseMemSetInBOTboolruntimetrueexperimental
(Unstable) uses memset in BOT updates in GC code
src/share/vm/runtime/globals.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
boolaarch64truedefine_pd_global
src/cpu/aarch64/vm/globals_aarch64.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
boolruntimeproduct_pd
(Unstable) Issues membars on thread state transitions
src/share/vm/runtime/globals.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
boolppcfalsedefine_pd_global
src/cpu/ppc/vm/globals_ppc.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
boolsparcfalsedefine_pd_global
src/cpu/sparc/vm/globals_sparc.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
boolx86falsedefine_pd_global
src/cpu/x86/vm/globals_x86.hpp
UseMembarDeprecated in JDK10
Obsoleted in JDK12
boolzerotruedefine_pd_global
src/cpu/zero/vm/globals_zero.hpp
UseMontgomeryMultiplyIntrinsicboolc2falseproduct
Enables intrinsification of BigInteger.montgomeryMultiply()
src/share/vm/opto/c2_globals.hpp
UseMontgomerySquareIntrinsicboolc2falseproduct
Enables intrinsification of BigInteger.montgomerySquare()
src/share/vm/opto/c2_globals.hpp
UseMulAddIntrinsicboolc2falseproduct
Enables intrinsification of BigInteger.mulAdd()
src/share/vm/opto/c2_globals.hpp
UseMultiplyToLenIntrinsicboolc2falseproduct
Enables intrinsification of BigInteger.multiplyToLen()
src/share/vm/opto/c2_globals.hpp
UseNUMAInterleavingboolruntimefalseproduct
Interleave memory across NUMA nodes if available
src/share/vm/runtime/globals.hpp
UseNUMAboolruntimefalseproduct
Use NUMA if available
src/share/vm/runtime/globals.hpp
UseNeonboolaarch64falseproduct
Use Neon for CRC32 computation
src/cpu/aarch64/vm/globals_aarch64.hpp
UseNewCode2boolruntimeEMBEDDED_ONLY: falsediagnostic
Testing Only: Use the new version while testing
src/share/vm/runtime/globals.hpp
UseNewCode3boolruntimeEMBEDDED_ONLY: falsediagnostic
Testing Only: Use the new version while testing
src/share/vm/runtime/globals.hpp
UseNewCodeboolruntimeEMBEDDED_ONLY: falsediagnostic
Testing Only: Use the new version while testing
src/share/vm/runtime/globals.hpp
UseNewLongLShiftboolx86falseproduct
Use optimized bitwise shift left
src/cpu/x86/vm/globals_x86.hpp
UseNewReflectionboolruntimeEMBEDDED_ONLY: truedevelop
Temporary flag for transition to reflection based on dynamic 
bytecode generation in 1.4; can no longer be turned off in 1.4 
JDK, and is unneeded in 1.3 JDK, but marks most places VM 
changes were needed
src/share/vm/runtime/globals.hpp
UseNiagaraInstrsboolsparcfalseproduct
Use Niagara-efficient instruction subset
src/cpu/sparc/vm/globals_sparc.hpp
UseOSErrorReportingboolaixfalsedefine_pd_global
src/os/aix/vm/globals_aix.hpp
UseOSErrorReportingboolbsdfalsedefine_pd_global
src/os/bsd/vm/globals_bsd.hpp
UseOSErrorReportingboollinuxfalsedefine_pd_global
src/os/linux/vm/globals_linux.hpp
UseOSErrorReportingboolruntimeproduct_pd
Let VM fatal error propagate to the OS (ie. WER on Windows)
src/share/vm/runtime/globals.hpp
UseOSErrorReportingboolsolarisfalsedefine_pd_global
src/os/solaris/vm/globals_solaris.hpp
UseOSErrorReportingboolwindowsfalsedefine_pd_global
// for now.
src/os/windows/vm/globals_windows.hpp
UseOnStackReplacementboolaarch64c1truedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
UseOnStackReplacementboolaarch64c2truedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
UseOnStackReplacementboolruntimeproduct_pd
Use on stack replacement, calls runtime if invoc. counter 
overflows in loop
src/share/vm/runtime/globals.hpp
UseOnStackReplacementboolppcc2truedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
UseOnStackReplacementboolsparcc1truedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
UseOnStackReplacementboolsparcc2truedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
UseOnStackReplacementboolx86c1truedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
UseOnStackReplacementboolx86c2truedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
UseOnStackReplacementboolzerosharktruedefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
UseOnlyInlinedBimorphicboolc2trueproduct
Don't use BimorphicInlining if can't inline a second method
src/share/vm/opto/c2_globals.hpp
UseOprofileObsoleted in JDK16
Expired in JDK17
boolbsdfalseproduct
enable support for Oprofile profiler
src/os/bsd/vm/globals_bsd.hpp
UseOprofileObsoleted in JDK16
Expired in JDK17
boollinuxfalseproduct
enable support for Oprofile profiler
src/os/linux/vm/globals_linux.hpp
UseOptoBiasInliningDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolc2trueproduct
Generate biased locking code in C2 ideal graph
src/share/vm/opto/c2_globals.hpp
UsePSAdaptiveSurvivorSizePolicyboolruntimetrueproduct
Use adaptive survivor sizing policies
src/share/vm/runtime/globals.hpp
UseParNewGCboolruntimefalseproduct
Use parallel threads in the new generation
src/share/vm/runtime/globals.hpp
UseParallelGCboolruntimefalseproduct
Use the Parallel Scavenge garbage collector
src/share/vm/runtime/globals.hpp
UseParallelOldGCDeprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
boolruntimefalseproduct
Use the Parallel Old garbage collector
src/share/vm/runtime/globals.hpp
UsePerfDataboolruntimeEMBEDDED_ONLY: falseInEmbeddedproduct
Flag to disable jvmstat instrumentation for performance testing 
and problem isolation purposes
src/share/vm/runtime/globals.hpp
UsePopCountInstructionboolruntimefalseproduct
Use population count instruction
src/share/vm/runtime/globals.hpp
UsePower6SchedulerPPC64boolppcfalseproduct
Use Power6 Scheduler.
src/cpu/ppc/vm/globals_ppc.hpp
UsePrivilegedStackboolruntimetruedevelop
Enable the security JVM functions
src/share/vm/runtime/globals.hpp
UsePthreadsboolruntimefalsedevelop
Use pthread-based instead of libthread-based synchronization 
(SPARC only)
src/share/vm/runtime/globals.hpp
UseRDPCForConstantTableBaseObsoleted in JDK16
Expired in JDK17
boolc2falseproduct
Use Sparc RDPC instruction for the constant table base.
src/share/vm/opto/c2_globals.hpp
UseRTMDeoptboolx86falseproduct
Perform deopt and recompilation based on RTM abort ratio
src/cpu/x86/vm/globals_x86.hpp
UseRTMForStackLocksboolx86falseexperimental
Enable RTM lock eliding for stack locks in compiled code
src/cpu/x86/vm/globals_x86.hpp
UseRTMLockingboolx86falseproduct
Enable RTM lock eliding for inflated locks in compiled code
src/cpu/x86/vm/globals_x86.hpp
UseRTMXendForLockBusyboolx86trueexperimental
Use RTM Xend instead of Xabort when lock busy
src/cpu/x86/vm/globals_x86.hpp
UseRelocIndexboolruntimefalsedevelop
Use an index to speed random access to relocations
src/share/vm/runtime/globals.hpp
UseRotateAndMaskInstructionsPPC64boolppctrueproduct
Use rotate and mask instructions.
src/cpu/ppc/vm/globals_ppc.hpp
UseSHA1Intrinsicsboolruntimefalseproduct
Use intrinsics for SHA-1 crypto hash function
src/share/vm/runtime/globals.hpp
UseSHA256Intrinsicsboolruntimefalseproduct
Use intrinsics for SHA-224 and SHA-256 crypto hash functions
src/share/vm/runtime/globals.hpp
UseSHA512Intrinsicsboolruntimefalseproduct
Use intrinsics for SHA-384 and SHA-512 crypto hash functions
src/share/vm/runtime/globals.hpp
UseSHAboolruntimefalseproduct
Control whether SHA instructions can be used on SPARC
src/share/vm/runtime/globals.hpp
UseSHMObsoleted in JDK22
Expired in JDK23
boolbsdfalseproduct
Use SYSV shared memory for large pages
src/os/bsd/vm/globals_bsd.hpp
UseSHMObsoleted in JDK22
Expired in JDK23
boollinuxfalseproduct
Use SYSV shared memory for large pages
src/os/linux/vm/globals_linux.hpp
UseSIGTRAPboolppctrueproduct
Allow trap instructions that make use of SIGTRAP. Use this to 
switch off all optimizations requiring SIGTRAP.
src/cpu/ppc/vm/globals_ppc.hpp
UseSIMDForMemoryOpsboolaarch64falseproduct
Use SIMD instructions in generated memory move code
src/cpu/aarch64/vm/globals_aarch64.hpp
UseSSE42Intrinsicsboolruntimefalseproduct
SSE4.2 versions of intrinsics
src/share/vm/runtime/globals.hpp
UseSSEObsoleted in JDK15
Expired in JDK16
intxruntime99product
Highest supported SSE instructions set on x86/x64
src/share/vm/runtime/globals.hpp
UseSerialGCboolruntimefalseproduct
Use the Serial garbage collector
src/share/vm/runtime/globals.hpp
UseSharedSpacesDeprecated in JDK18
Obsoleted in JDK19
boolruntimeEMBEDDED_ONLY: trueproduct
Use shared spaces for metadata
src/share/vm/runtime/globals.hpp
UseSignalChainingboolruntimetrueproduct
Use signal-chaining to invoke signal handlers installed 
by the application (Solaris & Linux only)
src/share/vm/runtime/globals.hpp
UseSlowPathboolc1falsedevelop
For debugging: test slow cases by always using them
src/share/vm/c1/c1_globals.hpp
UseSquareToLenIntrinsicboolc2falseproduct
Enables intrinsification of BigInteger.squareToLen()
src/share/vm/opto/c2_globals.hpp
UseStackBangingboolruntimetruedevelop
use stack banging for stack overflow checks (required for 
proper StackOverflow handling; disable only to measure cost 
of stackbanging)
src/share/vm/runtime/globals.hpp
UseStaticBranchPredictionForUncommonPathsPPC64boolppcfalseproduct
Use static branch prediction hints for uncommon paths.
src/cpu/ppc/vm/globals_ppc.hpp
UseStaticBranchPredictionInCompareAndSwapPPC64boolppctrueproduct
Use static branch prediction hints in CAS operations.
src/cpu/ppc/vm/globals_ppc.hpp
UseStoreImmI16boolx86trueproduct
Use store immediate 16-bits value instruction on x86
src/cpu/x86/vm/globals_x86.hpp
UseStrictFPboolruntimetruedevelop
use strict fp if modifier strictfp is set
src/share/vm/runtime/globals.hpp
UseStringDeduplicationboolruntimeEMBEDDED_ONLY: falseproduct
Use string deduplication
src/share/vm/runtime/globals.hpp
UseSuperWordboolc2trueproduct
Transform scalar operations into superword operations
src/share/vm/opto/c2_globals.hpp
UseTLABboolaarch64c1truedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
UseTLABboolaarch64c2truedefine_pd_global
src/cpu/aarch64/vm/c2_globals_aarch64.hpp
UseTLABboolruntimeproduct_pd
Use thread-local object allocation
src/share/vm/runtime/globals.hpp
UseTLABboolppcc2truedefine_pd_global
src/cpu/ppc/vm/c2_globals_ppc.hpp
UseTLABboolsparcc1truedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
UseTLABboolsparcc2truedefine_pd_global
src/cpu/sparc/vm/c2_globals_sparc.hpp
UseTLABboolx86c1truedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
UseTLABboolx86c2truedefine_pd_global
src/cpu/x86/vm/c2_globals_x86.hpp
UseTLABboolzerosharktruedefine_pd_global
src/cpu/zero/vm/shark_globals_zero.hpp
UseTableRangesboolc1truedevelop
Faster versions of lookup table using ranges
src/share/vm/c1/c1_globals.hpp
UseThreadPrioritiesboolruntimeproduct_pd
Use native thread priorities
src/share/vm/runtime/globals.hpp
UseThreadPrioritiesboolsolarisfalsedefine_pd_global
src/os/solaris/vm/globals_solaris.hpp
UseTransparentHugePagesboollinuxfalseproduct
Use MADV_HUGEPAGE for large pages
src/os/linux/vm/globals_linux.hpp
UseTypeProfileboolaarch64c1falsedefine_pd_global
src/cpu/aarch64/vm/c1_globals_aarch64.hpp
UseTypeProfileboolruntimetrueproduct
Check interpreter profile for historically monomorphic calls
src/share/vm/runtime/globals.hpp
UseTypeProfileboolsparcc1falsedefine_pd_global
src/cpu/sparc/vm/c1_globals_sparc.hpp
UseTypeProfileboolx86c1falsedefine_pd_global
src/cpu/x86/vm/c1_globals_x86.hpp
UseTypeSpeculationboolc2trueproduct
Speculatively propagate types from profiles
src/share/vm/opto/c2_globals.hpp
UseUTCFileTimestampObsoleted in JDK11
Expired in JDK12
boolwindowstrueproduct
Adjust the timestamp returned from stat() to be UTC
src/os/windows/vm/globals_windows.hpp
UseUnalignedLoadStoresboolx86falseproduct
Use SSE2 MOVDQU instruction for Arraycopy
src/cpu/x86/vm/globals_x86.hpp
UseUniqueSubclassesboolc2truedevelop
Narrow an abstract reference to the unique concrete subclass
src/share/vm/opto/c2_globals.hpp
UseV8InstrsOnlyboolsparcfalsedevelop
Use SPARC-V8 Compliant instruction subset
src/cpu/sparc/vm/globals_sparc.hpp
UseVISintxsparc99product
Highest supported VIS instructions set on Sparc
src/cpu/sparc/vm/globals_sparc.hpp
UseVMInterruptibleIOboolruntimeEMBEDDED_ONLY: falseproduct
(Unstable, Solaris-specific) Thread interrupt before or with 
EINTR for I/O operations results in OS_INTRPT. The default 
value of this flag is true for JDK 6 and earlier
src/share/vm/runtime/globals.hpp
UseVectoredExceptionsboolaixppcfalsedefine_pd_global
src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp
UseVectoredExceptionsboollinuxppcfalsedefine_pd_global
src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp
UseXMMForArrayCopyboolruntimefalseproduct
Use SSE2 MOVQ instruction for Arraycopy
src/share/vm/runtime/globals.hpp
UseXmmI2Dboolx86falseproduct
Use SSE2 CVTDQ2PD instruction to convert Integer to Double
src/cpu/x86/vm/globals_x86.hpp
UseXmmI2Fboolx86falseproduct
Use SSE2 CVTDQ2PS instruction to convert Integer to Float
src/cpu/x86/vm/globals_x86.hpp
UseXmmLoadAndClearUpperboolx86trueproduct
Load low part of XMM register and clear upper part
src/cpu/x86/vm/globals_x86.hpp
UseXmmRegToRegMoveAllboolx86falseproduct
Copy all XMM register bits when moving value between registers
src/cpu/x86/vm/globals_x86.hpp
VMThreadHintNoPreemptDeprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimeEMBEDDED_ONLY: falseproduct
(Solaris only) Give VM thread an extra quanta
src/share/vm/runtime/globals.hpp
VMThreadPriorityintxruntimeEMBEDDED_ONLY: -1product
The native priority at which the VM thread should run 
(-1 means no change)
src/share/vm/runtime/globals.hpp
VMThreadStackSizeintxaixppc2048define_pd_global
src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp
VMThreadStackSizeintxbsdaarch642048define_pd_global
src/os_cpu/bsd_aarch64/vm/globals_bsd_aarch64.hpp
VMThreadStackSizeintxbsdx86512define_pd_global
src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp
VMThreadStackSizeintxbsdzero512define_pd_global
src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp
VMThreadStackSizeintxlinuxaarch642048define_pd_global
src/os_cpu/linux_aarch64/vm/globals_linux_aarch64.hpp
VMThreadStackSizeintxlinuxppc2048define_pd_global
src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp
VMThreadStackSizeintxlinuxx86512define_pd_global
src/os_cpu/linux_x86/vm/globals_linux_x86.hpp
VMThreadStackSizeintxlinuxzero512define_pd_global
src/os_cpu/linux_zero/vm/globals_linux_zero.hpp
VMThreadStackSizeintxruntimeproduct_pd
Non-Java Thread Stack Size (in Kbytes)
src/share/vm/runtime/globals.hpp
VMThreadStackSizeintxsparc512define_pd_global
src/cpu/sparc/vm/globals_sparc.hpp
VMThreadStackSizeintxsolarisx86512define_pd_global
src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp
VMThreadStackSizeintxwindowsx860define_pd_global
// 0 => use system default
src/os_cpu/windows_x86/vm/globals_windows_x86.hpp
ValueMapInitialSizeintxc111product
Initial size of a value map
src/share/vm/c1/c1_globals.hpp
ValueMapMaxLoopSizeintxc18product
maximum size of a loop optimized by global value numbering
src/share/vm/c1/c1_globals.hpp
ValueSearchLimitintxc21000product
Recursion limit in PhaseMacroExpand::value_from_mem_phi
src/share/vm/opto/c2_globals.hpp
VerboseInternalVMTestsboolruntimefalsenotproduct
Turn on logging for internal VM tests.
src/share/vm/runtime/globals.hpp
VerboseVerificationboolruntimefalsediagnostic
Display detailed verification details
src/share/vm/runtime/globals.hpp
Verboseboolruntimefalsedevelop
Print additional debugging information from other modes
src/share/vm/runtime/globals.hpp
VerifyActivationFrameSizeboolruntimefalsedevelop
Verify that activation frame didn't become smaller than its 
minimal size
src/share/vm/runtime/globals.hpp
VerifyAdapterCallsboolruntimetrueInDebugdiagnostic
Verify that i2c/c2i adapters are called properly
src/share/vm/runtime/globals.hpp
VerifyAdapterSharingboolruntimefalsedevelop
Verify that the code for shared adapters is the equivalent
src/share/vm/runtime/globals.hpp
VerifyAfterGCboolruntimefalsediagnostic
Verify memory system after GC
src/share/vm/runtime/globals.hpp
VerifyAliasesboolc2falsedevelop
perform extra checks on the results of alias analysis
src/share/vm/opto/c2_globals.hpp
VerifyBeforeExitboolruntimetrueInDebugdiagnostic
Verify system before exiting
src/share/vm/runtime/globals.hpp
VerifyBeforeGCboolruntimefalsediagnostic
Verify memory system before GC
src/share/vm/runtime/globals.hpp
VerifyBeforeIterationboolruntimefalsediagnostic
Verify memory system before JVMTI iteration
src/share/vm/runtime/globals.hpp
VerifyBlockOffsetArrayboolruntimefalsedevelop
Do (expensive) block offset array verification
src/share/vm/runtime/globals.hpp
VerifyCodeCacheOftenboolruntimefalsenotproduct
Verify compiled-code cache often
src/share/vm/runtime/globals.hpp
VerifyCompiledCodeboolruntimefalsedevelop
Include miscellaneous runtime verifications in nmethod code; 
default off because it disturbs nmethod size heuristics
src/share/vm/runtime/globals.hpp
VerifyConnectionGraphboolc2truenotproduct
Verify Connection Graph construction in Escape Analysis
src/share/vm/opto/c2_globals.hpp
VerifyDUIteratorsboolc2truenotproduct
Verify the safety of all iterations of Bi-directional Edges
src/share/vm/opto/c2_globals.hpp
VerifyDataPointerboolruntimetrueInDebugdevelop
Verify the method data pointer during interpreter profiling
src/share/vm/runtime/globals.hpp
VerifyDependenciesboolruntimetrueInDebugdevelop
Exercise and verify the compilation dependency mechanism
src/share/vm/runtime/globals.hpp
VerifyDuringGCboolruntimefalsediagnostic
Verify memory system during GC (between phases)
src/share/vm/runtime/globals.hpp
VerifyDuringStartupboolruntimefalsediagnostic
Verify memory system before executing any Java code 
during VM initialization
src/share/vm/runtime/globals.hpp
VerifyFPUboolruntimefalsedevelop
Verify FPU state (check for NaN's, etc.)
src/share/vm/runtime/globals.hpp
VerifyGCLevelintxruntimeEMBEDDED_ONLY: 0diagnostic
Generation level at which to start +VerifyBefore/AfterGC
src/share/vm/runtime/globals.hpp
VerifyGCStartAtuintxruntimeEMBEDDED_ONLY: 0diagnostic
GC invoke count where +VerifyBefore/AfterGC kicks in
src/share/vm/runtime/globals.hpp
VerifyGenericSignaturesboolruntimeEMBEDDED_ONLY: falsedevelop
Abort VM on erroneous or inconsistent generic signatures
src/share/vm/runtime/globals.hpp
VerifyGraphEdgesboolc2falsenotproduct
Verify Bi-directional Edges
src/share/vm/opto/c2_globals.hpp
VerifyHashTableKeysboolc2truenotproduct
Verify the immutability of keys in the VN hash tables
src/share/vm/opto/c2_globals.hpp
VerifyIdealNodeCountboolc2falsenotproduct
Verify that tracked dead ideal node count is accurate
src/share/vm/opto/c2_globals.hpp
VerifyIterativeGVNboolc2falsedevelop
Verify Def-Use modifications during sparse Iterative Global 
Value Numbering
src/share/vm/opto/c2_globals.hpp
VerifyJNIEnvThreadboolruntimefalsenotproduct
Verify JNIEnv.thread == Thread::current() when entering VM 
from JNI
src/share/vm/runtime/globals.hpp
VerifyJNIFieldsboolruntimetrueInDebugdevelop
Verify jfieldIDs for instance fields
src/share/vm/runtime/globals.hpp
VerifyLastFrameboolruntimefalsenotproduct
Verify oops on last frame on entry to VM
src/share/vm/runtime/globals.hpp
VerifyLoopOptimizationsboolc2falsenotproduct
verify major loop optimizations
src/share/vm/opto/c2_globals.hpp
VerifyMergedCPBytecodesObsoleted in JDK16
Expired in JDK17
boolruntimetrueproduct
Verify bytecodes after RedefineClasses constant pool merging
src/share/vm/runtime/globals.hpp
VerifyMethodHandlesboolruntimeEMBEDDED_ONLY: trueInDebugdiagnostic
perform extra checks when constructing method handles
src/share/vm/runtime/globals.hpp
VerifyObjectStartArrayboolruntimetruediagnostic
Verify GC object start array if verify before/after
src/share/vm/runtime/globals.hpp
VerifyOopsboolruntimefalsedevelop
Do plausibility checks for oops
src/share/vm/runtime/globals.hpp
VerifyOptoOopOffsetsboolc2falsenotproduct
Check types of base addresses in field references
src/share/vm/opto/c2_globals.hpp
VerifyOptoboolc2falsenotproduct
Apply more time consuming verification during compilation
src/share/vm/opto/c2_globals.hpp
VerifyReflectionBytecodesboolruntimeEMBEDDED_ONLY: falsedevelop
Force verification of 1.4 reflection bytecodes. Does not work 
in situations like that described in 4486457 or for 
constructors generated for serialization, so can not be enabled 
in product.
src/share/vm/runtime/globals.hpp
VerifyRegisterAllocatorboolc2falsenotproduct
Verify Register Allocator
src/share/vm/opto/c2_globals.hpp
VerifyRememberedSetsboolruntimefalsediagnostic
Verify GC remembered sets
src/share/vm/runtime/globals.hpp
VerifySharedSpacesboolruntimeEMBEDDED_ONLY: falseproduct
Verify shared spaces (false for default archive, true for 
archive specified by -XX:SharedArchiveFile)
src/share/vm/runtime/globals.hpp
VerifySilentlyboolruntimefalsediagnostic
Do not print the verification progress
src/share/vm/runtime/globals.hpp
VerifyStackAtCallsboolruntimefalsedevelop
Verify that the stack pointer is unchanged after calls
src/share/vm/runtime/globals.hpp
VerifyStackboolruntimefalsedevelop
Verify stack of each thread when it is entering a runtime call
src/share/vm/runtime/globals.hpp
VerifyStringTableAtExitboolruntimefalsediagnostic
verify StringTable contents at exit
src/share/vm/runtime/globals.hpp
VerifySubSetccstrlistruntime
diagnostic
Memory 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, 
c-heap, codecache_oops
src/share/vm/runtime/globals.hpp
VerifyThreadboolruntimefalsedevelop
Watch the thread register for corruption (SPARC only)
src/share/vm/runtime/globals.hpp
WalkStackALotboolruntimefalsenotproduct
Trace stack (no print) at every exit from the runtime system
src/share/vm/runtime/globals.hpp
WarmCallMaxSizeintxc2999999develop
size of the largest inlinable method
src/share/vm/opto/c2_globals.hpp
WarmCallMaxWorkintxc2999999develop
execution time of the largest inlinable method
src/share/vm/opto/c2_globals.hpp
WarmCallMinCountintxc2-1develop
number of calls (per method invocation) to enable inlining
src/share/vm/opto/c2_globals.hpp
WarmCallMinProfitintxc2-1develop
number of calls (per method invocation) to enable inlining
src/share/vm/opto/c2_globals.hpp
WarnOnStalledSpinLockuintxruntime0notproduct
Print warnings for stalled SpinLocks
src/share/vm/runtime/globals.hpp
WhiteBoxAPIboolruntimeEMBEDDED_ONLY: falsediagnostic
Enable internal testing APIs
src/share/vm/runtime/globals.hpp
WizardModeboolruntimefalsedevelop
Print much more debugging information
src/share/vm/runtime/globals.hpp
WorkAroundNPTLTimedWaitHangintxruntime1product
(Unstable, Linux-specific) 
avoid NPTL-FUTEX hang pthread_cond_timedwait
src/share/vm/runtime/globals.hpp
WorkStealingHardSpinsuintxruntime4096experimental
Number of iterations in a spin loop between checks on 
time out of hard spin
src/share/vm/runtime/globals.hpp
WorkStealingSleepMillisuintxruntime1experimental
Sleep time when sleep is used for yields
src/share/vm/runtime/globals.hpp
WorkStealingSpinToYieldRatiouintxruntime10experimental
Ratio of hard spins to calls to yield
src/share/vm/runtime/globals.hpp
WorkStealingYieldsBeforeSleepuintxruntime5000experimental
Number of yields before a sleep is done during workstealing
src/share/vm/runtime/globals.hpp
YoungGenerationSizeIncrementuintxruntime20product
Adaptive size percentage change in young generation
src/share/vm/runtime/globals.hpp
YoungGenerationSizeSupplementDecayuintxruntime8product
Decay factor to YoungedGenerationSizeSupplement
src/share/vm/runtime/globals.hpp
YoungGenerationSizeSupplementuintxruntime80product
Supplement to YoungedGenerationSizeIncrement used at startup
src/share/vm/runtime/globals.hpp
YoungPLABSizeuintxruntime4096product
Size of young gen promotion LAB's (in HeapWords)
src/share/vm/runtime/globals.hpp
ZapDeadCompiledLocalsFirstintxc20notproduct
If +ZapDeadCompiledLocals, 
skip this many before really doing it
src/share/vm/opto/c2_globals.hpp
ZapDeadCompiledLocalsLastintxc2-1notproduct
If +ZapDeadCompiledLocals, 
do this many after skipping (incl. skip count, -1 = all)
src/share/vm/opto/c2_globals.hpp
ZapDeadCompiledLocalsboolruntimefalsedevelop
Zap dead locals in compiler frames
src/share/vm/runtime/globals.hpp
ZapDeadLocalsOldboolruntimefalsenotproduct
Zap dead locals (old version, zaps all frames when 
entering the VM
src/share/vm/runtime/globals.hpp
ZapFillerObjectsboolruntimetrueInDebugdevelop
Zap filler objects with 0xDEAFBABE
src/share/vm/runtime/globals.hpp
ZapJNIHandleAreaboolruntimetrueInDebugdevelop
Zap freed JNI handle space with 0xFEFEFEFE
src/share/vm/runtime/globals.hpp
ZapMemoryboolppcfalseproduct
Write 0x0101... to empty memory.
 Use this to ease debugging.
src/cpu/ppc/vm/globals_ppc.hpp
ZapResourceAreaboolruntimetrueInDebugdevelop
Zap freed resource/arena space with 0xABABABAB
src/share/vm/runtime/globals.hpp
ZapStackSegmentsboolruntimetrueInDebugnotproduct
Zap allocated/freed stack segments with 0xFADFADED
src/share/vm/runtime/globals.hpp
ZapUnusedHeapAreaboolruntimetrueInDebugdevelop
Zap unused heap space with 0xBAADBABE
src/share/vm/runtime/globals.hpp
ZapVMHandleAreaboolruntimetrueInDebugnotproduct
Zap freed VM handle space with 0xBCBCBCBC
src/share/vm/runtime/globals.hpp
ZeroTLABboolruntimefalseproduct
Zero out the newly created TLAB
src/share/vm/runtime/globals.hpp
ZombieALotIntervalintxruntimeEMBEDDED_ONLY: 5notproduct
Number of exits until ZombieALot kicks in
src/share/vm/runtime/globals.hpp
ZombieALotboolruntimefalsenotproduct
Create zombies (non-entrant) at exit from the runtime system
src/share/vm/runtime/globals.hpp
batch
disable background compilation
Xusage.txt
bootclasspath/a<dirs/jars>
append to end of bootstrap class path
Xusage.txt
bootclasspath/p<dirs/jars>
prepend in front of bootstrap class path
Xusage.txt
bootclasspath<dirs/jars>
set search path for bootstrap classes and resources
Xusage.txt
check:jni
perform additional checks for JNI functions
Xusage.txt
future
enable strictest checks, anticipating future default
Xusage.txt
hashCodeintxruntime5product
(Unstable) select hashCode generation algorithm
src/share/vm/runtime/globals.hpp
incgc
enable incremental garbage collection
Xusage.txt
int
interpreted mode execution only
Xusage.txt
loggc<file>
log GC status to a file with time stamps
Xusage.txt
mixed
mixed mode execution (default)
Xusage.txt
ms<size>
set initial Java heap size
Xusage.txt
mx<size>
set maximum Java heap size
Xusage.txt
noclassgc
disable class garbage collection
Xusage.txt
prof
output cpu profiling data
Xusage.txt
rs
reduce use of OS signals by Java/VM (see documentation)
Xusage.txt
share:auto
use shared class data if possible (default)
Xusage.txt
share:off
do not attempt to use shared class data
Xusage.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 size
Xusage.txt