VM Options Explorer - OpenJDK12 HotSpot


NameSinceDeprecatedTypeOSCPUComponentDefaultAvailabilityDescriptionDefined in
SinceDeprecatedTypeOSCPUComponentAvailability
AOTLibraryOpenJDK9ccstrlistruntimeNULLproduct
AOT library
share/runtime/globals.hpp
AbortVMOnCompilationFailureOpenJDK11boolruntimefalsediagnostic
Abort VM when method had failed to compile.
share/runtime/globals.hpp
AbortVMOnExceptionMessageOpenJDK6ccstrruntimeNULLdiagnostic
Call fatal if the exception pointed by AbortVMOnException 
has this message
share/runtime/globals.hpp
AbortVMOnExceptionOpenJDK6ccstrruntimeNULLdiagnostic
Call fatal if this exception is thrown. Example: 
java -XX:AbortVMOnException=java.lang.NullPointerException Foo
share/runtime/globals.hpp
AbortVMOnSafepointTimeoutOpenJDK11boolruntimefalsediagnostic
Abort upon failure to reach safepoint (see SafepointTimeout)
share/runtime/globals.hpp
AbortVMOnVMOperationTimeoutDelayOpenJDK11intxruntime1000
range(0, max_intx)
diagnostic
Delay in milliseconds for option AbortVMOnVMOperationTimeout
share/runtime/globals.hpp
AbortVMOnVMOperationTimeoutOpenJDK11boolruntimefalsediagnostic
Abort upon failure to complete VM operation promptly
share/runtime/globals.hpp
ActiveProcessorCountOpenJDK10intgc-1product
Specify the CPU count the VM should use and report as active
share/gc/shared/gc_globals.hpp
AdaptiveSizeDecrementScaleFactorOpenJDK6uintxgc4
range(1, max_uintx)
product
Adaptive size scale down factor for shrinking
share/gc/shared/gc_globals.hpp
AdaptiveSizeMajorGCDecayTimeScaleOpenJDK6uintxgc10
range(0, max_uintx)
product
Time scale over which major costs decay
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyCollectionCostMarginOpenJDK6Obsoleted in JDK23
Expired in JDK24
uintxgc50
range(0, 100)
product
If collection costs are within margin, reduce both by full 
delta
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyGCTimeLimitThresholdOpenJDK6uintxgc5
range(1, max_uintx)
develop
Number of consecutive collections before gc time limit fires
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyInitializingStepsOpenJDK6uintxgc20
range(0, max_uintx)
product
Number of steps where heuristics is used before data is used
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyOutputIntervalOpenJDK6uintxgc0
range(0, max_uintx)
product
Collection interval for printing information; zero means never
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyReadyThresholdOpenJDK6uintxgc5develop
Number of collections before the adaptive sizing is started
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyWeightOpenJDK6uintxgc10
range(0, 100)
product
Weight given to exponential resizing, between 0 and 100
share/gc/shared/gc_globals.hpp
AdaptiveSizeThroughPutPolicyOpenJDK6uintxgc0
range(0, 1)
product
Policy for changing generation size for throughput goals
share/gc/shared/gc_globals.hpp
AdaptiveTimeWeightOpenJDK6uintxgc25
range(0, 100)
product
Weight given to time in adaptive policy, between 0 and 100
share/gc/shared/gc_globals.hpp
AggressiveHeapOpenJDK10boolgcfalseproduct
Optimize heap options for long-running memory intensive apps
share/gc/shared/gc_globals.hpp
AggressiveUnboxingOpenJDK8boolc2falseexperimental
Control optimizations for aggressive boxing elimination
share/opto/c2_globals.hpp
AliasLevelOpenJDK6Deprecated in JDK19
Obsoleted in JDK20
Expired in JDK21
intxc23
range(0, 3)
product
0 for no aliasing, 1 for oop/field/static/array split, 

2 for class split, 3 for unique instances
share/opto/c2_globals.hpp
AlignVectorOpenJDK7boolc2trueproduct
Perform vector store/load alignment in loop
share/opto/c2_globals.hpp
AllocateHeapAtOpenJDK10ccstrruntimeNULLproduct
Path to the directoy where a temporary file will be created 
to use as the backing store for Java Heap.
share/runtime/globals.hpp
AllocateInstancePrefetchLinesOpenJDK6intxruntime1
range(1, 64)
product
Number of lines to prefetch ahead of instance allocation 
pointer
share/runtime/globals.hpp
AllocateOldGenAtOpenJDK12ccstrruntimeNULLexperimental
Path to the directoy where a temporary file will be 
created to use as the backing store for old generation.
File of size Xmx is pre-allocated for performance reason, so
we need that much space available
share/runtime/globals.hpp
AllocatePrefetchDistanceOpenJDK6intxruntime-1product
Distance to prefetch ahead of allocation pointer. 
-1: use system-specific value (automatically determined
share/runtime/globals.hpp
AllocatePrefetchInstrOpenJDK6intxruntime0product
Select instruction to prefetch ahead of allocation pointer
share/runtime/globals.hpp
AllocatePrefetchLinesOpenJDK6intxruntime3
range(1, 64)
product
Number of lines to prefetch ahead of array allocation pointer
share/runtime/globals.hpp
AllocatePrefetchStepSizeOpenJDK6intxruntime16
range(1, 512)
product
Step size in bytes of sequential prefetch instructions
share/runtime/globals.hpp
AllocatePrefetchStyleOpenJDK6intxruntime1
range(0, 3)
product
0 = no prefetch, 

1 = generate prefetch instructions for each allocation, 

2 = use TLAB watermark to gate allocation prefetch, 

3 = generate one prefetch instruction per cache line
share/runtime/globals.hpp
AllowArchivingWithJavaAgentOpenJDK12boolruntimefalsediagnostic
Allow Java agent to be run with CDS dumping
share/runtime/globals.hpp
AllowExtshmOpenJDK9boolaixfalseproduct
Allow VM to run with EXTSHM=ON.
os/aix/globals_aix.hpp
AllowJNIEnvProxyOpenJDK6Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolruntimefalseproduct
Allow JNIEnv proxies for jdbx
share/runtime/globals.hpp
AllowParallelDefineClassOpenJDK6boolruntimefalseproduct
Allow parallel defineClass requests for class loaders 
registering as parallel capable
share/runtime/globals.hpp
AllowUserSignalHandlersOpenJDK6boolruntimefalseproduct
Do not complain if the application installs signal handlers 
(Solaris & Linux only)
share/runtime/globals.hpp
AllowVectorizeOnDemandOpenJDK9boolc2trueproduct
Globally supress vectorization set in VectorizeMethod
share/opto/c2_globals.hpp
AlwaysActAsServerClassMachineOpenJDK6boolgcfalseproduct
Always act like a server-class machine
share/gc/shared/gc_globals.hpp
AlwaysAtomicAccessesOpenJDK9boolruntimefalseexperimental
Accesses to all variables should always be atomic
share/runtime/globals.hpp
AlwaysCompileLoopMethodsOpenJDK6boolruntimefalseproduct
When using recompilation, never interpret methods 
containing loops
share/runtime/globals.hpp
AlwaysIncrementalInlineOpenJDK7boolc2falsedevelop
do all inlining incrementally
share/opto/c2_globals.hpp
AlwaysLockClassLoaderOpenJDK6Deprecated 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
share/runtime/globals.hpp
AlwaysPreTouchOpenJDK6boolgcfalseproduct
Force all freshly committed pages to be pre-touched
share/gc/shared/gc_globals.hpp
AlwaysRestoreFPUOpenJDK6boolruntimefalseproduct
Restore the FPU control word after every JNI call (expensive)
share/runtime/globals.hpp
AlwaysSafeConstructorsOpenJDK9boolruntimefalseexperimental
Force safe construction, as if all fields are final.
share/runtime/globals.hpp
AlwaysTenureOpenJDK6boolgcfalseproduct
Always tenure objects in eden (ParallelGC only)
share/gc/shared/gc_globals.hpp
ArrayAllocatorMallocLimitOpenJDK7size_truntimeSOLARIS_ONLY(64*K) NOT_SOLARIS((size_t)-1)experimental
Allocation less than this value will be allocated 
using malloc. Larger allocations will use mmap.
share/runtime/globals.hpp
ArrayCopyLoadStoreMaxElemOpenJDK9intxc28
range(0, max_intx)
product
Maximum number of arraycopy elements inlined as a sequence of
loads/stores
share/opto/c2_globals.hpp
ArraycopyDstPrefetchDistanceOpenJDK6uintxsparc0product
Distance to prefetch destination array in arraycopy
cpu/sparc/globals_sparc.hpp
ArraycopySrcPrefetchDistanceOpenJDK6uintxsparc0product
Distance to prefetch source array in arraycopy
cpu/sparc/globals_sparc.hpp
AssertOnSuspendWaitFailureOpenJDK6Obsoleted in JDK17
Expired in JDK18
boolruntimefalseproduct
Assert/Guarantee on external suspend wait failure
share/runtime/globals.hpp
AssertRangeCheckEliminationOpenJDK8boolc1falsedevelop
Assert Range Check Elimination
share/c1/c1_globals.hpp
AutoBoxCacheMaxOpenJDK6intxc2128
range(0, max_jint)
product
Sets max value cached by the java.lang.Integer autobox cache
share/opto/c2_globals.hpp
AvoidUnalignedAccessesOpenJDK9boolaarch64falseproduct
Avoid generating unaligned memory accesses
cpu/aarch64/globals_aarch64.hpp
BCEATraceLevelOpenJDK6intxruntime0
range(0, 3)
product
How much tracing to do of bytecode escape analysis estimates 
(0-3)
share/runtime/globals.hpp
BackgroundCompilationOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
BackgroundCompilationOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
BackgroundCompilationOpenJDK6boolruntimeproduct_pd
A thread requesting compilation is not blocked during 
compilation
share/runtime/globals.hpp
BackgroundCompilationOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
BackgroundCompilationOpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
BackgroundCompilationOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
BackgroundCompilationOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
BailoutAfterHIROpenJDK6boolc1falsedevelop
bailout of compilation after building of HIR
share/c1/c1_globals.hpp
BailoutAfterLIROpenJDK6boolc1falsedevelop
bailout of compilation after building of LIR
share/c1/c1_globals.hpp
BailoutOnExceptionHandlersOpenJDK6boolc1falsedevelop
bailout of compilation for methods with exception handlers
share/c1/c1_globals.hpp
BailoutToInterpreterForThrowsOpenJDK6boolc2falsedevelop
Compiled methods which throws/catches exceptions will be 
deopt and intp.
share/opto/c2_globals.hpp
BaseFootPrintEstimateOpenJDK6size_tgc256*M
range(0, max_uintx)
product
Estimate of footprint other than Java Heap
share/gc/shared/gc_globals.hpp
BciProfileWidthOpenJDK6intxruntime2develop
Number of return bci's to record in ret profile
share/runtime/globals.hpp
BiasedLockingBulkRebiasThresholdOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
intxruntime20
range(0, max_intx)
product
Threshold of number of revocations per type to try to 
rebias all objects in the heap of that type
share/runtime/globals.hpp
BiasedLockingBulkRevokeThresholdOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
intxruntime40
range(0, max_intx)
product
Threshold of number of revocations per type to permanently 
revoke biases of all objects in the heap of that type
share/runtime/globals.hpp
BiasedLockingDecayTimeOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
intxruntime25000
range(500, max_intx)
product
Decay time (in milliseconds) to re-enable bulk rebiasing of a 
type after previous bulk rebias
share/runtime/globals.hpp
BiasedLockingStartupDelayOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
intxruntime0
range(0, (intx)(max_jint-(max_jint%PeriodicTask::interval_gran)))
product
Number of milliseconds to wait before enabling biased locking
share/runtime/globals.hpp
BinarySwitchThresholdOpenJDK6intxruntime5develop
Minimal number of lookupswitch entries for rewriting to binary 
switch
share/runtime/globals.hpp
BindCMSThreadToCPUOpenJDK6boolgcfalsediagnostic
Bind CMS Thread to CPU if possible
share/gc/cms/cms_globals.hpp
BindGCTaskThreadsToCPUsOpenJDK6Obsoleted in JDK14
Expired in JDK16
boolgcfalseproduct
Bind GCTaskThreads to CPUs if possible
share/gc/shared/gc_globals.hpp
BlockCopyLowLimitOpenJDK6intxsparc2048
range(1, max_jint)
product
Minimum size in bytes when block copy will be used
cpu/sparc/globals_sparc.hpp
BlockLayoutByFrequencyOpenJDK6boolc2trueproduct
Use edge frequencies to drive block ordering
share/opto/c2_globals.hpp
BlockLayoutMinDiamondPercentageOpenJDK6intxc220
range(0, 100)
product
Miniumum %% of a successor (predecessor) for which block 
layout a will allow a fork (join) in a single chain
share/opto/c2_globals.hpp
BlockLayoutRotateLoopsOpenJDK6boolc2trueproduct
Allow back branches to be fall throughs in the block layout
share/opto/c2_globals.hpp
BlockOffsetArrayUseUnallocatedBlockOpenJDK6boolgcfalsediagnostic
Maintain _unallocated_block in BlockOffsetArray 
(currently applicable only to CMS collector)
share/gc/shared/gc_globals.hpp
BlockZeroingLowLimitOpenJDK6intxaarch64256
range(1, max_jint)
product
Minimum size in bytes when block zeroing will be used
cpu/aarch64/globals_aarch64.hpp
BlockZeroingLowLimitOpenJDK6intxsparc2048
range(1, max_jint)
product
Minimum size in bytes when block zeroing will be used
cpu/sparc/globals_sparc.hpp
BootstrapJVMCIOpenJDK9booljvmcifalseexperimental
Bootstrap JVMCI before running Java main method
share/jvmci/jvmci_globals.hpp
BranchOnRegisterOpenJDK6Obsoleted in JDK15
Expired in JDK16
boolc2falseproduct
Use Sparc V9 branch-on-register opcodes
share/opto/c2_globals.hpp
BreakAtNodeOpenJDK6intxc20notproduct
Break at construction of this Node (either _idx or _debug_idx)
share/opto/c2_globals.hpp
BreakAtWarningOpenJDK6boolruntimefalsedevelop
Execute breakpoint upon encountering VM warning
share/runtime/globals.hpp
BytecodeVerificationLocalOpenJDK6boolruntimefalseproduct
Enable the Java bytecode verifier for local classes
share/runtime/globals.hpp
BytecodeVerificationRemoteOpenJDK6boolruntimetrueproduct
Enable the Java bytecode verifier for remote classes
share/runtime/globals.hpp
C1BreakpointOpenJDK6boolc1falsedevelop
Sets a breakpoint at entry of each compiled method
share/c1/c1_globals.hpp
C1OptimizeVirtualCallProfilingOpenJDK6boolc1trueproduct
Use CHA and exact type results at call sites when updating MDOs
share/c1/c1_globals.hpp
C1ProfileBranchesOpenJDK6boolc1trueproduct
Profile branches when generating code for updating MDOs
share/c1/c1_globals.hpp
C1ProfileCallsOpenJDK6boolc1trueproduct
Profile calls when generating code for updating MDOs
share/c1/c1_globals.hpp
C1ProfileCheckcastsOpenJDK6boolc1trueproduct
Profile checkcasts when generating code for updating MDOs
share/c1/c1_globals.hpp
C1ProfileInlinedCallsOpenJDK6boolc1trueproduct
Profile inlined calls when generating code for updating MDOs
share/c1/c1_globals.hpp
C1ProfileVirtualCallsOpenJDK6boolc1trueproduct
Profile virtual calls when generating code for updating MDOs
share/c1/c1_globals.hpp
C1UpdateMethodDataOpenJDK6boolc1trueInTieredproduct
Update MethodData*s in Tier1-generated code
share/c1/c1_globals.hpp
CIBreakAtOSROpenJDK6intxruntime-1develop
The id of osr compilation to break at
share/runtime/globals.hpp
CIBreakAtOpenJDK6intxruntime-1develop
The id of compilation to break at
share/runtime/globals.hpp
CICompileNativesOpenJDK6boolruntimetruedevelop
compile native methods if supported by the compiler
share/runtime/globals.hpp
CICompileOSROpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CICompileOSROpenJDK6boolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
CICompileOSROpenJDK6boolruntimedevelop_pd
compile on stack replacement methods if supported by the 
compiler
share/runtime/globals.hpp
CICompileOSROpenJDK6boolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
CICompileOSROpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
CICompileOSROpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
CICompileOSROpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
CICompilerCountPerCPUOpenJDK6boolruntimefalseproduct
1 compiler thread for log(N CPUs)
share/runtime/globals.hpp
CICompilerCountOpenJDK6intxruntimeCI_COMPILER_COUNT
range(0, max_jint)
product
Number of compiler threads to run
share/runtime/globals.hpp
CICountOSROpenJDK6boolruntimefalsedevelop
use a separate counter when assigning ids to osr compilations
share/runtime/globals.hpp
CICrashAtOpenJDK8intxruntime-1notproduct
id of compilation to trigger assert in compiler thread for 
the purpose of testing, e.g. generation of replay data
share/runtime/globals.hpp
CIFireOOMAtOpenJDK6intxruntime-1develop
Fire OutOfMemoryErrors throughout CI for testing the compiler 
(non-negative value throws OOM after this many CI accesses 
in each compile)
share/runtime/globals.hpp
CIObjectFactoryVerifyOpenJDK6boolruntimefalsenotproduct
enable potentially expensive verification in ciObjectFactory
share/runtime/globals.hpp
CIPrintCompileQueueOpenJDK6boolruntimefalsediagnostic
display the contents of the compile queue whenever a 
compilation is enqueued
share/runtime/globals.hpp
CIPrintCompilerNameOpenJDK6boolruntimefalsedevelop
when CIPrint is active, print the name of the active compiler
share/runtime/globals.hpp
CIPrintMethodCodesOpenJDK6boolruntimefalsedevelop
print method bytecodes of the compiled code
share/runtime/globals.hpp
CIPrintRequestsOpenJDK6boolruntimefalsedevelop
display every request for compilation
share/runtime/globals.hpp
CIPrintTypeFlowOpenJDK6boolruntimefalsedevelop
print the results of ciTypeFlow analysis
share/runtime/globals.hpp
CIStartOSROpenJDK6intxruntime0develop
The id of the first osr compilation to permit 
(CICountOSR must be on)
share/runtime/globals.hpp
CIStartOpenJDK6intxruntime0develop
The id of the first compilation to permit
share/runtime/globals.hpp
CIStopOSROpenJDK6intxruntimemax_jintdevelop
The id of the last osr compilation to permit 
(CICountOSR must be on)
share/runtime/globals.hpp
CIStopOpenJDK6intxruntimemax_jintdevelop
The id of the last compilation to permit
share/runtime/globals.hpp
CITimeEachOpenJDK6boolruntimefalsedevelop
display timing information after each successful compilation
share/runtime/globals.hpp
CITimeVerboseOpenJDK9boolruntimefalsedevelop
be more verbose in compilation timings
share/runtime/globals.hpp
CITimeOpenJDK6boolruntimefalseproduct
collect timing information for compilation
share/runtime/globals.hpp
CITraceTypeFlowOpenJDK6boolruntimefalsedevelop
detailed per-bytecode tracing of ciTypeFlow analysis
share/runtime/globals.hpp
CMSAbortSemanticsOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
Whether abort-on-overflow semantics is implemented
share/gc/cms/cms_globals.hpp
CMSAbortablePrecleanMinWorkPerIterationOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc100
range(0, max_uintx)
product
Nominal minimum work per abortable preclean iteration
share/gc/cms/cms_globals.hpp
CMSAbortablePrecleanWaitMillisOpenJDK6intxgc100
range(0, max_intx)
manageable
Time that we sleep between iterations when not given 
enough work per iteration
share/gc/cms/cms_globals.hpp
CMSBitMapYieldQuantumOpenJDK6Obsoleted in JDK14
Expired in JDK15
size_tgc10*M
range(1, max_uintx)
product
Bitmap operations should process at most this many bits 
between yields
share/gc/cms/cms_globals.hpp
CMSBootstrapOccupancyOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc50
range(0, 100)
product
Percentage CMS generation occupancy at which to 
initiate CMS collection for bootstrapping collection stats
share/gc/cms/cms_globals.hpp
CMSCheckIntervalOpenJDK8uintxgc1000develop
Interval in milliseconds that CMS thread checks if it 
should start a collection cycle
share/gc/cms/cms_globals.hpp
CMSClassUnloadingEnabledOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Whether class unloading enabled when using CMS GC
share/gc/cms/cms_globals.hpp
CMSClassUnloadingMaxIntervalOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc0
range(0, max_uintx)
product
When CMS class unloading is enabled, the maximum CMS cycle 
count for which classes may not be unloaded
share/gc/cms/cms_globals.hpp
CMSCleanOnEnterOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Clean-on-enter optimization for reducing number of dirty cards
share/gc/cms/cms_globals.hpp
CMSConcMarkMultipleOpenJDK6Obsoleted in JDK14
Expired in JDK15
size_tgc32
range(1, SIZE_MAX / 4096)
product
Size (in cards) of CMS concurrent MT marking task
share/gc/cms/cms_globals.hpp
CMSConcurrentMTEnabledOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Whether multi-threaded concurrent work enabled 
(effective only if ParNewGC)
share/gc/cms/cms_globals.hpp
CMSCoordinatorYieldSleepCountOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc10
range(0, max_juint)
product
Number of times the coordinator GC thread will sleep while 
yielding before giving up and resuming GC
share/gc/cms/cms_globals.hpp
CMSEdenChunksRecordAlwaysOpenJDK7Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Always record eden chunks used for the parallel initial mark 
or remark of eden
share/gc/cms/cms_globals.hpp
CMSExpAvgFactorOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc50
range(0, 100)
product
Percentage (0-100) used to weight the current sample when 
computing exponential averages for CMS statistics
share/gc/cms/cms_globals.hpp
CMSExtrapolateSweepOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
CMS: cushion for block demand during sweep
share/gc/cms/cms_globals.hpp
CMSIncrementalSafetyFactorOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc10
range(0, 100)
product
Percentage (0-100) used to add conservatism when computing the 
duty cycle
share/gc/cms/cms_globals.hpp
CMSIndexedFreeListReplenishOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc4
range(1, max_uintx)
product
Replenish an indexed free list with this number of chunks
share/gc/cms/cms_globals.hpp
CMSInitiatingOccupancyFractionOpenJDK6Obsoleted in JDK14
Expired in JDK15
intxgc-1
range(min_intx, 100)
product
Percentage CMS generation occupancy to start a CMS collection 
cycle. A negative value means that CMSTriggerRatio is used
share/gc/cms/cms_globals.hpp
CMSIsTooFullPercentageOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc98
range(0, 100)
product
An absolute ceiling above which CMS will always consider the 
unloading of classes when class unloading is enabled
share/gc/cms/cms_globals.hpp
CMSLargeCoalSurplusPercentOpenJDK6Obsoleted in JDK14
Expired in JDK15
doublegc0.95
range(0.0, DBL_MAX)
product
CMS: the factor by which to inflate estimated demand of large 
block sizes to prevent coalescing with an adjoining block
share/gc/cms/cms_globals.hpp
CMSLargeSplitSurplusPercentOpenJDK6Obsoleted in JDK14
Expired in JDK15
doublegc1.00
range(0.0, DBL_MAX)
product
CMS: the factor by which to inflate estimated demand of large 
block sizes to prevent splitting to supply demand for smaller 
blocks
share/gc/cms/cms_globals.hpp
CMSLoopWarnOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
Warn in case of excessive CMS looping
share/gc/cms/cms_globals.hpp
CMSMarkStackOverflowALotOpenJDK6boolgcfalsenotproduct
Simulate frequent marking stack / work queue overflow
share/gc/cms/cms_globals.hpp
CMSMarkStackOverflowIntervalOpenJDK6uintxgc1000notproduct
An 'interval' counter that determines how frequently 
to simulate overflow; a smaller number increases frequency
share/gc/cms/cms_globals.hpp
CMSMaxAbortablePrecleanLoopsOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc0
range(0, max_uintx)
product
Maximum number of abortable preclean iterations, if > 0
share/gc/cms/cms_globals.hpp
CMSMaxAbortablePrecleanTimeOpenJDK6Obsoleted in JDK14
Expired in JDK15
intxgc5000
range(0, max_intx)
product
Maximum time in abortable preclean (in milliseconds)
share/gc/cms/cms_globals.hpp
CMSOldPLABMaxOpenJDK6Obsoleted in JDK14
Expired in JDK15
size_tgc1024
range(1, max_uintx)
product
Maximum size of CMS gen promotion LAB caches per worker 
per block size
share/gc/cms/cms_globals.hpp
CMSOldPLABMinOpenJDK6Obsoleted in JDK14
Expired in JDK15
size_tgc16
range(1, max_uintx)
product
Minimum size of CMS gen promotion LAB caches per worker 
per block size
share/gc/cms/cms_globals.hpp
CMSOldPLABNumRefillsOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc4
range(1, max_uintx)
product
Nominal number of refills of CMS gen promotion LAB cache 
per worker per block size
share/gc/cms/cms_globals.hpp
CMSOldPLABReactivityFactorOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc2
range(1, max_uintx)
product
The gain in the feedback loop for on-the-fly PLAB resizing 
during a scavenge
share/gc/cms/cms_globals.hpp
CMSOldPLABResizeQuickerOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
React on-the-fly during a scavenge to a sudden 
change in block demand rate
share/gc/cms/cms_globals.hpp
CMSOldPLABToleranceFactorOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc4
range(1, max_uintx)
product
The tolerance of the phase-change detector for on-the-fly 
PLAB resizing during a scavenge
share/gc/cms/cms_globals.hpp
CMSPLABRecordAlwaysOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Always record survivor space PLAB boundaries (effective only 
if CMSParallelSurvivorRemarkEnabled)
share/gc/cms/cms_globals.hpp
CMSParallelInitialMarkEnabledOpenJDK7Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Use the parallel initial mark.
share/gc/cms/cms_globals.hpp
CMSParallelRemarkEnabledOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Whether parallel remark enabled (only if ParNewGC)
share/gc/cms/cms_globals.hpp
CMSParallelSurvivorRemarkEnabledOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Whether parallel remark of survivor space 
enabled (effective only if CMSParallelRemarkEnabled)
share/gc/cms/cms_globals.hpp
CMSPrecleanDenominatorOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc3
range(1, max_uintx)
product
CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence 
ratio
share/gc/cms/cms_globals.hpp
CMSPrecleanIterOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc3
range(0, 9)
product
Maximum number of precleaning iteration passes
share/gc/cms/cms_globals.hpp
CMSPrecleanNumeratorOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc2
range(0, max_uintx-1)
product
CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence 
ratio
share/gc/cms/cms_globals.hpp
CMSPrecleanRefLists1OpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Preclean ref lists during (initial) preclean phase
share/gc/cms/cms_globals.hpp
CMSPrecleanRefLists2OpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
Preclean ref lists during abortable preclean phase
share/gc/cms/cms_globals.hpp
CMSPrecleanSurvivors1OpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
Preclean survivors during (initial) preclean phase
share/gc/cms/cms_globals.hpp
CMSPrecleanSurvivors2OpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Preclean survivors during abortable preclean phase
share/gc/cms/cms_globals.hpp
CMSPrecleanThresholdOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc1000
range(100, max_uintx)
product
Do not iterate again if number of dirty cards is less than this
share/gc/cms/cms_globals.hpp
CMSPrecleaningEnabledOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Whether concurrent precleaning enabled
share/gc/cms/cms_globals.hpp
CMSPrintChunksInDumpOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
If logging for the 'gc' and 'promotion' tags is enabled on
trace level include more detailed information about the
free chunks
share/gc/cms/cms_globals.hpp
CMSPrintObjectsInDumpOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
If logging for the 'gc' and 'promotion' tags is enabled on
trace level include more detailed information about the
allocated objects
share/gc/cms/cms_globals.hpp
CMSRemarkVerifyVariantOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc1
range(1, 2)
product
Choose variant (1,2) of verification following remark
share/gc/cms/cms_globals.hpp
CMSReplenishIntermediateOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Replenish all intermediate free-list caches
share/gc/cms/cms_globals.hpp
CMSRescanMultipleOpenJDK6Obsoleted in JDK14
Expired in JDK15
size_tgc32
range(1, SIZE_MAX / 4096)
product
Size (in cards) of CMS parallel rescan task
share/gc/cms/cms_globals.hpp
CMSSamplingGrainOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc16*K
range(ObjectAlignmentInBytes, max_uintx)
product
The minimum distance between eden samples for CMS (see above)
share/gc/cms/cms_globals.hpp
CMSScavengeBeforeRemarkOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
Attempt scavenge before the CMS remark step
share/gc/cms/cms_globals.hpp
CMSScheduleRemarkEdenPenetrationOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc50
range(0, 100)
product
The Eden occupancy percentage (0-100) at which 
to try and schedule remark pause
share/gc/cms/cms_globals.hpp
CMSScheduleRemarkEdenSizeThresholdOpenJDK6Obsoleted in JDK14
Expired in JDK15
size_tgc2*M
range(0, max_uintx)
product
If Eden size is below this, do not try to schedule remark
share/gc/cms/cms_globals.hpp
CMSScheduleRemarkSamplingRatioOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc5
range(1, max_uintx)
product
Start sampling eden top at least before young gen 
occupancy reaches 1/ of the size at which 
we plan to schedule remark
share/gc/cms/cms_globals.hpp
CMSSmallCoalSurplusPercentOpenJDK6Obsoleted in JDK14
Expired in JDK15
doublegc1.05
range(0.0, DBL_MAX)
product
CMS: the factor by which to inflate estimated demand of small 
block sizes to prevent coalescing with an adjoining block
share/gc/cms/cms_globals.hpp
CMSSmallSplitSurplusPercentOpenJDK6Obsoleted in JDK14
Expired in JDK15
doublegc1.10
range(0.0, DBL_MAX)
product
CMS: the factor by which to inflate estimated demand of small 
block sizes to prevent splitting to supply demand for smaller 
blocks
share/gc/cms/cms_globals.hpp
CMSSplitIndexedFreeListBlocksOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
When satisfying batched demand, split blocks from the 
IndexedFreeList whose size is a multiple of requested size
share/gc/cms/cms_globals.hpp
CMSTestInFreeListOpenJDK6boolgcfalsedevelop
Check if the coalesced range is already in the 
free lists as claimed
share/gc/cms/cms_globals.hpp
CMSTriggerIntervalOpenJDK8intxgc-1
range(-1, max_intx)
manageable
Commence a CMS collection cycle (at least) every so many 
milliseconds (0 permanently, -1 disabled)
share/gc/cms/cms_globals.hpp
CMSTriggerRatioOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc80
range(0, 100)
product
Percentage of MinHeapFreeRatio in CMS generation that is 
allocated before a CMS collection cycle commences
share/gc/cms/cms_globals.hpp
CMSVerifyReturnedBytesOpenJDK6boolgcfalsenotproduct
Check that all the garbage collected was returned to the 
free lists
share/gc/cms/cms_globals.hpp
CMSWaitDurationOpenJDK6intxgc2000
range(min_jint, max_jint)
manageable
Time in milliseconds that CMS thread waits for young GC
share/gc/cms/cms_globals.hpp
CMSWorkQueueDrainThresholdOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc10
range(1, max_juint)
product
Don't drain below this size per parallel worker/thief
share/gc/cms/cms_globals.hpp
CMSYieldSleepCountOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc0
range(0, max_juint)
product
Number of times a GC thread (minus the coordinator) 
will sleep while yielding before giving up and resuming GC
share/gc/cms/cms_globals.hpp
CMSYieldOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Yield between steps of CMS
share/gc/cms/cms_globals.hpp
CMSYoungGenPerWorkerOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxaarch6464*Mdefine_pd_global
// default max size of CMS young gen, per GC worker thread
cpu/aarch64/globals_aarch64.hpp
CMSYoungGenPerWorkerOpenJDK6Obsoleted in JDK14
Expired in JDK15
size_tarm16*Mdefine_pd_global
// default max size of CMS young gen, per GC worker thread
cpu/arm/globals_arm.hpp
CMSYoungGenPerWorkerOpenJDK6Obsoleted in JDK14
Expired in JDK15
size_tgcproduct_pd
The maximum size of young gen chosen by default per GC worker 
thread available
share/gc/cms/cms_globals.hpp
CMSYoungGenPerWorkerOpenJDK6Obsoleted in JDK14
Expired in JDK15
size_tppc16*Mdefine_pd_global
// Default max size of CMS young gen, per GC worker thread.
cpu/ppc/globals_ppc.hpp
CMSYoungGenPerWorkerOpenJDK6Obsoleted in JDK14
Expired in JDK15
size_ts39016*Mdefine_pd_global
// Default max size of CMS young gen, per GC worker thread.
cpu/s390/globals_s390.hpp
CMSYoungGenPerWorkerOpenJDK6Obsoleted in JDK14
Expired in JDK15
size_tsparc16*Mdefine_pd_global
// default max size of CMS young gen, per GC worker thread
cpu/sparc/globals_sparc.hpp
CMSYoungGenPerWorkerOpenJDK6Obsoleted in JDK14
Expired in JDK15
size_tx8664*Mdefine_pd_global
// default max size of CMS young gen, per GC worker thread
cpu/x86/globals_x86.hpp
CMSYoungGenPerWorkerOpenJDK6Obsoleted in JDK14
Expired in JDK15
size_tzero16*Mdefine_pd_global
// default max size of CMS young gen, per GC worker thread
cpu/zero/globals_zero.hpp
CMS_FLSPaddingOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc1
range(0, max_juint)
product
The multiple of deviation from mean to use for buffering 
against volatility in free list demand
share/gc/cms/cms_globals.hpp
CMS_FLSWeightOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc75
range(0, 100)
product
Percentage (0-100) used to weight the current sample when 
computing exponentially decaying averages for CMS FLS 
statistics
share/gc/cms/cms_globals.hpp
CMS_SweepPaddingOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc1
range(0, max_juint)
product
The multiple of deviation from mean to use for buffering 
against volatility in inter-sweep duration
share/gc/cms/cms_globals.hpp
CMS_SweepTimerThresholdMillisOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc10
range(0, max_uintx)
product
Skip block flux-rate sampling for an epoch unless inter-sweep 
duration exceeds this threshold in milliseconds
share/gc/cms/cms_globals.hpp
CMS_SweepWeightOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc75
range(0, 100)
product
Percentage (0-100) used to weight the current sample when 
computing exponentially decaying average for inter-sweep 
duration
share/gc/cms/cms_globals.hpp
CPUForCMSThreadOpenJDK6uintxgc0
range(0, max_juint)
diagnostic
When BindCMSThreadToCPU is true, the CPU to bind CMS thread to
share/gc/cms/cms_globals.hpp
CSEArrayLengthOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CSEArrayLengthOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c1_globals_arm.hpp
CSEArrayLengthOpenJDK6boolc1develop_pd
Create separate nodes for length in array accesses
share/c1/c1_globals.hpp
CSEArrayLengthOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
CSEArrayLengthOpenJDK6bools390truedefine_pd_global
cpu/s390/c1_globals_s390.hpp
CSEArrayLengthOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
CSEArrayLengthOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
CalculateClassFingerprintOpenJDK10boolruntimefalseproduct
Calculate class fingerprint
share/runtime/globals.hpp
CanonicalizeNodesOpenJDK6boolc1truedevelop
Canonicalize graph nodes
share/c1/c1_globals.hpp
CheckCompressedOopsOpenJDK6boolruntimetruenotproduct
Generate checks in encoding/decoding code in debug VM
share/runtime/globals.hpp
CheckIntrinsicsOpenJDK9boolruntimetruediagnostic
When a class C is loaded, check that 
(1) all intrinsics defined by the VM for class C are present 
in the loaded class file and are marked with the 
@HotSpotIntrinsicCandidate annotation, that 
(2) there is an intrinsic registered for all loaded methods 
that are annotated with the @HotSpotIntrinsicCandidate 
annotation, and that 
(3) no orphan methods exist for class C (i.e., methods for 
which the VM declares an intrinsic but that are not declared 
in the loaded class C. 
Check (3) is available only in debug builds.
share/runtime/globals.hpp
CheckJNICallsOpenJDK6boolruntimefalseproduct
Verify all arguments to JNI calls
share/runtime/globals.hpp
CheckMemoryInitializationOpenJDK6boolruntimefalsenotproduct
Check memory initialization
share/runtime/globals.hpp
CheckUnhandledOopsOpenJDK6boolruntimefalsedevelop
Check for unhandled oops in VM code
share/runtime/globals.hpp
CheckZapUnusedHeapAreaOpenJDK6boolruntimefalsedevelop
Check zapping of unused heap space
share/runtime/globals.hpp
ClassUnloadingWithConcurrentMarkOpenJDK8boolruntimetrueproduct
Do unloading of classes with a concurrent marking cycle
share/runtime/globals.hpp
ClassUnloadingOpenJDK6boolruntimetrueproduct
Do unloading of classes
share/runtime/globals.hpp
CleanChunkPoolAsyncOpenJDK6boolruntimetruedevelop
Clean the chunk pool asynchronously
share/runtime/globals.hpp
ClipInliningOpenJDK6boolruntimetrueproduct
Clip inlining if aggregate method exceeds DesiredMethodLimit
share/runtime/globals.hpp
CodeCacheExpansionSizeOpenJDK6intxaarch6432*Kdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CodeCacheExpansionSizeOpenJDK6size_tarm32*Kdefine_pd_global
cpu/arm/c1_globals_arm.hpp
CodeCacheExpansionSizeOpenJDK6uintxruntimeproduct_pd
Code cache expansion size (in bytes)
share/runtime/globals.hpp
CodeCacheExpansionSizeOpenJDK6uintxppc32*Kdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
CodeCacheExpansionSizeOpenJDK6uintxs39064*Kdefine_pd_global
cpu/s390/c2_globals_s390.hpp
CodeCacheExpansionSizeOpenJDK6uintxsparc32*Kdefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
CodeCacheExpansionSizeOpenJDK6uintxx8632*Kdefine_pd_global
cpu/x86/c1_globals_x86.hpp
CodeCacheMinBlockLengthOpenJDK6uintxaarch641define_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinBlockLengthOpenJDK6uintxarm1define_pd_global
cpu/arm/c1_globals_arm.hpp
CodeCacheMinBlockLengthOpenJDK6uintxruntimediagnostic_pd
Minimum number of segments in a code cache block
share/runtime/globals.hpp
CodeCacheMinBlockLengthOpenJDK6uintxppc1define_pd_global
cpu/ppc/c1_globals_ppc.hpp
CodeCacheMinBlockLengthOpenJDK6uintxs3904define_pd_global
cpu/s390/c2_globals_s390.hpp
CodeCacheMinBlockLengthOpenJDK6uintxsparc1define_pd_global
cpu/sparc/c1_globals_sparc.hpp
CodeCacheMinBlockLengthOpenJDK6uintxx861define_pd_global
cpu/x86/c1_globals_x86.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxaarch64400*Kdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinimumUseSpaceOpenJDK8size_tarm400*Kdefine_pd_global
cpu/arm/c1_globals_arm.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxruntimedevelop_pd
Minimum code cache size (in bytes) required to start VM.
share/runtime/globals.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxppc400*Kdefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxs390400*Kdefine_pd_global
cpu/s390/c2_globals_s390.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxsparc400*Kdefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxx86400*Kdefine_pd_global
cpu/x86/c1_globals_x86.hpp
CodeCacheSegmentSizeOpenJDK6uintxaarch6464 TIERED_ONLY(+64)define_pd_global
// Tiered compilation has large code-entry alignment.
cpu/aarch64/globals_aarch64.hpp
CodeCacheSegmentSizeOpenJDK6uintxarm64 TIERED_ONLY(+64)define_pd_global
// Tiered compilation has large code-entry alignment.
cpu/arm/globals_arm.hpp
CodeCacheSegmentSizeOpenJDK6uintxruntimedevelop_pd
Code cache segment size (in bytes) - smallest unit of 
allocation
share/runtime/globals.hpp
CodeCacheSegmentSizeOpenJDK6uintxppc128define_pd_global
cpu/ppc/globals_ppc.hpp
CodeCacheSegmentSizeOpenJDK6uintxs390256define_pd_global
cpu/s390/globals_s390.hpp
CodeCacheSegmentSizeOpenJDK6uintxsparc64 TIERED_ONLY(+64)define_pd_global
// Tiered compilation has large code-entry alignment.
cpu/sparc/globals_sparc.hpp
CodeCacheSegmentSizeOpenJDK6uintxx8664 TIERED_ONLY(+64)define_pd_global
// Tiered compilation has large code-entry alignment.
cpu/x86/globals_x86.hpp
CodeCacheSegmentSizeOpenJDK6uintxzero64 TIERED_ONLY(+64)define_pd_global
// Tiered compilation has large code-entry alignment.
cpu/zero/globals_zero.hpp
CodeEntryAlignmentOpenJDK6intxaarch6464define_pd_global
cpu/aarch64/globals_aarch64.hpp
CodeEntryAlignmentOpenJDK6intxarm16define_pd_global
cpu/arm/globals_arm.hpp
CodeEntryAlignmentOpenJDK6intxruntimedevelop_pd
Code entry alignment for generated code (in bytes)
share/runtime/globals.hpp
CodeEntryAlignmentOpenJDK6intxppc128define_pd_global
cpu/ppc/globals_ppc.hpp
CodeEntryAlignmentOpenJDK6intxs39064define_pd_global
cpu/s390/globals_s390.hpp
CodeEntryAlignmentOpenJDK6intxsparc32define_pd_global
cpu/sparc/globals_sparc.hpp
CodeEntryAlignmentOpenJDK6intxx8616define_pd_global
cpu/x86/globals_x86.hpp
CodeEntryAlignmentOpenJDK6intxzero32define_pd_global
cpu/zero/globals_zero.hpp
CollectIndexSetStatisticsOpenJDK6boolruntimefalsenotproduct
Collect information about IndexSets
share/runtime/globals.hpp
CommentedAssemblyOpenJDK6boolc1trueInDebugdevelop
Show extra info in PrintNMethods output
share/c1/c1_globals.hpp
CompactFieldsOpenJDK6Deprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
boolruntimetrueproduct
Allocate nonstatic fields in gaps between previous fields
share/runtime/globals.hpp
CompactStringsOpenJDK9boolaarch64truedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
CompactStringsOpenJDK9boolarmfalsedefine_pd_global
cpu/arm/globals_arm.hpp
CompactStringsOpenJDK9boolruntimeproduct_pd
Enable Strings to use single byte chars in backing store
share/runtime/globals.hpp
CompactStringsOpenJDK9boolppctruedefine_pd_global
cpu/ppc/globals_ppc.hpp
CompactStringsOpenJDK9bools390truedefine_pd_global
cpu/s390/globals_s390.hpp
CompactStringsOpenJDK9boolsparctruedefine_pd_global
cpu/sparc/globals_sparc.hpp
CompactStringsOpenJDK9boolx86truedefine_pd_global
cpu/x86/globals_x86.hpp
CompactStringsOpenJDK9boolzerofalsedefine_pd_global
cpu/zero/globals_zero.hpp
CompilationPolicyChoiceOpenJDK6Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
intxruntime0
range(0, 2)
product
which compilation policy (0-2)
share/runtime/globals.hpp
CompileCommandFileOpenJDK6ccstrruntimeNULLproduct
Read compiler commands from this file [.hotspot_compiler]
share/runtime/globals.hpp
CompileCommandOpenJDK6ccstrlistruntime
product
Prepend to .hotspot_compiler; e.g. log,java/lang/String.
share/runtime/globals.hpp
CompileOnlyOpenJDK6ccstrlistruntime
product
List of methods (pkg/class.name) to restrict compilation to
share/runtime/globals.hpp
CompileThresholdScalingOpenJDK9doubleruntime1.0
range(0.0, DBL_MAX)
product
Factor to control when first compilation happens 
(both with and without tiered compilation): 
values greater than 1.0 delay counter overflow, 
values between 0 and 1.0 rush counter overflow, 
value of 1.0 leaves compilation thresholds unchanged 
value of 0.0 is equivalent to -Xint. 

Flag can be set as per-method option. 
If a value is specified for a method, compilation thresholds 
for that method are scaled by both the value of the global flag 
and the value of the per-method flag.
share/runtime/globals.hpp
CompileThresholdOpenJDK6intxaarch641500define_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CompileThresholdOpenJDK6intxarm10000define_pd_global
cpu/arm/c2_globals_arm.hpp
CompileThresholdOpenJDK6intxruntimeproduct_pd
number of interpreted method invocations before (re-)compiling
share/runtime/globals.hpp
CompileThresholdOpenJDK6intxppc1000define_pd_global
cpu/ppc/c1_globals_ppc.hpp
CompileThresholdOpenJDK6intxs39010000define_pd_global
cpu/s390/c2_globals_s390.hpp
CompileThresholdOpenJDK6intxsparc1000define_pd_global
// Design center runs on 1.3.1
cpu/sparc/c1_globals_sparc.hpp
CompileThresholdOpenJDK6intxx861500define_pd_global
cpu/x86/c1_globals_x86.hpp
CompilerDirectivesFileOpenJDK9ccstrruntimeNULLdiagnostic
Read compiler directives from this file
share/runtime/globals.hpp
CompilerDirectivesIgnoreCompileCommandsOpenJDK9boolruntimefalsediagnostic
Disable backwards compatibility for compile commands.
share/runtime/globals.hpp
CompilerDirectivesLimitOpenJDK9intruntime50diagnostic
Limit on number of compiler directives.
share/runtime/globals.hpp
CompilerDirectivesPrintOpenJDK9boolruntimefalsediagnostic
Print compiler directives on installation.
share/runtime/globals.hpp
CompilerThreadPriorityOpenJDK6intxruntime-1
range(min_jint, max_jint)
product
The native priority at which compiler threads should run 
(-1 means no change)
share/runtime/globals.hpp
CompilerThreadStackSizeOpenJDK6intxaixppc4096define_pd_global
os_cpu/aix_ppc/globals_aix_ppc.hpp
CompilerThreadStackSizeOpenJDK6intxbsdx86512define_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
CompilerThreadStackSizeOpenJDK6intxbsdzero0define_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxaarch642048define_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxarm512define_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxppc4096define_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxs3902048define_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxx86512define_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxzero0define_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
CompilerThreadStackSizeOpenJDK6intxruntimeproduct_pd
Compiler Thread Stack Size (in Kbytes)
share/runtime/globals.hpp
CompilerThreadStackSizeOpenJDK6intxsparc1024define_pd_global
cpu/sparc/globals_sparc.hpp
CompilerThreadStackSizeOpenJDK6intxsolarisx86512define_pd_global
os_cpu/solaris_x86/globals_solaris_x86.hpp
CompilerThreadStackSizeOpenJDK6intxwindowsx860define_pd_global
os_cpu/windows_x86/globals_windows_x86.hpp
CompressedClassSpaceSizeOpenJDK8size_truntime1*G
range(1*M, 3*G)
product
Maximum size of class area in Metaspace when compressed 
class pointers are used
share/runtime/globals.hpp
ComputeExactFPURegisterUsageOpenJDK6boolc1truedevelop
Compute additional live set for fpu registers to simplify fpu stack merge (Intel only)
share/c1/c1_globals.hpp
ConcGCThreadsOpenJDK6uintgc0product
Number of threads concurrent gc will use
share/gc/shared/gc_globals.hpp
ConcGCYieldTimeoutOpenJDK6intxgc0
range(0, max_intx)
develop
If non-zero, assert that GC threads yield within this 
number of milliseconds
share/gc/shared/gc_globals.hpp
ConditionalMoveLimitOpenJDK6intxaarch643define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
ConditionalMoveLimitOpenJDK6intxarm4define_pd_global
cpu/arm/c2_globals_arm.hpp
ConditionalMoveLimitOpenJDK6intxc2product_pd
Limit of ops to make speculative when using CMOVE
share/opto/c2_globals.hpp
ConditionalMoveLimitOpenJDK6intxppc3define_pd_global
cpu/ppc/c2_globals_ppc.hpp
ConditionalMoveLimitOpenJDK6intxs3904define_pd_global
cpu/s390/c2_globals_s390.hpp
ConditionalMoveLimitOpenJDK6intxsparc4define_pd_global
cpu/sparc/c2_globals_sparc.hpp
ConditionalMoveLimitOpenJDK6intxx863define_pd_global
cpu/x86/c2_globals_x86.hpp
ContendedPaddingWidthOpenJDK8intxruntime128
range(0, 8192)
product
How many bytes to pad the fields/classes marked @Contended with
share/runtime/globals.hpp
ConvertCmpD2CmpFOpenJDK6boolc2truedevelop
Convert cmpD to cmpF when one input is constant in float range
share/opto/c2_globals.hpp
ConvertFloat2IntClippingOpenJDK6boolc2truedevelop
Convert float2int clipping idiom to integer clipping
share/opto/c2_globals.hpp
CountBytecodesOpenJDK6boolruntimefalsedevelop
Count number of bytecodes executed
share/runtime/globals.hpp
CountCompiledCallsOpenJDK6boolruntimefalsedevelop
Count method invocations
share/runtime/globals.hpp
CountJNICallsOpenJDK6boolruntimefalsedevelop
Count jni method invocations
share/runtime/globals.hpp
CountJVMCallsOpenJDK6boolruntimefalsenotproduct
Count jvm method invocations
share/runtime/globals.hpp
CountLinearScanOpenJDK6boolc1falsedevelop
collect statistic counters during LinearScan
share/c1/c1_globals.hpp
CountRemovableExceptionsOpenJDK6boolruntimefalsenotproduct
Count exceptions that could be replaced by branches due to 
inlining
share/runtime/globals.hpp
CountRuntimeCallsOpenJDK6boolruntimefalsenotproduct
Count VM runtime calls
share/runtime/globals.hpp
CounterDecayMinIntervalLengthOpenJDK6intxruntime500develop
The minimum interval (in milliseconds) between invocation of 
CounterDecay
share/runtime/globals.hpp
CounterHalfLifeTimeOpenJDK6intxruntime30develop
Half-life time of invocation counters (in seconds)
share/runtime/globals.hpp
CrashGCForDumpingJavaThreadOpenJDK6boolruntimefalsenotproduct
Manually make GC thread crash then dump java stack trace; 
Test only
share/runtime/globals.hpp
CrashOnOutOfMemoryErrorOpenJDK8boolruntimefalseproduct
JVM aborts, producing an error log and core/mini dump, on the 
first occurrence of an out-of-memory error
share/runtime/globals.hpp
CreateCoredumpOnCrashOpenJDK9boolruntimetrueproduct
Create core/mini dump on VM fatal error
share/runtime/globals.hpp
CriticalJNINativesOpenJDK6Deprecated in JDK16
Obsoleted in JDK18
Expired in JDK19
boolruntimetrueproduct
Check for critical JNI entry points
share/runtime/globals.hpp
DSCR_DPFD_PPC64OpenJDK9uint64_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
cpu/ppc/globals_ppc.hpp
DSCR_PPC64OpenJDK9uint64_tppc(uintx)-1product
Power8 or later: Specify encoded value for Data Stream Control 
Register
cpu/ppc/globals_ppc.hpp
DSCR_URG_PPC64OpenJDK9uint64_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
cpu/ppc/globals_ppc.hpp
DTraceAllocProbesOpenJDK6boolruntimefalseproduct
Enable dtrace probes for object allocation
share/runtime/globals.hpp
DTraceMethodProbesOpenJDK6boolruntimefalseproduct
Enable dtrace probes for method-entry and method-exit
share/runtime/globals.hpp
DTraceMonitorProbesOpenJDK6boolruntimefalseproduct
Enable dtrace probes for monitor events
share/runtime/globals.hpp
DebugDeoptimizationOpenJDK6boolruntimefalsedevelop
Tracing various information while debugging deoptimization
share/runtime/globals.hpp
DebugInlinedCallsOpenJDK6boolc2truediagnostic
If false, restricts profiled locations to the root method only
share/opto/c2_globals.hpp
DebugNonSafepointsOpenJDK6boolruntimetrueInDebugdiagnostic
Generate extra debugging information for non-safepoints in 
nmethods
share/runtime/globals.hpp
DebugVtablesOpenJDK6boolruntimefalsedevelop
add debugging code to vtable dispatch
share/runtime/globals.hpp
DebuggingOpenJDK6Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Set when executing debug methods in debug.cpp 
(to prevent triggering assertions)
share/runtime/globals.hpp
DeferInitialCardMarkOpenJDK6boolgcfalsediagnostic
When +ReduceInitialCardMarks, explicitly defer any that 
may arise from new_pre_store_barrier
share/gc/shared/gc_globals.hpp
DelayCompilationDuringStartupOpenJDK6boolruntimetruedevelop
Delay invoking the compiler until main application class is 
loaded
share/runtime/globals.hpp
DeoptC1OpenJDK6boolc1truedevelop
Use deoptimization in C1
share/c1/c1_globals.hpp
DeoptimizeALotIntervalOpenJDK6intxruntime5notproduct
Number of exits until DeoptimizeALot kicks in
share/runtime/globals.hpp
DeoptimizeALotOpenJDK6boolruntimefalsedevelop
Deoptimize at every exit from the runtime system
share/runtime/globals.hpp
DeoptimizeOnlyAtOpenJDK6ccstrlistruntime
notproduct
A comma separated list of bcis to deoptimize at
share/runtime/globals.hpp
DeoptimizeRandomOpenJDK6boolruntimefalseproduct
Deoptimize random frames on random exit from the runtime system
share/runtime/globals.hpp
DesiredMethodLimitOpenJDK6intxruntime8000develop
The desired maximum method size (in bytecodes) after inlining
share/runtime/globals.hpp
DisableAttachMechanismOpenJDK6boolruntimefalseproduct
Disable mechanism that allows tools to attach to this VM
share/runtime/globals.hpp
DisableBCCheckOpenJDK9boolaarch64trueproduct
tell sim not to invoke bccheck callback
cpu/aarch64/globals_aarch64.hpp
DisableExplicitGCOpenJDK6boolgcfalseproduct
Ignore calls to System.gc()
share/gc/shared/gc_globals.hpp
DisableIntrinsicOpenJDK6ccstrlistruntime
diagnostic
do not expand intrinsics whose (internal) names appear here
share/runtime/globals.hpp
DisablePrimordialThreadGuardPagesOpenJDK8boolruntimefalseexperimental
Disable the use of stack guard pages if the JVM is loaded 
on the primordial process thread
share/runtime/globals.hpp
DisableStartThreadOpenJDK6boolruntimefalsedevelop
Disable starting of additional Java threads 
(for debugging only)
share/runtime/globals.hpp
DisplayVMOutputToStderrOpenJDK6boolruntimefalseproduct
If DisplayVMOutput is true, display all VM output to stderr
share/runtime/globals.hpp
DisplayVMOutputToStdoutOpenJDK6boolruntimefalseproduct
If DisplayVMOutput is true, display all VM output to stdout
share/runtime/globals.hpp
DisplayVMOutputOpenJDK6boolruntimetruediagnostic
Display all VM output on the tty, independently of LogVMOutput
share/runtime/globals.hpp
DoCEEOpenJDK6boolc1truedevelop
Do Conditional Expression Elimination to simplify CFG
share/c1/c1_globals.hpp
DoEscapeAnalysisOpenJDK6boolc2trueproduct
Perform escape analysis
share/opto/c2_globals.hpp
DoReserveCopyInSuperWordOpenJDK9Obsoleted in JDK22
Expired in JDK23
boolc2trueproduct
Create reserve copy of graph in SuperWord.
share/opto/c2_globals.hpp
DominatorSearchLimitOpenJDK6intxc21000
range(0, max_jint)
diagnostic
Iterations limit in Node::dominates
share/opto/c2_globals.hpp
DontCompileHugeMethodsOpenJDK6boolruntimetrueproduct
Do not compile methods > HugeMethodLimit
share/runtime/globals.hpp
DontYieldALotIntervalOpenJDK6intxruntime10develop
Interval between which yields will be dropped (milliseconds)
share/runtime/globals.hpp
DontYieldALotOpenJDK6boolaixppcfalsedefine_pd_global
os_cpu/aix_ppc/globals_aix_ppc.hpp
DontYieldALotOpenJDK6boolbsdx86falsedefine_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
DontYieldALotOpenJDK6boolbsdzerofalsedefine_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
DontYieldALotOpenJDK6boollinuxaarch64falsedefine_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
DontYieldALotOpenJDK6boollinuxarmfalsedefine_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
DontYieldALotOpenJDK6boollinuxppcfalsedefine_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
DontYieldALotOpenJDK6boollinuxs390falsedefine_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
DontYieldALotOpenJDK6boollinuxx86falsedefine_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
DontYieldALotOpenJDK6boollinuxzerofalsedefine_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
DontYieldALotOpenJDK6boolruntimeproduct_pd
Throw away obvious excess yield calls
share/runtime/globals.hpp
DontYieldALotOpenJDK6boolsparctruedefine_pd_global
// yield no more than 100 times per second
cpu/sparc/globals_sparc.hpp
DontYieldALotOpenJDK6boolsolarisx86truedefine_pd_global
// Determined in the design center
os_cpu/solaris_x86/globals_solaris_x86.hpp
DontYieldALotOpenJDK6boolwindowsx86falsedefine_pd_global
os_cpu/windows_x86/globals_windows_x86.hpp
DumpLoadedClassListOpenJDK8ccstrruntimeNULLproduct
Dump the names all loaded classes, that could be stored into 
the CDS archive, in the specified file
share/runtime/globals.hpp
DumpPrivateMappingsInCoreOpenJDK11boollinuxtruediagnostic
If true, sets bit 2 of /proc/PID/coredump_filter, thus 
resulting in file-backed private mappings of the process to 
be dumped into the corefile, if UseSharedSpaces is true.
os/linux/globals_linux.hpp
DumpReplayDataOnErrorOpenJDK8boolruntimetrueproduct
Record replay data for crashing compiler threads
share/runtime/globals.hpp
DumpSharedSpacesOpenJDK6Deprecated in JDK18
Obsoleted in JDK19
boolruntimefalseproduct
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
share/runtime/globals.hpp
DynamicallyResizeSystemDictionariesOpenJDK10boolruntimetruediagnostic
Dynamically resize system dictionaries as needed
share/runtime/globals.hpp
EagerInitializationOpenJDK6boolruntimefalsedevelop
Eagerly initialize classes if possible
share/runtime/globals.hpp
EagerJVMCIOpenJDK11booljvmcifalseexperimental
Force eager JVMCI initialization
share/jvmci/jvmci_globals.hpp
EagerXrunInitOpenJDK6boolruntimefalseproduct
Eagerly initialize -Xrun libraries; allows startup profiling, 
but not all -Xrun libraries may support the state of the VM 
at this time
share/runtime/globals.hpp
EliminateAllocationArraySizeLimitOpenJDK6intxc264
range(0, max_jint)
product
Array size (number of elements) limit for scalar replacement
share/opto/c2_globals.hpp
EliminateAllocationsOpenJDK6boolc2trueproduct
Use escape analysis to eliminate allocations
share/opto/c2_globals.hpp
EliminateAutoBoxOpenJDK6boolc2trueproduct
Control optimizations for autobox elimination
share/opto/c2_globals.hpp
EliminateBlocksOpenJDK6boolc1truedevelop
Eliminate unneccessary basic blocks
share/c1/c1_globals.hpp
EliminateFieldAccessOpenJDK6boolc1truedevelop
Optimize field loads and stores
share/c1/c1_globals.hpp
EliminateLocksOpenJDK6boolc2trueproduct
Coarsen locks when possible
share/opto/c2_globals.hpp
EliminateNestedLocksOpenJDK6boolc2trueproduct
Eliminate nested locks of the same object when possible
share/opto/c2_globals.hpp
EliminateNullChecksOpenJDK6boolc1truedevelop
Eliminate unneccessary null checks
share/c1/c1_globals.hpp
EnableContendedOpenJDK8boolruntimetrueproduct
Enable @Contended annotation support
share/runtime/globals.hpp
EnableDynamicAgentLoadingOpenJDK9boolruntimetrueproduct
Allow tools to load agents with the attach mechanism
share/runtime/globals.hpp
EnableJVMCIOpenJDK9booljvmcifalseexperimental
Enable JVMCI
share/jvmci/jvmci_globals.hpp
EnableThreadSMRExtraValidityChecksOpenJDK10boolruntimetruediagnostic
Enable Thread SMR extra validity checks
share/runtime/globals.hpp
EnableThreadSMRStatisticsOpenJDK10boolruntimetrueInDebugdiagnostic
Enable Thread SMR Statistics
share/runtime/globals.hpp
EpsilonElasticTLABDecayOpenJDK11boolgctrueexperimental
Use timed decays to shrik TLAB sizes. This conserves memory 
for the threads that allocate in bursts of different sizes, 
for example the small/rare allocations coming after the initial 
large burst.
share/gc/epsilon/epsilon_globals.hpp
EpsilonElasticTLABOpenJDK11boolgctrueexperimental
Use elastic policy to manage TLAB sizes. This conserves memory 
for non-actively allocating threads, even when they request 
large TLABs for themselves. Active threads would experience 
smaller TLABs until policy catches up.
share/gc/epsilon/epsilon_globals.hpp
EpsilonMaxTLABSizeOpenJDK11size_tgc4 * M
range(1, max_intx)
experimental
Max TLAB size to use with Epsilon GC. Larger value improves 
performance at the expense of per-thread memory waste. This 
asks TLAB machinery to cap TLAB sizes at this value.
share/gc/epsilon/epsilon_globals.hpp
EpsilonMinHeapExpandOpenJDK11size_tgc128 * M
range(1, max_intx)
experimental
Min expansion step for heap. Larger value improves performance 
at the potential expense of memory waste.
share/gc/epsilon/epsilon_globals.hpp
EpsilonPrintHeapStepsOpenJDK11size_tgc20
range(0, max_intx)
experimental
Print heap occupancy stats with this number of steps. 

0 turns the printing off.
share/gc/epsilon/epsilon_globals.hpp
EpsilonTLABDecayTimeOpenJDK11size_tgc1000
range(1, max_intx)
experimental
TLAB sizing policy decays to initial size after thread had not 
allocated for this long. Time is in milliseconds. Lower value 
improves memory footprint, but penalizes actively allocating 
threads.
share/gc/epsilon/epsilon_globals.hpp
EpsilonTLABElasticityOpenJDK11doublegc1.1
range(1.0, DBL_MAX)
experimental
Multiplier to use when deciding on next TLAB size. Larger value 
improves performance at the expense of per-thread memory waste. 
Lower value improves memory footprint, but penalizes actively 
allocating threads.
share/gc/epsilon/epsilon_globals.hpp
EpsilonUpdateCountersStepOpenJDK11size_tgc1 * M
range(1, max_intx)
experimental
Update heap occupancy counters after allocating this much 
memory. Higher values would make allocations faster at 
the expense of lower resolution in heap counters.
share/gc/epsilon/epsilon_globals.hpp
ErgoHeapSizeLimitOpenJDK6size_tgc0
range(0, max_uintx)
product
Maximum ergonomically set heap size (in bytes); zero means use 
MaxRAM * MaxRAMPercentage / 100
share/gc/shared/gc_globals.hpp
ErrorFileOpenJDK6ccstrruntimeNULLproduct
If an error occurs, save the error data to this file 
[default: ./hs_err_pid%p.log] (%p replaced with pid)
share/runtime/globals.hpp
ErrorHandlerTestOpenJDK6uintxruntime0notproduct
If > 0, provokes an error after VM initialization; the value 
determines which error to provoke. See test_error_handler() 
in vmError.cpp.
share/runtime/globals.hpp
ErrorLogTimeoutOpenJDK9uint64_truntime2 * 60
range(0, (uint64_t)max_jlong/1000)
product
Timeout, in seconds, to limit the time spent on writing an 
error log in case of a crash.
share/runtime/globals.hpp
EscapeAnalysisTimeoutOpenJDK7doublec220. DEBUG_ONLY(+40.)
range(0, DBL_MAX)
product
Abort EA when it reaches time limit (in sec)
share/opto/c2_globals.hpp
EstimateArgEscapeOpenJDK6boolruntimetrueproduct
Analyze bytecodes to estimate escape state of arguments
share/runtime/globals.hpp
ExecutingUnitTestsOpenJDK9boolgcfalseproduct
Whether the JVM is running unit tests or not
share/gc/shared/gc_globals.hpp
ExitEscapeAnalysisOnTimeoutOpenJDK7boolc2truedevelop
Exit or throw assert in EA when it reaches time limit
share/opto/c2_globals.hpp
ExitOnFullCodeCacheOpenJDK6boolruntimefalsenotproduct
Exit the VM if we fill the code cache
share/runtime/globals.hpp
ExitOnOutOfMemoryErrorOpenJDK8boolruntimefalseproduct
JVM exits on the first occurrence of an out-of-memory error
share/runtime/globals.hpp
ExitVMOnVerifyErrorOpenJDK6boolruntimefalsenotproduct
standard exit from VM if bytecode verify error 
(only in debug mode)
share/runtime/globals.hpp
ExpandLoadingBaseDecode_NNOpenJDK9bools390trueproduct
Expand the assembler 
instruction required to load the base from DecodeN_NN nodes 
during matching.
cpu/s390/globals_s390.hpp
ExpandLoadingBaseDecodeOpenJDK9bools390trueproduct
Expand the assembler 
instruction required to load the base from DecodeN nodes during 
matching.
cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncode_NNOpenJDK9bools390trueproduct
Expand the assembler 
instruction required to load the base from EncodeP_NN nodes 
during matching.
cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncodeOpenJDK9bools390trueproduct
Expand the assembler 
instruction required to load the base from EncodeP nodes during 
matching.
cpu/s390/globals_s390.hpp
ExplicitGCInvokesConcurrentOpenJDK6boolgcfalseproduct
A System.gc() request invokes a concurrent collection; 
(effective only when using concurrent collectors)
share/gc/shared/gc_globals.hpp
ExtendedDTraceProbesOpenJDK6Deprecated in JDK19
Obsoleted in JDK20
Expired in JDK21
boolruntimefalseproduct
Enable performance-impacting dtrace probes
share/runtime/globals.hpp
ExtensiveErrorReportsOpenJDK11boolruntimePRODUCT_ONLY(false) NOT_PRODUCT(true)product
Error reports are more extensive.
share/runtime/globals.hpp
ExtraSharedClassListFileOpenJDK8ccstrruntimeNULLproduct
Extra classlist for building the CDS archive file
share/runtime/globals.hpp
FLOATPRESSUREOpenJDK6intxaarch6464define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
FLOATPRESSUREOpenJDK6intxarm30define_pd_global
cpu/arm/c2_globals_arm.hpp
FLOATPRESSUREOpenJDK6intxc2develop_pd
Number of float LRG's that constitute high register pressure
share/opto/c2_globals.hpp
FLOATPRESSUREOpenJDK6intxppc28define_pd_global
cpu/ppc/c2_globals_ppc.hpp
FLOATPRESSUREOpenJDK6intxs39015define_pd_global
cpu/s390/c2_globals_s390.hpp
FLOATPRESSUREOpenJDK6intxsparc52define_pd_global
// C2 on V9 gets to use all the float/double registers
cpu/sparc/c2_globals_sparc.hpp
FLOATPRESSUREOpenJDK6intxx866define_pd_global
cpu/x86/c2_globals_x86.hpp
FLSAlwaysCoalesceLargeOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
CMS: larger free blocks are always available for coalescing
share/gc/cms/cms_globals.hpp
FLSCoalescePolicyOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc2
range(0, 4)
product
CMS: aggressiveness level for coalescing, increasing 
from 0 to 4
share/gc/cms/cms_globals.hpp
FLSLargestBlockCoalesceProximityOpenJDK6Obsoleted in JDK14
Expired in JDK15
doublegc0.99
range(0.0, 1.0)
product
CMS: the smaller the percentage the greater the coalescing 
force
share/gc/cms/cms_globals.hpp
FLSVerifyAllHeapReferencesOpenJDK6boolgcfalsediagnostic
Verify that all references across the FLS boundary 
are to valid objects
share/gc/cms/cms_globals.hpp
FLSVerifyDictionaryOpenJDK6boolruntimefalsedevelop
Do lots of (expensive) FLS dictionary verification
share/runtime/globals.hpp
FLSVerifyIndexTableOpenJDK6boolgcfalsediagnostic
Do lots of (expensive) FLS index table verification
share/gc/cms/cms_globals.hpp
FLSVerifyListsOpenJDK6boolgcfalsediagnostic
Do lots of (expensive) FreeListSpace verification
share/gc/cms/cms_globals.hpp
FailOverToOldVerifierOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolruntimetrueproduct
Fail over to old verifier when split verifier fails
share/runtime/globals.hpp
FastAllocateSizeLimitOpenJDK6intxruntime128*Kdevelop
/* Note: This value is zero mod 1<<13 for a cheap sparc set. */Inline allocations larger than this in doublewords must go slow
share/runtime/globals.hpp
FastSuperclassLimitOpenJDK6intxruntime8develop
Depth of hardwired instanceof accelerator array
share/runtime/globals.hpp
FieldsAllocationStyleOpenJDK6Deprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
intxruntime1
range(0, 2)
product
0 - type based with oops first, 

1 - with oops last, 

2 - oops in super and sub classes are together
share/runtime/globals.hpp
FillDelaySlotsOpenJDK6boolruntimetruedevelop
Fill delay slots (on SPARC only)
share/runtime/globals.hpp
FilterSpuriousWakeupsOpenJDK6Deprecated in JDK18
Obsoleted in JDK19
Expired in JDK20
boolruntimetrueproduct
When true prevents OS-level spurious, or premature, wakeups 
from Object.wait (Ignored for Windows)
share/runtime/globals.hpp
FlightRecorderOptionsOpenJDK11ccstrruntimeNULLproduct
Flight Recorder options
share/runtime/globals.hpp
FlightRecorderOpenJDK11Deprecated in JDK13boolruntimefalseproduct
Enable Flight Recorder
share/runtime/globals.hpp
FoldStableValuesOpenJDK8boolruntimetruediagnostic
Optimize loads from stable fields (marked w/ @Stable)
share/runtime/globals.hpp
ForceDynamicNumberOfGCThreadsOpenJDK6boolgcfalsediagnostic
Force dynamic selection of the number of 
parallel threads parallel gc will use to aid debugging
share/gc/shared/gc_globals.hpp
ForceFloatExceptionsOpenJDK6boolruntimetrueInDebugdevelop
Force exceptions on FP stack under/overflow
share/runtime/globals.hpp
ForceNUMAOpenJDK6Deprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Force NUMA optimizations on single-node/UMA systems
share/runtime/globals.hpp
ForceTimeHighResolutionOpenJDK6boolruntimefalseproduct
Using high time resolution (for Win32 only)
share/runtime/globals.hpp
ForceUnreachableOpenJDK6boolruntimefalsediagnostic
Make all non code cache addresses to be unreachable by 
forcing use of 64bit literal fixups
share/runtime/globals.hpp
FreqCountInvocationsOpenJDK6intxc21
range(1, max_intx)
develop
Scaling factor for branch frequencies (deprecated)
share/opto/c2_globals.hpp
FreqInlineSizeOpenJDK6intxaarch64325define_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
FreqInlineSizeOpenJDK6intxarm175define_pd_global
cpu/arm/c2_globals_arm.hpp
FreqInlineSizeOpenJDK6intxruntimeproduct_pd
The maximum bytecode size of a frequent method to be inlined
share/runtime/globals.hpp
FreqInlineSizeOpenJDK6intxppc325define_pd_global
cpu/ppc/c1_globals_ppc.hpp
FreqInlineSizeOpenJDK6intxs390175define_pd_global
cpu/s390/c2_globals_s390.hpp
FreqInlineSizeOpenJDK6intxsparc325define_pd_global
cpu/sparc/c1_globals_sparc.hpp
FreqInlineSizeOpenJDK6intxx86325define_pd_global
cpu/x86/c1_globals_x86.hpp
FullGCALotDummiesOpenJDK6intxgc32*Knotproduct
Dummy object allocated with +FullGCALot, forcing all objects 
to move
share/gc/shared/gc_globals.hpp
FullGCALotIntervalOpenJDK6intxgc1notproduct
Interval between which full gc will occur with +FullGCALot
share/gc/shared/gc_globals.hpp
FullGCALotStartOpenJDK6intxgc0notproduct
For which invocation to start FullGCAlot
share/gc/shared/gc_globals.hpp
FullGCALotOpenJDK6boolgcfalsedevelop
Force full gc at every Nth exit from the runtime system 
(N=FullGCALotInterval)
share/gc/shared/gc_globals.hpp
G1AdaptiveIHOPNumInitialSamplesOpenJDK9size_tgc3
range(1, max_intx)
experimental
How many completed time periods from initial mark to first 
mixed gc are required to use the input values for prediction 
of the optimal occupancy to start marking.
share/gc/g1/g1_globals.hpp
G1ConcMarkStepDurationMillisOpenJDK6doublegc10.0
range(1.0, DBL_MAX)
product
Target duration of individual concurrent marking steps 
in milliseconds.
share/gc/g1/g1_globals.hpp
G1ConcRSHotCardLimitOpenJDK6Obsoleted in JDK21
Expired in JDK24
uintxgc4
range(0, max_jubyte)
product
The threshold that defines (>=) a hot card.
share/gc/g1/g1_globals.hpp
G1ConcRSLogCacheSizeOpenJDK6Obsoleted in JDK21
Expired in JDK24
size_tgc10
range(0, 27)
product
Log base 2 of the length of conc RS hot-card cache.
share/gc/g1/g1_globals.hpp
G1ConcRefinementGreenZoneOpenJDK6Obsoleted in JDK20
Expired in JDK24
size_tgc0
range(0, max_intx)
product
The number of update buffers that are left in the queue by the 
concurrent processing threads. Will be selected ergonomically 
by default.
share/gc/g1/g1_globals.hpp
G1ConcRefinementRedZoneOpenJDK6Obsoleted in JDK20
Expired in JDK24
size_tgc0
range(0, max_intx)
product
Maximum number of enqueued update buffers before mutator 
threads start processing new ones instead of enqueueing them. 
Will be selected ergonomically by default.
share/gc/g1/g1_globals.hpp
G1ConcRefinementServiceIntervalMillisOpenJDK6Obsoleted in JDK20
Expired in JDK24
uintxgc300
range(0, max_jint)
product
The last concurrent refinement thread wakes up every 
specified number of milliseconds to do miscellaneous work.
share/gc/g1/g1_globals.hpp
G1ConcRefinementThreadsOpenJDK6uintgc0
range(0, (max_jint-1)/wordSize)
product
The number of parallel rem set update threads. 
Will be set ergonomically by default.
share/gc/g1/g1_globals.hpp
G1ConcRefinementThresholdStepOpenJDK6Obsoleted in JDK20
Expired in JDK24
size_tgc2
range(1, SIZE_MAX)
product
Each time the rset update queue increases by this amount 
activate the next refinement thread if available. 
The actual step size will be selected ergonomically by 
default, with this value used to determine a lower bound.
share/gc/g1/g1_globals.hpp
G1ConcRefinementYellowZoneOpenJDK6Obsoleted in JDK20
Expired in JDK24
size_tgc0
range(0, max_intx)
product
Number of enqueued update buffers that will 
trigger concurrent processing. Will be selected ergonomically 
by default.
share/gc/g1/g1_globals.hpp
G1ConfidencePercentOpenJDK6uintxgc50
range(0, 100)
product
Confidence level for MMU/pause predictions
share/gc/g1/g1_globals.hpp
G1DummyRegionsPerGCOpenJDK6uintxgc0develop
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.
share/gc/g1/g1_globals.hpp
G1EagerReclaimHumongousObjectsWithStaleRefsOpenJDK8boolgctrueexperimental
Try to reclaim dead large objects that have a few stale 
references at every young GC.
share/gc/g1/g1_globals.hpp
G1EagerReclaimHumongousObjectsOpenJDK8boolgctrueexperimental
Try to reclaim dead large objects at every young GC.
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotCountOpenJDK7uintxgc1000develop
Number of successful evacuations between evacuation failures 
occurring at object copying
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringConcMarkOpenJDK7boolgctruedevelop
Force use of evacuation failure handling during evacuation 
pauses when marking is in progress
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringInitialMarkOpenJDK7boolgctruedevelop
Force use of evacuation failure handling during initial mark 
evacuation pauses
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringMixedGCOpenJDK7boolgctruedevelop
Force use of evacuation failure handling during mixed 
evacuation pauses
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringYoungGCOpenJDK7boolgctruedevelop
Force use of evacuation failure handling during young 
evacuation pauses
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotIntervalOpenJDK7uintxgc5develop
Total collections between forced triggering of evacuation 
failures
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotOpenJDK7boolgcfalsenotproduct
Force use of evacuation failure handling during certain 
evacuation pauses
share/gc/g1/g1_globals.hpp
G1ExitOnExpansionFailureOpenJDK6boolgcfalsedevelop
Raise a fatal VM exit out of memory failure in the event 
 that heap expansion fails due to running out of swap.
share/gc/g1/g1_globals.hpp
G1ExpandByPercentOfAvailableOpenJDK6intxgc20
range(0, 100)
experimental
When expanding, % of uncommitted space to claim.
share/gc/g1/g1_globals.hpp
G1HeapRegionSizeOpenJDK6size_tgc0
range(0, 32*M)
product
Size of the G1 regions.
share/gc/g1/g1_globals.hpp
G1HeapWastePercentOpenJDK7uintxgc5
range(0, 100)
product
Amount of space, expressed as a percentage of the heap size, 
that G1 is willing not to collect to avoid expensive GCs.
share/gc/g1/g1_globals.hpp
G1LastPLABAverageOccupancyOpenJDK9doublegc50.0
range(0.001, 100.0)
experimental
The expected average occupancy of the last PLAB in 
percent.
share/gc/g1/g1_globals.hpp
G1MaxNewSizePercentOpenJDK7uintxgc60
range(0, 100)
experimental
Percentage (0-100) of the heap size to use as default 
 maximum young gen size.
share/gc/g1/g1_globals.hpp
G1MaxVerifyFailuresOpenJDK6intxgc-1
range(-1, max_jint)
develop
The maximum number of verification failures to print. 
-1 means print all.
share/gc/g1/g1_globals.hpp
G1MixedGCCountTargetOpenJDK7uintxgc8
range(0, max_uintx)
product
The target number of mixed GCs after a marking cycle.
share/gc/g1/g1_globals.hpp
G1MixedGCLiveThresholdPercentOpenJDK7uintxgc85
range(0, 100)
experimental
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.
share/gc/g1/g1_globals.hpp
G1NewSizePercentOpenJDK7uintxgc5
range(0, 100)
experimental
Percentage (0-100) of the heap size to use as default 
minimum young gen size.
share/gc/g1/g1_globals.hpp
G1OldCSetRegionThresholdPercentOpenJDK6uintxgc10
range(0, 100)
experimental
An upper bound for the number of old CSet regions expressed 
as a percentage of the heap size.
share/gc/g1/g1_globals.hpp
G1PeriodicGCIntervalOpenJDK12uintxgc0manageable
Number of milliseconds after a previous GC to wait before 
triggering a periodic gc. A value of zero disables periodically 
enforced gc cycles.
share/gc/g1/g1_globals.hpp
G1PeriodicGCInvokesConcurrentOpenJDK12boolgctrueproduct
Determines the kind of periodic GC. Set to true to have G1 
perform a concurrent GC as periodic GC, otherwise use a STW 
Full GC.
share/gc/g1/g1_globals.hpp
G1PeriodicGCSystemLoadThresholdOpenJDK12doublegc0.0
range(0.0, (double)max_uintx)
manageable
Maximum recent system wide load as returned by the 1m value 
of getloadavg() at which G1 triggers a periodic GC. A load 
above this value cancels a given periodic GC. A value of zero 
disables this check.
share/gc/g1/g1_globals.hpp
G1PretouchAuxiliaryMemoryOpenJDK9boolgcfalseexperimental
Pre-touch large auxiliary data structures used by the GC.
share/gc/g1/g1_globals.hpp
G1RSetRegionEntriesBaseOpenJDK6intxgc256
range(1, max_jint/wordSize)
develop
Max number of regions in a fine-grain table per MB.
share/gc/g1/g1_globals.hpp
G1RSetRegionEntriesOpenJDK6Obsoleted in JDK18
Expired in JDK19
intxgc0
range(0, max_jint/wordSize)
product
Max number of regions for which we keep bitmaps.
Will be set ergonomically by default
share/gc/g1/g1_globals.hpp
G1RSetScanBlockSizeOpenJDK6Deprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
size_tgc64
range(1, max_uintx)
product
Size of a work unit of cards claimed by a worker thread
during RSet scanning.
share/gc/g1/g1_globals.hpp
G1RSetSparseRegionEntriesBaseOpenJDK6intxgc4
range(1, max_jint/wordSize)
develop
Max number of entries per region in a sparse table 
per MB.
share/gc/g1/g1_globals.hpp
G1RSetSparseRegionEntriesOpenJDK6Obsoleted in JDK18
Expired in JDK19
intxgc0
range(0, max_jint/wordSize)
product
Max number of entries per region in a sparse table.
Will be set ergonomically by default.
share/gc/g1/g1_globals.hpp
G1RSetUpdatingPauseTimePercentOpenJDK6intxgc10
range(0, 100)
product
A target percentage of time that is allowed to be spend on 
process RS update buffers during the collection pause.
share/gc/g1/g1_globals.hpp
G1RebuildRemSetChunkSizeOpenJDK11size_tgc256 * K
range(4 * K, 32 * M)
experimental
Chunk size used for rebuilding the remembered set.
share/gc/g1/g1_globals.hpp
G1RefProcDrainIntervalOpenJDK6uintgc1000
range(1, INT_MAX)
product
The number of discovered reference objects to process before 
draining concurrent marking work queues.
share/gc/g1/g1_globals.hpp
G1ReservePercentOpenJDK6uintxgc10
range(0, 50)
product
It determines the minimum reserve we should have in the heap 
to minimize the probability of promotion failure.
share/gc/g1/g1_globals.hpp
G1SATBBufferEnqueueingThresholdPercentOpenJDK6uintxgc60
range(0, 100)
product
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.
share/gc/g1/g1_globals.hpp
G1SATBBufferSizeOpenJDK6size_tgc1*K
range(1, max_uintx)
product
Number of entries in an SATB log buffer.
share/gc/g1/g1_globals.hpp
G1SATBProcessCompletedThresholdOpenJDK6intxgc20
range(0, max_jint)
develop
Number of completed buffers that triggers log processing.
share/gc/g1/g1_globals.hpp
G1SummarizeRSetStatsPeriodOpenJDK6intxgc0
range(0, max_intx)
diagnostic
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 that logging is enabled on the trace
level for gc+remset
share/gc/g1/g1_globals.hpp
G1UpdateBufferSizeOpenJDK6size_tgc256
range(1, NOT_LP64(32*M) LP64_ONLY(1*G))
product
Size of an update buffer
share/gc/g1/g1_globals.hpp
G1UseAdaptiveConcRefinementOpenJDK6Obsoleted in JDK20
Expired in JDK24
boolgctrueproduct
Select green, yellow and red zones adaptively to meet the 
the pause requirements.
share/gc/g1/g1_globals.hpp
G1UseAdaptiveIHOPOpenJDK9boolgctrueproduct
Adaptively adjust the initiating heap occupancy from the 
initial value of InitiatingHeapOccupancyPercent. The policy 
attempts to start marking in time based on application 
behavior.
share/gc/g1/g1_globals.hpp
G1UseReferencePrecleaningOpenJDK11boolgctrueexperimental
Concurrently preclean java.lang.ref.references instances 
before the Remark pause.
share/gc/g1/g1_globals.hpp
G1VerifyBitmapsOpenJDK8boolgcfalsedevelop
Verifies the consistency of the marking bitmaps
share/gc/g1/g1_globals.hpp
G1VerifyCTCleanupOpenJDK6boolgcfalsedevelop
Verify card table cleanup.
share/gc/g1/g1_globals.hpp
G1VerifyHeapRegionCodeRootsOpenJDK7boolgcfalsediagnostic
Verify the code root lists attached to each heap region.
share/gc/g1/g1_globals.hpp
G1VerifyRSetsDuringFullGCOpenJDK7boolgcfalsediagnostic
If true, perform verification of each heap region's 
remembered set when verifying the heap during a full GC.
share/gc/g1/g1_globals.hpp
G1YoungExpansionBufferPercentOpenJDK12uintxgc10
range(0, 100)
experimental
When heterogenous heap is enabled by AllocateOldGenAt 
option, after every GC, young gen is re-sized which 
involves system calls to commit/uncommit memory. To 
reduce these calls, we keep a buffer of extra regions to 
absorb small changes in young gen length. This flag takes 
the buffer size as an percentage of young gen length
share/gc/g1/g1_globals.hpp
GCALotAtAllSafepointsOpenJDK6boolgcfalsenotproduct
Enforce ScavengeALot/GCALot at all potential safepoints
share/gc/shared/gc_globals.hpp
GCDrainStackTargetSizeOpenJDK6uintxgc64
range(0, max_juint)
product
Number of entries we will try to leave on the stack 
during parallel gc
share/gc/shared/gc_globals.hpp
GCExpandToAllocateDelayMillisOpenJDK6uintxgc0develop
Delay between expansion and allocation (in milliseconds)
share/gc/shared/gc_globals.hpp
GCHeapFreeLimitOpenJDK6uintxgc2
range(0, 100)
product
Minimum percentage of free space after a full GC before an 
OutOfMemoryError is thrown (used with GCTimeLimit)
share/gc/shared/gc_globals.hpp
GCLockerEdenExpansionPercentOpenJDK6Obsoleted in JDK23
Expired in JDK24
uintxgc5
range(0, 100)
product
How much the GC can expand the eden by while the GC locker 
is active (as a percentage)
share/gc/shared/gc_globals.hpp
GCLockerInvokesConcurrentOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
The exit of a JNI critical section necessitating a scavenge, 
also kicks off a background concurrent collection
share/gc/shared/gc_globals.hpp
GCLockerRetryAllocationCountOpenJDK8uintxgc2
range(0, max_uintx)
diagnostic
Number of times to retry allocations when 
blocked by the GC locker
share/gc/shared/gc_globals.hpp
GCParallelVerificationEnabledOpenJDK6boolgctruediagnostic
Enable parallel memory system verification
share/gc/shared/gc_globals.hpp
GCPauseIntervalMillisOpenJDK6uintxgc0product
Time slice for MMU specification
share/gc/shared/gc_globals.hpp
GCTaskTimeStampEntriesOpenJDK6Obsoleted in JDK14
Expired in JDK16
uintgc200
range(1, max_jint)
product
Number of time stamp entries per gc worker thread
share/gc/shared/gc_globals.hpp
GCTimeLimitOpenJDK6uintxgc98
range(0, 100)
product
Limit of the proportion of time spent in GC before 
an OutOfMemoryError is thrown (used with GCHeapFreeLimit)
share/gc/shared/gc_globals.hpp
GCTimeRatioOpenJDK6uintxgc99
range(0, max_juint)
product
Adaptive size policy application time to GC time ratio
share/gc/shared/gc_globals.hpp
GCWorkerDelayMillisOpenJDK8uintxgc0develop
Delay in scheduling GC workers (in milliseconds)
share/gc/parallel/parallel_globals.hpp
GenerateArrayStoreCheckOpenJDK6boolc1truedevelop
Generates code for array store checks
share/c1/c1_globals.hpp
GenerateRangeChecksOpenJDK6boolruntimetruedevelop
Generate range checks for array accesses
share/runtime/globals.hpp
GenerateSynchronizationCodeOpenJDK6boolruntimetruedevelop
generate locking/unlocking code for synchronized methods and 
monitors
share/runtime/globals.hpp
GuaranteedSafepointIntervalOpenJDK6intxruntime1000
range(0, max_jint)
diagnostic
Guarantee a safepoint (at least) every so many milliseconds 
(0 means none)
share/runtime/globals.hpp
HandshakeTimeoutOpenJDK10uintruntime0diagnostic
If nonzero set a timeout in milliseconds for handshakes
share/runtime/globals.hpp
HeapBaseMinAddressOpenJDK6size_taixppc2*Gdefine_pd_global
os_cpu/aix_ppc/globals_aix_ppc.hpp
HeapBaseMinAddressOpenJDK6size_tbsdx862*Gdefine_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
HeapBaseMinAddressOpenJDK6size_tbsdzero2*Gdefine_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
HeapBaseMinAddressOpenJDK6uintxlinuxaarch642*Gdefine_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
HeapBaseMinAddressOpenJDK6size_tlinuxarm2*Gdefine_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
HeapBaseMinAddressOpenJDK6size_tlinuxppc2*Gdefine_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
HeapBaseMinAddressOpenJDK6size_tlinuxs3902*Gdefine_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
HeapBaseMinAddressOpenJDK6size_tlinuxsparcCONST64(4)*Gdefine_pd_global
os_cpu/linux_sparc/globals_linux_sparc.hpp
HeapBaseMinAddressOpenJDK6size_tlinuxx862*Gdefine_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
HeapBaseMinAddressOpenJDK6size_tlinuxzero2*Gdefine_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
HeapBaseMinAddressOpenJDK6size_tgcproduct_pd
OS specific low limit for heap base address
share/gc/shared/gc_globals.hpp
HeapBaseMinAddressOpenJDK6size_tsolarissparcCONST64(6)*Gdefine_pd_global
os_cpu/solaris_sparc/globals_solaris_sparc.hpp
HeapBaseMinAddressOpenJDK6size_tsolarisx862*Gdefine_pd_global
os_cpu/solaris_x86/globals_solaris_x86.hpp
HeapBaseMinAddressOpenJDK6size_twindowsx862*Gdefine_pd_global
os_cpu/windows_x86/globals_windows_x86.hpp
HeapDumpAfterFullGCOpenJDK6boolruntimefalsemanageable
Dump heap to file after any major stop-the-world GC
share/runtime/globals.hpp
HeapDumpBeforeFullGCOpenJDK6boolruntimefalsemanageable
Dump heap to file before any major stop-the-world GC
share/runtime/globals.hpp
HeapDumpOnOutOfMemoryErrorOpenJDK6boolruntimefalsemanageable
Dump heap to file when java.lang.OutOfMemoryError is thrown
share/runtime/globals.hpp
HeapDumpPathOpenJDK6ccstrruntimeNULLmanageable
When HeapDumpOnOutOfMemoryError is on, the path (filename or 
directory) of the dump file (defaults to java_pid.hprof 
in the working directory)
share/runtime/globals.hpp
HeapFirstMaximumCompactionCountOpenJDK6uintxgc3
range(0, max_uintx)
product
The collection count for the first maximum compaction
share/gc/parallel/parallel_globals.hpp
HeapMaximumCompactionIntervalOpenJDK6uintxgc20
range(0, max_uintx)
product
How often should we maximally compact the heap (not allowing 
any dead space)
share/gc/parallel/parallel_globals.hpp
HeapSearchStepsOpenJDK9uintxruntime3 PPC64_ONLY(+17)
range(1, max_uintx)
product
Heap allocation steps through preferred address regions to find
 where it can allocate the heap. Number of steps to take per 
region.
share/runtime/globals.hpp
HeapSizePerGCThreadOpenJDK6size_tgcScaleForWordSize(32*M)
range((size_t)os::vm_page_size(), (size_t)max_uintx)
product
Size of heap (bytes) per GC thread used in calculating the 
number of GC threads
share/gc/shared/gc_globals.hpp
HotCallCountThresholdOpenJDK6intxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
develop
large numbers of calls (per method invocation) force hotness
share/opto/c2_globals.hpp
HotCallProfitThresholdOpenJDK6intxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
develop
highly profitable inlining opportunities force hotness
share/opto/c2_globals.hpp
HotCallTrivialSizeOpenJDK6intxc2-1
range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
develop
trivial methods (no larger than this) force calls to be hot
share/opto/c2_globals.hpp
HotCallTrivialWorkOpenJDK6intxc2-1
range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
develop
trivial execution time (no larger than this) forces hotness
share/opto/c2_globals.hpp
HotMethodDetectionLimitOpenJDK9intxruntime100000
range(1, max_jint)
diagnostic
Number of compiled code invocations after which 
the method is considered as hot by the flusher
share/runtime/globals.hpp
HugeMethodLimitOpenJDK6intxruntime8000develop
Don't compile methods larger than this if 
+DontCompileHugeMethods
share/runtime/globals.hpp
ICMissHistogramOpenJDK6boolruntimefalsenotproduct
Produce histogram of IC misses
share/runtime/globals.hpp
IEEEPrecisionOpenJDK6boolx86truedevelop
Enables IEEE precision (for INTEL only)
cpu/x86/globals_x86.hpp
INTPRESSUREOpenJDK6intxaarch6424define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
INTPRESSUREOpenJDK6intxarm12define_pd_global
cpu/arm/c2_globals_arm.hpp
INTPRESSUREOpenJDK6intxc2develop_pd
Number of integer LRG's that constitute high register pressure
share/opto/c2_globals.hpp
INTPRESSUREOpenJDK6intxppc26define_pd_global
cpu/ppc/c2_globals_ppc.hpp
INTPRESSUREOpenJDK6intxs39010define_pd_global
// Medium size register set, 6 special purpose regs, 3 SOE regs.
cpu/s390/c2_globals_s390.hpp
INTPRESSUREOpenJDK6intxsparc48define_pd_global
// large register set
cpu/sparc/c2_globals_sparc.hpp
INTPRESSUREOpenJDK6intxx866define_pd_global
cpu/x86/c2_globals_x86.hpp
IdealizeClearArrayNodeOpenJDK9boolaarch64truedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
IdealizeClearArrayNodeOpenJDK9boolc2diagnostic_pd
Replace ClearArrayNode by subgraph of basic operations.
share/opto/c2_globals.hpp
IdealizeClearArrayNodeOpenJDK9boolppctruedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
IdealizeClearArrayNodeOpenJDK9bools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
IdealizeClearArrayNodeOpenJDK9boolsparctruedefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
IdealizeClearArrayNodeOpenJDK9boolx86truedefine_pd_global
cpu/x86/c2_globals_x86.hpp
IdealizedNumericsOpenJDK6boolc2falsedevelop
Check performance difference allowing FP 
associativity and commutativity...
share/opto/c2_globals.hpp
IgnoreEmptyClassPathsOpenJDK8boolruntimefalseproduct
Ignore empty path elements in -classpath
share/runtime/globals.hpp
IgnoreLibthreadGPFaultOpenJDK6boolruntimefalsedevelop
Suppress workaround for libthread GP fault
share/runtime/globals.hpp
IgnoreLockingAssertionsOpenJDK6boolruntimefalsenotproduct
disable locking assertions (for speed)
share/runtime/globals.hpp
IgnoreRewritesOpenJDK6boolruntimefalsedevelop
Suppress rewrites of bytecodes in the oopmap generator. 
This is unsafe!
share/runtime/globals.hpp
IgnoreUnrecognizedVMOptionsOpenJDK6boolruntimefalseproduct
Ignore unrecognized VM options
share/runtime/globals.hpp
ImplicitDiv0ChecksOpenJDK6boolc1truedevelop
Use implicit division by zero checks
share/c1/c1_globals.hpp
ImplicitNullCheckThresholdOpenJDK6intxc23
range(0, max_jint)
develop
Don't do implicit null checks if NPE's in a method exceeds 
limit
share/opto/c2_globals.hpp
ImplicitNullChecksOpenJDK6boolaarch64truedefine_pd_global
// Generate code for implicit null checks
cpu/aarch64/globals_aarch64.hpp
ImplicitNullChecksOpenJDK6boolarmtruedefine_pd_global
// Generate code for implicit null checks
cpu/arm/globals_arm.hpp
ImplicitNullChecksOpenJDK6boolruntimediagnostic_pd
Generate code for implicit null checks
share/runtime/globals.hpp
ImplicitNullChecksOpenJDK6boolppctruedefine_pd_global
// Generate code for implicit null checks.
cpu/ppc/globals_ppc.hpp
ImplicitNullChecksOpenJDK6bools390truedefine_pd_global
// Generate code for implicit null checks.
cpu/s390/globals_s390.hpp
ImplicitNullChecksOpenJDK6boolsparctruedefine_pd_global
// Generate code for implicit null checks
cpu/sparc/globals_sparc.hpp
ImplicitNullChecksOpenJDK6boolx86truedefine_pd_global
// Generate code for implicit null checks
cpu/x86/globals_x86.hpp
ImplicitNullChecksOpenJDK6boolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
IncreaseFirstTierCompileThresholdAtOpenJDK8uintxruntime50
range(0, 99)
product
Increase the compile threshold for C1 compilation if the code 
cache is filled by the specified percentage
share/runtime/globals.hpp
IncrementalInlineOpenJDK7boolc2trueproduct
do post parse inlining
share/opto/c2_globals.hpp
IndexSetWatchOpenJDK6intxc20
range(-1, 0)
notproduct
Trace all operations on this IndexSet (-1 means all, 0 none)
share/opto/c2_globals.hpp
InitArrayShortSizeOpenJDK9intxaarch64BytesPerLongdefine_pd_global
cpu/aarch64/globals_aarch64.hpp
InitArrayShortSizeOpenJDK9intxarm8*BytesPerLongdefine_pd_global
cpu/arm/globals_arm.hpp
InitArrayShortSizeOpenJDK9intxruntimediagnostic_pd
Threshold small size (in bytes) for clearing arrays. 
Anything this size or smaller may get converted to discrete 
scalar stores.
share/runtime/globals.hpp
InitArrayShortSizeOpenJDK9intxppc9*BytesPerLongdefine_pd_global
cpu/ppc/globals_ppc.hpp
InitArrayShortSizeOpenJDK9intxs3901*BytesPerLongdefine_pd_global
cpu/s390/globals_s390.hpp
InitArrayShortSizeOpenJDK9intxsparc8*BytesPerLongdefine_pd_global
cpu/sparc/globals_sparc.hpp
InitArrayShortSizeOpenJDK9intxx868*BytesPerLongdefine_pd_global
cpu/x86/globals_x86.hpp
InitArrayShortSizeOpenJDK9intxzero0define_pd_global
cpu/zero/globals_zero.hpp
InitialBootClassLoaderMetaspaceSizeOpenJDK8Deprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
size_truntimeNOT_LP64(2200*K) LP64_ONLY(4*M)
range(30*K, max_uintx/BytesPerWord)
product
Initial size of the boot class loader data metaspace
share/runtime/globals.hpp
InitialCodeCacheSizeOpenJDK6intxaarch64160*Kdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
InitialCodeCacheSizeOpenJDK6size_tarm160*Kdefine_pd_global
cpu/arm/c1_globals_arm.hpp
InitialCodeCacheSizeOpenJDK6uintxruntimeproduct_pd
Initial code cache size (in bytes)
share/runtime/globals.hpp
InitialCodeCacheSizeOpenJDK6uintxppc160*Kdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
InitialCodeCacheSizeOpenJDK6uintxs3902048*Kdefine_pd_global
// Integral multiple of CodeCacheExpansionSize
cpu/s390/c2_globals_s390.hpp
InitialCodeCacheSizeOpenJDK6uintxsparc160*Kdefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
InitialCodeCacheSizeOpenJDK6uintxx86160*Kdefine_pd_global
cpu/x86/c1_globals_x86.hpp
InitialHeapSizeOpenJDK6size_tgc0product
Initial heap size (in bytes); zero means use ergonomics
share/gc/shared/gc_globals.hpp
InitialRAMFractionOpenJDK6Deprecated in JDK10
Obsoleted in JDK23
Expired in JDK24
uintxgc64
range(1, max_uintx)
product
Fraction (1/n) of real memory used for initial heap size. 
Deprecated, use InitialRAMPercentage instead
share/gc/shared/gc_globals.hpp
InitialRAMPercentageOpenJDK10doublegc1.5625
range(0.0, 100.0)
product
Percentage of real memory used for initial heap size
share/gc/shared/gc_globals.hpp
InitialSurvivorRatioOpenJDK6uintxgc8
range(0, max_uintx)
product
Initial ratio of young generation/survivor space size
share/gc/shared/gc_globals.hpp
InitialTenuringThresholdOpenJDK6uintxgc7
range(0, markOopDesc::max_age + 1)
product
Initial value for tenuring threshold
share/gc/shared/gc_globals.hpp
InitiatingHeapOccupancyPercentOpenJDK6uintxgc45
range(0, 100)
product
The percent occupancy (IHOP) of the current old generation 
capacity above which a concurrent mark cycle will be initiated 
Its value may change over time if adaptive IHOP is enabled, 
otherwise the value remains constant. 
In the latter case a value of 0 will result as frequent as 
possible concurrent marking cycles. A value of 100 disables 
concurrent marking. 
Fragmentation waste in the old generation is not considered 
free space in this calculation. (G1 collector only)
share/gc/shared/gc_globals.hpp
InjectCompilerCreationFailureOpenJDK11boolruntimefalsedevelop
Inject thread creation failures for 
UseDynamicNumberOfCompilerThreads
share/runtime/globals.hpp
InjectGCWorkerCreationFailureOpenJDK9boolgcfalsediagnostic
Inject thread creation failures for 
UseDynamicNumberOfGCThreads
share/gc/shared/gc_globals.hpp
InlineAccessorsOpenJDK6boolc2truedevelop
inline accessor methods (get/set)
share/opto/c2_globals.hpp
InlineArrayCopyOpenJDK6boolruntimetruediagnostic
Inline arraycopy native that is known to be part of 
base library DLL
share/runtime/globals.hpp
InlineClassNativesOpenJDK6boolruntimetruediagnostic
Inline Class.isInstance, etc
share/runtime/globals.hpp
InlineDataFileOpenJDK8ccstrruntimeNULLproduct
File containing inlining replay information
[default: ./inline_pid%p.log] (%p replaced with pid)
share/runtime/globals.hpp
InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19
intxaarch64100define_pd_global
cpu/aarch64/globals_aarch64.hpp
InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19
intxarm50define_pd_global
cpu/arm/globals_arm.hpp
InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19
intxruntimediagnostic_pd
Count of call site execution necessary to trigger frequent 
inlining
share/runtime/globals.hpp
InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19
intxppc100define_pd_global
cpu/ppc/globals_ppc.hpp
InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19
intxs390100define_pd_global
cpu/s390/globals_s390.hpp
InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19
intxsparc50define_pd_global
// we can use more inlining on the SPARC
cpu/sparc/globals_sparc.hpp
InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19
intxx86100define_pd_global
cpu/x86/globals_x86.hpp
InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19
intxzero100define_pd_global
cpu/zero/globals_zero.hpp
InlineFrequencyRatioOpenJDK6intxruntime20
range(0, max_jint)
develop
Ratio of call site execution to caller method invocation
share/runtime/globals.hpp
InlineIntrinsicsOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
InlineIntrinsicsOpenJDK6boolarmfalsedefine_pd_global
cpu/arm/c2_globals_arm.hpp
InlineIntrinsicsOpenJDK6boolruntimedevelop_pd
Inline intrinsics that can be statically resolved
share/runtime/globals.hpp
InlineIntrinsicsOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
InlineIntrinsicsOpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
InlineIntrinsicsOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
InlineIntrinsicsOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
InlineMathNativesOpenJDK6boolruntimetruediagnostic
Inline SinD, CosD, etc.
share/runtime/globals.hpp
InlineMethodsWithExceptionHandlersOpenJDK6boolc1truedevelop
Inline methods containing exception handlers 
(NOTE: does not work with current backend)
share/c1/c1_globals.hpp
InlineNIOCheckIndexOpenJDK6boolc1truediagnostic
Intrinsify java.nio.Buffer.checkIndex
share/c1/c1_globals.hpp
InlineNativesOpenJDK6boolruntimetruediagnostic
Inline natives that are known to be part of base library DLL
share/runtime/globals.hpp
InlineObjectCopyOpenJDK6boolc2truediagnostic
inline Object.clone and Arrays.copyOf[Range] intrinsics
share/opto/c2_globals.hpp
InlineObjectHashOpenJDK6boolruntimetruediagnostic
Inline Object::hashCode() native that is known to be part 
of base library DLL
share/runtime/globals.hpp
InlineReflectionGetCallerClassOpenJDK6boolc2truediagnostic
inline sun.reflect.Reflection.getCallerClass(), known to be 
part of base library DLL
share/opto/c2_globals.hpp
InlineSmallCodeOpenJDK6intxaarch641000define_pd_global
cpu/aarch64/globals_aarch64.hpp
InlineSmallCodeOpenJDK6intxarm1500define_pd_global
cpu/arm/globals_arm.hpp
InlineSmallCodeOpenJDK6intxruntimeproduct_pd
Only inline already compiled methods if their code size is 
less than this
share/runtime/globals.hpp
InlineSmallCodeOpenJDK6intxppc1500define_pd_global
cpu/ppc/globals_ppc.hpp
InlineSmallCodeOpenJDK6intxs3902000define_pd_global
cpu/s390/globals_s390.hpp
InlineSmallCodeOpenJDK6intxsparc1500define_pd_global
cpu/sparc/globals_sparc.hpp
InlineSmallCodeOpenJDK6intxx861000define_pd_global
cpu/x86/globals_x86.hpp
InlineSmallCodeOpenJDK6intxzero1000define_pd_global
cpu/zero/globals_zero.hpp
InlineSynchronizedMethodsOpenJDK6boolc1trueproduct
Inline synchronized methods
share/c1/c1_globals.hpp
InlineThreadNativesOpenJDK6boolruntimetruediagnostic
Inline Thread.currentThread, etc
share/runtime/globals.hpp
InlineThrowCountOpenJDK6intxruntime50
range(0, max_jint)
develop
Force inlining of interpreted methods that throw this often
share/runtime/globals.hpp
InlineThrowMaxSizeOpenJDK6intxruntime200
range(0, max_jint)
develop
Force inlining of throwing methods smaller than this
share/runtime/globals.hpp
InlineUnsafeOpsOpenJDK6boolruntimetruediagnostic
Inline memory ops (native methods) from Unsafe
share/runtime/globals.hpp
InlineWarmCallsOpenJDK6boolc2falsedevelop
Use a heat-based priority queue to govern inlining
share/opto/c2_globals.hpp
InlineOpenJDK6boolruntimetrueproduct
Enable inlining
share/runtime/globals.hpp
InsertEndGroupPPC64OpenJDK7boolppcfalseproduct
Insert EndGroup instructions to optimize for Power6.
cpu/ppc/globals_ppc.hpp
InsertMemBarAfterArraycopyOpenJDK6Obsoleted in JDK16
Expired in JDK17
boolc2trueproduct
Insert memory barrier after arraycopy call
share/opto/c2_globals.hpp
InstallMethodsOpenJDK6boolc1truedevelop
Install methods at the end of successful compilations
share/c1/c1_globals.hpp
InstructionCountCutoffOpenJDK6intxc137000
range(0, max_jint)
develop
If GraphBuilder adds this many instructions, bails out
share/c1/c1_globals.hpp
InterceptOSExceptionOpenJDK6boolruntimefalsedevelop
Start debugger when an implicit OS (e.g. NULL) 
exception happens
share/runtime/globals.hpp
InteriorEntryAlignmentOpenJDK6intxaarch6416define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
InteriorEntryAlignmentOpenJDK6intxarm16define_pd_global
// = CodeEntryAlignment
cpu/arm/c2_globals_arm.hpp
InteriorEntryAlignmentOpenJDK6intxc2product_pd
Code alignment for interior entry points 
in generated code (in bytes)
share/opto/c2_globals.hpp
InteriorEntryAlignmentOpenJDK6intxppc16define_pd_global
cpu/ppc/c2_globals_ppc.hpp
InteriorEntryAlignmentOpenJDK6intxs3902define_pd_global
cpu/s390/c2_globals_s390.hpp
InteriorEntryAlignmentOpenJDK6intxsparc16define_pd_global
// = CodeEntryAlignment
cpu/sparc/c2_globals_sparc.hpp
InteriorEntryAlignmentOpenJDK6intxx864define_pd_global
cpu/x86/c2_globals_x86.hpp
InterpreterProfilePercentageOpenJDK6intxruntime33
range(0, 100)
product
NON_TIERED number of method invocations/branches (expressed as 
% of CompileThreshold) before profiling in the interpreter
share/runtime/globals.hpp
JVMCICounterSizeOpenJDK9intxjvmci0
range(0, max_jint)
experimental
Reserved size for benchmark counters
share/jvmci/jvmci_globals.hpp
JVMCICountersExcludeCompilerOpenJDK9booljvmcitrueexperimental
Exclude JVMCI compiler threads from benchmark counters
share/jvmci/jvmci_globals.hpp
JVMCIHostThreadsOpenJDK9intxjvmci1
range(1, max_jint)
experimental
Force number of compiler threads for JVMCI host compiler
share/jvmci/jvmci_globals.hpp
JVMCINMethodSizeLimitOpenJDK9intxjvmci(80*K)*wordSizeexperimental
Maximum size of a compiled method.
share/jvmci/jvmci_globals.hpp
JVMCIPrintPropertiesOpenJDK9booljvmcifalseexperimental
Prints properties used by the JVMCI compiler and exits
share/jvmci/jvmci_globals.hpp
JVMCIThreadsOpenJDK9intxjvmci1
range(1, max_jint)
experimental
Force number of JVMCI compiler threads to use
share/jvmci/jvmci_globals.hpp
JVMCITraceLevelOpenJDK9intxjvmci0experimental
Trace level for JVMCI: 

1 means emit a message for each CompilerToVM call,
levels greater than 1 provide progressively greater detail
share/jvmci/jvmci_globals.hpp
JVMCIUseFastLockingOpenJDK9booljvmcitruedevelop
Use fast inlined locking code
share/jvmci/jvmci_globals.hpp
JVMInvokeMethodSlackOpenJDK6size_taixppc8192define_pd_global
os_cpu/aix_ppc/globals_aix_ppc.hpp
JVMInvokeMethodSlackOpenJDK6size_tbsdx868192define_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
JVMInvokeMethodSlackOpenJDK6size_tbsdzero8192define_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
JVMInvokeMethodSlackOpenJDK6uintxlinuxaarch648192define_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
JVMInvokeMethodSlackOpenJDK6size_tlinuxarm8192define_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
JVMInvokeMethodSlackOpenJDK6size_tlinuxppc8192define_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
JVMInvokeMethodSlackOpenJDK6size_tlinuxs3908192define_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
JVMInvokeMethodSlackOpenJDK6size_tlinuxsparc12288define_pd_global
os_cpu/linux_sparc/globals_linux_sparc.hpp
JVMInvokeMethodSlackOpenJDK6size_tlinuxx868192define_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
JVMInvokeMethodSlackOpenJDK6size_tlinuxzero8192define_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
JVMInvokeMethodSlackOpenJDK6size_truntimedevelop_pd
Stack space (bytes) required for JVM_InvokeMethod to complete
share/runtime/globals.hpp
JVMInvokeMethodSlackOpenJDK6size_tsolarissparc12288define_pd_global
os_cpu/solaris_sparc/globals_solaris_sparc.hpp
JVMInvokeMethodSlackOpenJDK6size_tsolarisx8610*Kdefine_pd_global
os_cpu/solaris_x86/globals_solaris_x86.hpp
JVMInvokeMethodSlackOpenJDK6size_twindowsx868192define_pd_global
os_cpu/windows_x86/globals_windows_x86.hpp
JavaMonitorsInStackTraceOpenJDK6boolruntimetrueproduct
Print information about Java monitor locks when the stacks are
dumped
share/runtime/globals.hpp
JavaPriority10_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority1_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority2_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority3_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority4_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority5_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority6_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority7_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority8_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority9_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
LIRFillDelaySlotsOpenJDK6Obsoleted in JDK15
Expired in JDK16
boolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
LIRFillDelaySlotsOpenJDK6Obsoleted in JDK15
Expired in JDK16
boolarmfalsedefine_pd_global
cpu/arm/c1_globals_arm.hpp
LIRFillDelaySlotsOpenJDK6Obsoleted in JDK15
Expired in JDK16
boolc1product_pd
fill delays on on SPARC with LIR
share/c1/c1_globals.hpp
LIRFillDelaySlotsOpenJDK6Obsoleted in JDK15
Expired in JDK16
boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
LIRFillDelaySlotsOpenJDK6Obsoleted in JDK15
Expired in JDK16
bools390falsedefine_pd_global
cpu/s390/c1_globals_s390.hpp
LIRFillDelaySlotsOpenJDK6Obsoleted in JDK15
Expired in JDK16
boolsparctruedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
LIRFillDelaySlotsOpenJDK6Obsoleted in JDK15
Expired in JDK16
boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
LIRTraceExecutionOpenJDK6boolc1falsedevelop
add LIR code which logs the execution of blocks
share/c1/c1_globals.hpp
LIRTracePeepholeOpenJDK6boolc1falsedevelop
Trace peephole optimizer
share/c1/c1_globals.hpp
LargePageHeapSizeThresholdOpenJDK6size_truntime128*M
range(0, max_uintx)
product
Use large pages if maximum heap is at least this big
share/runtime/globals.hpp
LargePageSizeInBytesOpenJDK6size_truntime0
range(0, max_uintx)
product
Large page size (0 to let VM choose the page size)
share/runtime/globals.hpp
LargePagesIndividualAllocationInjectErrorOpenJDK6boolruntimefalsedevelop
Fail large pages individual allocation
share/runtime/globals.hpp
LiveNodeCountInliningCutoffOpenJDK7intxc240000
range(0, max_juint / 8)
product
max number of live nodes in a method
share/opto/c2_globals.hpp
LoadExecStackDllInVMThreadOpenJDK7boollinuxtrueproduct
Load DLLs with executable-stack attribute in the VM Thread
os/linux/globals_linux.hpp
LoadLineNumberTablesOpenJDK6boolruntimetruedevelop
Tell whether the class file parser loads line number tables
share/runtime/globals.hpp
LoadLocalVariableTablesOpenJDK6boolruntimetruedevelop
Tell whether the class file parser loads local variable tables
share/runtime/globals.hpp
LoadLocalVariableTypeTablesOpenJDK6boolruntimetruedevelop
Tell whether the class file parser loads local variable type
tables
share/runtime/globals.hpp
LogCompilationOpenJDK6boolruntimefalsediagnostic
Log compilation activity in detail to LogFile
share/runtime/globals.hpp
LogEventsBufferEntriesOpenJDK6uintxruntime10
range(1, NOT_LP64(1*K) LP64_ONLY(1*M))
diagnostic
Number of ring buffer event logs
share/runtime/globals.hpp
LogEventsOpenJDK6boolruntimetruediagnostic
Enable the various ring buffer event logs
share/runtime/globals.hpp
LogFileOpenJDK6ccstrruntimeNULLdiagnostic
If LogVMOutput or LogCompilation is on, save VM output to 
this file [default: ./hotspot_pid%p.log] (%p replaced with pid)
share/runtime/globals.hpp
LogSweeperOpenJDK6boolruntimefalsenotproduct
Keep a ring buffer of sweeper activity
share/runtime/globals.hpp
LogTouchedMethodsOpenJDK9boolruntimefalsediagnostic
Log methods which have been ever touched in runtime
share/runtime/globals.hpp
LogVMOutputOpenJDK6boolruntimefalsediagnostic
Save VM output to LogFile
share/runtime/globals.hpp
LongCompileThresholdOpenJDK6intxruntime50develop
Used with +TraceLongCompiles
share/runtime/globals.hpp
LoopMaxUnrollOpenJDK7intxc216
range(0, max_jint)
product
Maximum number of unrolls for main loop
share/opto/c2_globals.hpp
LoopOptsCountOpenJDK6intxc243
range(5, 43)
product
Set level of loop optimization for tier 1 compiles
share/opto/c2_globals.hpp
LoopPercentProfileLimitOpenJDK9intxaarch6410define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
LoopPercentProfileLimitOpenJDK9intxc2product_pd
Unroll loop bodies with % node count of profile limit
share/opto/c2_globals.hpp
LoopPercentProfileLimitOpenJDK9intxppc10define_pd_global
cpu/ppc/c2_globals_ppc.hpp
LoopPercentProfileLimitOpenJDK9intxs39010define_pd_global
cpu/s390/c2_globals_s390.hpp
LoopPercentProfileLimitOpenJDK9intxsparc10define_pd_global
cpu/sparc/c2_globals_sparc.hpp
LoopPercentProfileLimitOpenJDK9intxx8630define_pd_global
cpu/x86/c2_globals_x86.hpp
LoopStripMiningIterShortLoopOpenJDK10uintxc20
range(0, max_juint)
product
Loop with fewer iterations are not strip mined
share/opto/c2_globals.hpp
LoopStripMiningIterOpenJDK10uintxc20
range(0, max_juint)
product
Number of iterations in strip mined loop
share/opto/c2_globals.hpp
LoopUnrollLimitOpenJDK6intxaarch6460define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
LoopUnrollLimitOpenJDK6intxc2product_pd
Unroll loop bodies with node count less than this
share/opto/c2_globals.hpp
LoopUnrollLimitOpenJDK6intxppc60define_pd_global
cpu/ppc/c2_globals_ppc.hpp
LoopUnrollLimitOpenJDK6intxs39060define_pd_global
cpu/s390/c2_globals_s390.hpp
LoopUnrollLimitOpenJDK6intxsparc60define_pd_global
// Design center runs on 1.3.1
cpu/sparc/c2_globals_sparc.hpp
LoopUnrollLimitOpenJDK6intxx8650define_pd_global
// Design center runs on 1.3.1
cpu/x86/c2_globals_x86.hpp
LoopUnrollMinOpenJDK6intxc24
range(0, max_jint)
product
Minimum number of unroll loop bodies before checking progress
of rounds of unroll,optimize,..
share/opto/c2_globals.hpp
LoopUnswitchingOpenJDK6boolc2trueproduct
Enable loop unswitching (a form of invariant test hoisting)
share/opto/c2_globals.hpp
MVCLEThresholdOpenJDK9size_ts390+2*(4*K)product
Threshold above which page-aligned MVCLE copy/init is used.
cpu/s390/globals_s390.hpp
MallocCatchPtrOpenJDK6intxruntime-1develop
Hit breakpoint when mallocing/freeing this pointer
share/runtime/globals.hpp
MallocMaxTestWordsOpenJDK8uintxruntime0
range(0, max_uintx)
diagnostic
If non-zero, maximum number of words that malloc/realloc can 
allocate (for testing only)
share/runtime/globals.hpp
ManagementServerOpenJDK6boolruntimefalseproduct
Create JMX Management Server
share/runtime/globals.hpp
MarkStackSizeMaxOpenJDK6size_tgcNOT_LP64(4*M) LP64_ONLY(512*M)
range(1, (max_jint - 1))
product
Maximum size of marking stack
share/gc/shared/gc_globals.hpp
MarkStackSizeOpenJDK6size_tgcNOT_LP64(32*K) LP64_ONLY(4*M)product
Size of marking stack
share/gc/shared/gc_globals.hpp
MarkSweepAlwaysCompactCountOpenJDK6uintgc4
range(1, max_juint)
product
How often should we fully compact the heap (ignoring the dead 
space parameters)
share/gc/shared/gc_globals.hpp
MarkSweepDeadRatioOpenJDK6uintxgc5
range(0, 100)
product
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.
share/gc/shared/gc_globals.hpp
MaxBCEAEstimateLevelOpenJDK6intxruntime5
range(0, max_jint)
product
Maximum number of nested calls that are analyzed by BC EA
share/runtime/globals.hpp
MaxBCEAEstimateSizeOpenJDK6intxruntime150
range(0, max_jint)
product
Maximum bytecode size of a method to be analyzed by BC EA
share/runtime/globals.hpp
MaxDirectMemorySizeOpenJDK6uint64_truntime0
range(0, max_jlong)
product
Maximum total size of NIO direct-buffer allocations
share/runtime/globals.hpp
MaxElementPrintSizeOpenJDK6intxruntime256notproduct
maximum number of elements to print
share/runtime/globals.hpp
MaxExpectedDataSegmentSizeOpenJDK9uintxaix8*Gproduct
Maximum expected Data Segment Size.
os/aix/globals_aix.hpp
MaxFDLimitOpenJDK6boolruntimetrueproduct
Bump the number of file descriptors to maximum in Solaris
share/runtime/globals.hpp
MaxForceInlineLevelOpenJDK7intxruntime100
range(0, max_jint)
develop
maximum number of nested calls that are forced for inlining 
(using CompileCommand or marked w/ @ForceInline)
share/runtime/globals.hpp
MaxGCMinorPauseMillisOpenJDK6Deprecated in JDK8
Obsoleted in JDK23
Expired in JDK24
uintxgcmax_uintx
range(0, max_uintx)
product
Adaptive size policy maximum GC minor pause time goal 
in millisecond
share/gc/shared/gc_globals.hpp
MaxGCPauseMillisOpenJDK6uintxgcmax_uintx - 1
range(1, max_uintx - 1)
product
Adaptive size policy maximum GC pause time goal in millisecond, 
or (G1 Only) the maximum GC time per MMU time slice
share/gc/shared/gc_globals.hpp
MaxHeapFreeRatioOpenJDK6uintxruntime70
range(0, 100)
manageable
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.
share/runtime/globals.hpp
MaxHeapSizeOpenJDK6size_tgcScaleForWordSize(96*M)product
Maximum heap size (in bytes)
share/gc/shared/gc_globals.hpp
MaxInlineLevelOpenJDK6intxruntime9
range(0, max_jint)
product
maximum number of nested calls that are inlined
share/runtime/globals.hpp
MaxInlineSizeOpenJDK6intxruntime35
range(0, max_jint)
product
The maximum bytecode size of a method to be inlined
share/runtime/globals.hpp
MaxInterpretedSearchLengthOpenJDK6intxruntime3develop
The maximum number of interpreted frames to skip when searching 
for recompilee
share/runtime/globals.hpp
MaxJNILocalCapacityOpenJDK8intxruntime65536
range(min_intx, max_intx)
product
Maximum allowable local JNI handle capacity to 
EnsureLocalCapacity() and PushLocalFrame(), 
where <= 0 is unlimited, default: 65536
share/runtime/globals.hpp
MaxJavaStackTraceDepthOpenJDK6intxruntime1024
range(0, max_jint/2)
product
The maximum number of lines in the stack trace for Java 
exceptions (0 means all)
share/runtime/globals.hpp
MaxJumpTableSizeOpenJDK6intxc265000
range(0, max_intx)
product
Maximum number of targets in a generated jump table
share/opto/c2_globals.hpp
MaxJumpTableSparsenessOpenJDK6intxc25
range(0, max_intx / 4)
product
Maximum sparseness for jumptables
share/opto/c2_globals.hpp
MaxLabelRootDepthOpenJDK6intxc21100
range(100, max_jint)
product
Maximum times call Label_Root to prevent stack overflow
share/opto/c2_globals.hpp
MaxLoopPadOpenJDK6intxc2(OptoLoopAlignment-1)
range(0, max_jint)
product
Align a loop if padding size in bytes is less or equal to this 
value
share/opto/c2_globals.hpp
MaxMetaspaceExpansionOpenJDK8size_truntimeScaleForWordSize(4*M)
range(0, max_uintx)
product
The maximum expansion of Metaspace without full GC (in bytes)
share/runtime/globals.hpp
MaxMetaspaceFreeRatioOpenJDK8uintxruntime70
range(0, 100)
product
The maximum percentage of Metaspace free after GC to avoid 
shrinking
share/runtime/globals.hpp
MaxMetaspaceSizeOpenJDK8size_truntimemax_uintxproduct
Maximum size of Metaspaces (in bytes)
share/runtime/globals.hpp
MaxNewSizeOpenJDK6size_tgcmax_uintx
range(0, max_uintx)
product
Maximum new generation size (in bytes), max_uintx means set 
ergonomically
share/gc/shared/gc_globals.hpp
MaxNodeLimitOpenJDK6intxc280000
range(1000, max_jint / 3)
product
Maximum number of nodes
share/opto/c2_globals.hpp
MaxRAMFractionOpenJDK6Deprecated in JDK10
Obsoleted in JDK23
Expired in JDK24
uintxgc4
range(1, max_uintx)
product
Maximum fraction (1/n) of real memory used for maximum heap 
size. 
Deprecated, use MaxRAMPercentage instead
share/gc/shared/gc_globals.hpp
MaxRAMPercentageOpenJDK10doublegc25.0
range(0.0, 100.0)
product
Maximum percentage of real memory used for maximum heap size
share/gc/shared/gc_globals.hpp
MaxRAMOpenJDK6uint64_taarch641ULL*Gdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
MaxRAMOpenJDK6uint64_tarm1ULL*Gdefine_pd_global
cpu/arm/c1_globals_arm.hpp
MaxRAMOpenJDK6uint64_tgcproduct_pd
Real memory size (in bytes) used to set maximum heap size
share/gc/shared/gc_globals.hpp
MaxRAMOpenJDK6uint64_truntime1ULL*Gdefine_pd_global
share/runtime/globals.hpp
MaxRAMOpenJDK6uint64_tppc1ULL*Gdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
MaxRAMOpenJDK6uint64_ts390128ULL*Gdefine_pd_global
cpu/s390/c2_globals_s390.hpp
MaxRAMOpenJDK6uint64_tsparc1ULL*Gdefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
MaxRAMOpenJDK6uint64_tx861ULL*Gdefine_pd_global
cpu/x86/c1_globals_x86.hpp
MaxRecompilationSearchLengthOpenJDK6intxruntime10develop
The maximum number of frames to inspect when searching for 
recompilee
share/runtime/globals.hpp
MaxRecursiveInlineLevelOpenJDK6intxruntime1
range(0, max_jint)
product
maximum number of nested recursive calls that are inlined
share/runtime/globals.hpp
MaxSubklassPrintSizeOpenJDK6intxruntime4notproduct
maximum number of subklasses to print when printing klass
share/runtime/globals.hpp
MaxTenuringThresholdOpenJDK6uintxgc15
range(0, markOopDesc::max_age + 1)
product
Maximum value for tenuring threshold
share/gc/shared/gc_globals.hpp
MaxTrivialSizeOpenJDK6intxruntime6
range(0, max_jint)
product
The maximum bytecode size of a trivial method to be inlined
share/runtime/globals.hpp
MaxVectorSizeOpenJDK7intxc264
range(0, max_jint)
product
Max vector size in bytes, 
actual size could be less depending on elements type
share/opto/c2_globals.hpp
MaxVirtMemFractionOpenJDK7uintxgc2develop
Maximum fraction (1/n) of virtual memory used for ergonomically 
determining maximum heap size
share/gc/shared/gc_globals.hpp
MemProfilingIntervalOpenJDK6intxruntime500notproduct
Time between each invocation of the MemProfiler
share/runtime/globals.hpp
MemProfilingOpenJDK6boolruntimefalsedevelop
Write memory usage profiling to log file
share/runtime/globals.hpp
MetadataAllocationFailALotIntervalOpenJDK8uintxgc1000develop
Metadata allocation failure a lot interval
share/gc/shared/gc_globals.hpp
MetadataAllocationFailALotOpenJDK8boolgcfalsedevelop
Fail metadata allocations at intervals controlled by 
MetadataAllocationFailALotInterval
share/gc/shared/gc_globals.hpp
MetaspaceSizeOpenJDK8uintxaarch6412*Mdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
MetaspaceSizeOpenJDK8size_tarm12*Mdefine_pd_global
cpu/arm/c1_globals_arm.hpp
MetaspaceSizeOpenJDK8size_truntimeproduct_pd
Initial threshold (in bytes) at which a garbage collection 
is done to reduce Metaspace usage
share/runtime/globals.hpp
MetaspaceSizeOpenJDK8size_tppc12*Mdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
MetaspaceSizeOpenJDK8size_ts390ScaleForWordSize(16*M)define_pd_global
cpu/s390/c2_globals_s390.hpp
MetaspaceSizeOpenJDK8size_tsparc12*Mdefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
MetaspaceSizeOpenJDK8size_tx8612*Mdefine_pd_global
cpu/x86/c1_globals_x86.hpp
MethodFlushingOpenJDK6boolruntimetrueproduct
Reclamation of zombie and not-entrant methods
share/runtime/globals.hpp
MethodHistogramCutoffOpenJDK6intxruntime100develop
The cutoff value for method invocation histogram (+CountCalls)
share/runtime/globals.hpp
MethodProfileWidthOpenJDK9intxjvmci0experimental
Number of methods to record in call profile
share/jvmci/jvmci_globals.hpp
MinHeapDeltaBytesOpenJDK6size_truntimeScaleForWordSize(128*K)
range(0, max_uintx)
product
The minimum change in heap space due to GC (in bytes)
share/runtime/globals.hpp
MinHeapFreeRatioOpenJDK6uintxruntime40
range(0, 100)
manageable
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.
share/runtime/globals.hpp
MinInliningThresholdOpenJDK6Deprecated in JDK18
Obsoleted in JDK19
Expired in JDK20
intxruntime250
range(0, max_jint)
product
The minimum invocation count a method needs to have to be 
inlined
share/runtime/globals.hpp
MinJumpTableSizeOpenJDK6intxaarch6410define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
MinJumpTableSizeOpenJDK6intxc2product_pd
Minimum number of targets in a generated jump table
share/opto/c2_globals.hpp
MinJumpTableSizeOpenJDK6intxppc10define_pd_global
cpu/ppc/c2_globals_ppc.hpp
MinJumpTableSizeOpenJDK6intxs39018define_pd_global
cpu/s390/c2_globals_s390.hpp
MinJumpTableSizeOpenJDK6intxsparc5define_pd_global
cpu/sparc/c2_globals_sparc.hpp
MinJumpTableSizeOpenJDK6intxx8610define_pd_global
cpu/x86/c2_globals_x86.hpp
MinMetaspaceExpansionOpenJDK8size_truntimeScaleForWordSize(256*K)
range(0, max_uintx)
product
The minimum expansion of Metaspace (in bytes)
share/runtime/globals.hpp
MinMetaspaceFreeRatioOpenJDK8uintxruntime40
range(0, 99)
product
The minimum percentage of Metaspace free after GC to avoid 
expansion
share/runtime/globals.hpp
MinOopMapAllocationOpenJDK6intxruntime8develop
Minimum number of OopMap entries in an OopMapSet
share/runtime/globals.hpp
MinPassesBeforeFlushOpenJDK9intxruntime10
range(0, max_intx)
diagnostic
Minimum number of sweeper passes before an nmethod 
can be flushed
share/runtime/globals.hpp
MinRAMFractionOpenJDK6Deprecated in JDK10
Obsoleted in JDK23
Expired in JDK24
uintxgc2
range(1, max_uintx)
product
Minimum fraction (1/n) of real memory used for maximum heap 
size on systems with small physical memory size. 
Deprecated, use MinRAMPercentage instead
share/gc/shared/gc_globals.hpp
MinRAMPercentageOpenJDK10doublegc50.0
range(0.0, 100.0)
product
Minimum percentage of real memory used for maximum heap
size on systems with small physical memory size
share/gc/shared/gc_globals.hpp
MinSurvivorRatioOpenJDK6uintxgc3
range(3, max_uintx)
product
Minimum ratio of young generation/survivor space size
share/gc/shared/gc_globals.hpp
MinTLABSizeOpenJDK6size_tgc2*K
range(1, max_uintx/2)
product
Minimum allowed TLAB size (in bytes)
share/gc/shared/gc_globals.hpp
MonitorBoundOpenJDK6Deprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
intxruntime0
range(0, max_jint)
product
Bound Monitor population
share/runtime/globals.hpp
MonitorUsedDeflationThresholdOpenJDK10intxruntime90
range(0, 100)
experimental
Percentage of used monitors before triggering cleanup 
safepoint which deflates monitors (0 is off). 
The check is performed on GuaranteedSafepointInterval.
share/runtime/globals.hpp
MonomorphicArrayCheckOpenJDK6boolc2truedevelop
Uncommon-trap array store checks that require full type check
share/opto/c2_globals.hpp
MultiArrayExpandLimitOpenJDK6intxc26
range(0, max_jint)
product
Maximum number of individual allocations in an inline-expanded 
multianewarray instruction
share/opto/c2_globals.hpp
NMethodSizeLimitOpenJDK6intxc1(64*K)*wordSize
range(0, max_jint)
develop
Maximum size of a compiled method.
share/c1/c1_globals.hpp
NUMAChunkResizeWeightOpenJDK6uintxruntime20
range(0, 100)
product
Percentage (0-100) used to weight the current sample when 
computing exponentially decaying average for 
AdaptiveNUMAChunkSizing
share/runtime/globals.hpp
NUMAInterleaveGranularityOpenJDK6size_truntime2*M
range(os::vm_allocation_granularity(), NOT_LP64(2*G) LP64_ONLY(8192*G))
product
Granularity to use for NUMA interleaving on Windows OS
share/runtime/globals.hpp
NUMAPageScanRateOpenJDK6Obsoleted in JDK23
Expired in JDK24
uintxruntime256
range(0, max_uintx)
product
Maximum number of pages to include in the page scan procedure
share/runtime/globals.hpp
NUMASpaceResizeRateOpenJDK6size_truntime1*G
range(0, max_uintx)
product
Do not reallocate more than this amount per collection
share/runtime/globals.hpp
NUMAStatsOpenJDK6boolruntimefalseproduct
Print NUMA stats in detailed heap information
share/runtime/globals.hpp
NativeMemoryTrackingOpenJDK7ccstrruntimeoffproduct
Native memory tracking options
share/runtime/globals.hpp
NearCpoolOpenJDK9boolaarch64trueproduct
constant pool is close to instructions
cpu/aarch64/globals_aarch64.hpp
NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14
boolaarch64falsedefine_pd_global
// only register window machines need this
cpu/aarch64/globals_aarch64.hpp
NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14
boolarmfalsedefine_pd_global
// only register window machines need this
cpu/arm/globals_arm.hpp
NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14
boolruntimeproduct_pd
True for register window machines (sparc/ia64)
share/runtime/globals.hpp
NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14
boolppcfalsedefine_pd_global
// Only register window machines need this.
cpu/ppc/globals_ppc.hpp
NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14
bools390falsedefine_pd_global
// Only register window machines need this.
cpu/s390/globals_s390.hpp
NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14
boolsparctruedefine_pd_global
// register window machines need this
cpu/sparc/globals_sparc.hpp
NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14
boolx86falsedefine_pd_global
// only register window machines need this
cpu/x86/globals_x86.hpp
NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14
boolzerofalsedefine_pd_global
cpu/zero/globals_zero.hpp
NestedInliningSizeRatioOpenJDK6intxc190
range(0, 100)
develop
Percentage of prev. allowed inline size in recursive inlining
share/c1/c1_globals.hpp
NeverActAsServerClassMachineOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
NeverActAsServerClassMachineOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c1_globals_arm.hpp
NeverActAsServerClassMachineOpenJDK6boolgcproduct_pd
Never act like a server-class machine
share/gc/shared/gc_globals.hpp
NeverActAsServerClassMachineOpenJDK6boolruntimetruedefine_pd_global
share/runtime/globals.hpp
NeverActAsServerClassMachineOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
NeverActAsServerClassMachineOpenJDK6bools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
NeverActAsServerClassMachineOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
NeverActAsServerClassMachineOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
NeverTenureOpenJDK6boolgcfalseproduct
Never tenure objects in eden, may tenure on overflow 
(ParallelGC only)
share/gc/shared/gc_globals.hpp
NewCodeParameterOpenJDK6intxruntime0develop
Testing Only: Create a dedicated integer parameter before 
putback
share/runtime/globals.hpp
NewRatioOpenJDK6uintxgc2
range(0, max_uintx-1)
product
Ratio of old/new generation sizes
share/gc/shared/gc_globals.hpp
NewSizeThreadIncreaseOpenJDK6intxaarch644*Kdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
NewSizeThreadIncreaseOpenJDK6size_tarmScaleForWordSize(4*K)define_pd_global
cpu/arm/c2_globals_arm.hpp
NewSizeThreadIncreaseOpenJDK6size_tgcproduct_pd
Additional size added to desired new generation size per 
non-daemon thread (in bytes)
share/gc/shared/gc_globals.hpp
NewSizeThreadIncreaseOpenJDK6size_truntime4*Kdefine_pd_global
share/runtime/globals.hpp
NewSizeThreadIncreaseOpenJDK6size_tppc16*Kdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
NewSizeThreadIncreaseOpenJDK6size_ts390ScaleForWordSize(4*K)define_pd_global
cpu/s390/c2_globals_s390.hpp
NewSizeThreadIncreaseOpenJDK6size_tsparc16*Kdefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
NewSizeThreadIncreaseOpenJDK6size_tx864*Kdefine_pd_global
cpu/x86/c1_globals_x86.hpp
NewSizeOpenJDK6size_tgcScaleForWordSize(1*M)product
Initial new generation size (in bytes)
share/gc/shared/gc_globals.hpp
NmethodSweepActivityOpenJDK8intxruntime10
range(0, 2000)
product
Removes cold nmethods from code cache if > 0. Higher values 
result in more aggressive sweeping
share/runtime/globals.hpp
NodeCountInliningCutoffOpenJDK6intxc218000
range(0, max_jint)
develop
If parser node generation exceeds limit stop inlining
share/opto/c2_globals.hpp
NodeCountInliningStepOpenJDK6intxc21000
range(0, max_jint)
develop
Target size of warm calls inlined between optimization passes
share/opto/c2_globals.hpp
NodeLimitFudgeFactorOpenJDK6intxc22000product
Fudge Factor for certain optimizations
share/opto/c2_globals.hpp
NonNMethodCodeHeapSizeOpenJDK9intxaarch645*Mdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
NonNMethodCodeHeapSizeOpenJDK9size_tarm5*Mdefine_pd_global
cpu/arm/c1_globals_arm.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxruntimeproduct_pd
Size of code heap with non-nmethods (in bytes)
share/runtime/globals.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxppc5*Mdefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxs3905*Mdefine_pd_global
cpu/s390/c2_globals_s390.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxsparc5*Mdefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxx865*Mdefine_pd_global
cpu/x86/c1_globals_x86.hpp
NonProfiledCodeHeapSizeOpenJDK9intxaarch6413*Mdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
NonProfiledCodeHeapSizeOpenJDK9size_tarm13*Mdefine_pd_global
cpu/arm/c1_globals_arm.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxruntimeproduct_pd
Size of code heap with non-profiled methods (in bytes)
share/runtime/globals.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxppc125*Mdefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxs39021*Mdefine_pd_global
cpu/s390/c2_globals_s390.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxsparc13*Mdefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxx8613*Mdefine_pd_global
cpu/x86/c1_globals_x86.hpp
NotifySimulatorOpenJDK9boolaarch64UseBuiltinSimproduct
tell the AArch64 sim where we are in method code
cpu/aarch64/globals_aarch64.hpp
NumberOfLoopInstrToAlignOpenJDK6intxc24
range(0, max_jint)
product
Number of first instructions in a loop to align
share/opto/c2_globals.hpp
OSROnlyBCIOpenJDK6intxruntime-1develop
OSR only at this bci. Negative values mean exclude that bci
share/runtime/globals.hpp
ObjArrayMarkingStrideOpenJDK6uintxgc2048develop
Number of object array elements to push onto the marking stack 
before pushing a continuation entry
share/gc/shared/gc_globals.hpp
ObjectAlignmentInBytesOpenJDK6intxruntime8
range(8, 256)
lp64_product
Default object alignment in bytes, 8 is minimum
share/runtime/globals.hpp
ObjectCountCutOffPercentOpenJDK7doubleruntime0.5
range(0.0, 100.0)
experimental
The percentage of the used heap that the instances of a class 
must occupy for the class to generate a trace event
share/runtime/globals.hpp
OldPLABSizeOpenJDK6size_tgc1024product
Size of old gen promotion LAB's (in HeapWords), or Number 
of blocks to attempt to claim when refilling CMS LAB's
share/gc/shared/gc_globals.hpp
OldPLABWeightOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc50
range(0, 100)
product
Percentage (0-100) used to weight the current sample when 
computing exponentially decaying average for resizing 
OldPLABSize
share/gc/shared/gc_globals.hpp
OldSizeOpenJDK6size_tgcScaleForWordSize(4*M)
range(0, max_uintx)
product
Initial tenured generation size (in bytes)
share/gc/shared/gc_globals.hpp
OmitStackTraceInFastThrowOpenJDK6boolruntimetrueproduct
Omit backtraces for some 'hot' exceptions in optimized code
share/runtime/globals.hpp
OnErrorOpenJDK6ccstrlistruntime
product
Run user-defined commands on fatal error; see VMError.cpp 
for examples
share/runtime/globals.hpp
OnOutOfMemoryErrorOpenJDK6ccstrlistruntime
product
Run user-defined commands on first java.lang.OutOfMemoryError
share/runtime/globals.hpp
OnStackReplacePercentageOpenJDK6intxaarch64933define_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
OnStackReplacePercentageOpenJDK6intxarm140define_pd_global
cpu/arm/c2_globals_arm.hpp
OnStackReplacePercentageOpenJDK6intxruntimeproduct_pd
NON_TIERED number of method invocations/branches (expressed as 
% of CompileThreshold) before (re-)compiling OSR code
share/runtime/globals.hpp
OnStackReplacePercentageOpenJDK6intxppc1400define_pd_global
cpu/ppc/c1_globals_ppc.hpp
OnStackReplacePercentageOpenJDK6intxs390140define_pd_global
cpu/s390/c2_globals_s390.hpp
OnStackReplacePercentageOpenJDK6intxsparc1400define_pd_global
cpu/sparc/c1_globals_sparc.hpp
OnStackReplacePercentageOpenJDK6intxx86933define_pd_global
cpu/x86/c1_globals_x86.hpp
OptimizeExpensiveOpsOpenJDK7boolc2truediagnostic
Find best control for expensive operations
share/opto/c2_globals.hpp
OptimizeFillOpenJDK6boolc2true PPC64_ONLY(&& false)product
convert fill/copy loops into intrinsic
share/opto/c2_globals.hpp
OptimizeIfOpsOpenJDK6boolc1truedevelop
Optimize multiple IfOps
share/c1/c1_globals.hpp
OptimizePollingPageLocationOpenJDK7boolaixtrueproduct
Optimize the location of the polling page used for Safepoints
os/aix/globals_aix.hpp
OptimizePtrCompareOpenJDK6boolc2trueproduct
Use escape analysis to optimize pointers compare
share/opto/c2_globals.hpp
OptimizeSinglePrecisionOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
OptimizeSinglePrecisionOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c1_globals_arm.hpp
OptimizeSinglePrecisionOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
OptimizeSinglePrecisionOpenJDK6bools390falsedefine_pd_global
cpu/s390/c1_globals_s390.hpp
OptimizeSinglePrecisionOpenJDK6boolsparcfalsedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
OptimizeSinglePrecisionOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
OptimizeStringConcatOpenJDK6boolc2trueproduct
Optimize the construction of Strings by StringBuilder
share/opto/c2_globals.hpp
OptimizeUnsafesOpenJDK6boolc1truedevelop
Optimize raw unsafe ops
share/c1/c1_globals.hpp
OptoBlockListSizeOpenJDK6intxc28
range(0, max_jint)
develop
Starting allocation size of Block_List data structures
share/opto/c2_globals.hpp
OptoBreakpointC2ROpenJDK6boolc2falsenotproduct
insert breakpoint at runtime stub entry
share/opto/c2_globals.hpp
OptoBreakpointOSROpenJDK6boolc2falsenotproduct
insert breakpoint at osr method entry
share/opto/c2_globals.hpp
OptoBreakpointOpenJDK6boolc2falsedevelop
insert breakpoint at method entry
share/opto/c2_globals.hpp
OptoBundlingOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
OptoBundlingOpenJDK6boolc2product_pd
Generate nops to fill i-cache lines
share/opto/c2_globals.hpp
OptoBundlingOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
OptoBundlingOpenJDK6bools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
OptoBundlingOpenJDK6boolsparcfalsedefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
OptoBundlingOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c2_globals_x86.hpp
OptoCoalesceOpenJDK6boolc2truedevelop
Use Conservative Copy Coalescing in the Register Allocator
share/opto/c2_globals.hpp
OptoLoopAlignmentOpenJDK6intxaarch6416define_pd_global
cpu/aarch64/globals_aarch64.hpp
OptoLoopAlignmentOpenJDK6intxarm16define_pd_global
cpu/arm/globals_arm.hpp
OptoLoopAlignmentOpenJDK6intxruntimeproduct_pd
Align inner loops to zero relative to this modulus
share/runtime/globals.hpp
OptoLoopAlignmentOpenJDK6intxppc16define_pd_global
cpu/ppc/globals_ppc.hpp
OptoLoopAlignmentOpenJDK6intxs3902define_pd_global
cpu/s390/globals_s390.hpp
OptoLoopAlignmentOpenJDK6intxsparc16define_pd_global
// = 4*wordSize
cpu/sparc/globals_sparc.hpp
OptoLoopAlignmentOpenJDK6intxx8616define_pd_global
cpu/x86/globals_x86.hpp
OptoLoopAlignmentOpenJDK6intxzero16define_pd_global
cpu/zero/globals_zero.hpp
OptoNoExecuteOpenJDK6boolc2falsenotproduct
Attempt to parse and compile but do not execute generated code
share/opto/c2_globals.hpp
OptoNodeListSizeOpenJDK6intxc24
range(0, max_jint)
develop
Starting allocation size of Node_List data structures
share/opto/c2_globals.hpp
OptoPeepholeAtOpenJDK6intxc2-1develop
Apply peephole optimizations to this peephole rule
share/opto/c2_globals.hpp
OptoPeepholeOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
OptoPeepholeOpenJDK6boolc2develop_pd
Apply peephole optimizations after register allocation
share/opto/c2_globals.hpp
OptoPeepholeOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
OptoPeepholeOpenJDK6bools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
OptoPeepholeOpenJDK6boolsparcfalsedefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
OptoPeepholeOpenJDK6boolx86truedefine_pd_global
cpu/x86/c2_globals_x86.hpp
OptoPrologueNopsOpenJDK6intxc20
range(0, 128)
develop
Insert this many extra nop instructions 
in the prologue of every nmethod
share/opto/c2_globals.hpp
OptoRegSchedulingOpenJDK9boolaarch64falsedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
OptoRegSchedulingOpenJDK9boolc2product_pd
Instruction Scheduling before register allocation for pressure
share/opto/c2_globals.hpp
OptoRegSchedulingOpenJDK9boolppcfalsedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
OptoRegSchedulingOpenJDK9bools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
OptoRegSchedulingOpenJDK9boolsparcfalsedefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
OptoRegSchedulingOpenJDK9boolx86truedefine_pd_global
cpu/x86/c2_globals_x86.hpp
OptoRemoveUselessOpenJDK6boolc2truedevelop
Remove useless nodes after parsing
share/opto/c2_globals.hpp
OptoSchedulingOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
OptoSchedulingOpenJDK6boolc2product_pd
Instruction Scheduling after register allocation
share/opto/c2_globals.hpp
OptoSchedulingOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
OptoSchedulingOpenJDK6bools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
OptoSchedulingOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
OptoSchedulingOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c2_globals_x86.hpp
PLABWeightOpenJDK6uintxgc75
range(0, 100)
product
Percentage (0-100) used to weight the current sample when 
computing exponentially decaying average for ResizePLAB
share/gc/shared/gc_globals.hpp
PSAdaptiveSizePolicyResizeVirtualSpaceAlotOpenJDK6intxgc-1
range(-1, 1)
develop
Resize the virtual spaces of the young or old generations
share/gc/shared/gc_globals.hpp
PSChunkLargeArraysOpenJDK6boolgctrueproduct
Process large arrays in chunks
share/gc/parallel/parallel_globals.hpp
ParGCArrayScanChunkOpenJDK6intgc50
range(1, max_jint/3)
product
Scan a subset of object array and push remainder, if array is 
bigger than this
share/gc/shared/gc_globals.hpp
ParGCCardsPerStrideChunkOpenJDK6intxgc256
range(1, max_intx)
diagnostic
The number of cards in each chunk of the parallel chunks used 
during card table scanning
share/gc/cms/cms_globals.hpp
ParGCDesiredObjsFromOverflowListOpenJDK6Obsoleted in JDK14
Expired in JDK15
uintxgc20
range(0, max_uintx)
product
The desired number of objects to claim from the overflow list
share/gc/cms/cms_globals.hpp
ParGCStridesPerThreadOpenJDK6uintxgc2
range(1, max_uintx)
diagnostic
The number of strides per worker thread that we divide up the 
card table scanning work into
share/gc/cms/cms_globals.hpp
ParGCTrimOverflowOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Eagerly trim the local overflow lists 
(when ParGCUseLocalOverflow)
share/gc/cms/cms_globals.hpp
ParGCUseLocalOverflowOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
Instead of a global overflow list, use local overflow stacks
share/gc/cms/cms_globals.hpp
ParGCWorkQueueOverflowALotOpenJDK6boolgcfalsenotproduct
Simulate work queue overflow in ParNew
share/gc/cms/cms_globals.hpp
ParGCWorkQueueOverflowIntervalOpenJDK6uintxgc1000notproduct
An `interval' counter that determines how frequently 
we simulate overflow; a smaller number increases frequency
share/gc/cms/cms_globals.hpp
ParallelGCBufferWastePctOpenJDK6uintxgc10
range(0, 100)
product
Wasted fraction of parallel allocation buffer
share/gc/shared/gc_globals.hpp
ParallelGCThreadsOpenJDK6uintgc0product
Number of parallel threads parallel gc will use
share/gc/shared/gc_globals.hpp
ParallelOldDeadWoodLimiterMeanOpenJDK6size_tgc50
range(0, 100)
product
The mean used by the parallel compact dead wood 
limiter (a number between 0-100)
share/gc/parallel/parallel_globals.hpp
ParallelOldDeadWoodLimiterStdDevOpenJDK6size_tgc80
range(0, 100)
product
The standard deviation used by the parallel compact dead wood 
limiter (a number between 0-100)
share/gc/parallel/parallel_globals.hpp
ParallelRefProcBalancingEnabledOpenJDK6boolgctrueproduct
Enable balancing of reference processing queues
share/gc/shared/gc_globals.hpp
ParallelRefProcEnabledOpenJDK6boolgcfalseproduct
Enable parallel reference processing whenever possible
share/gc/shared/gc_globals.hpp
PartialPeelAtUnsignedTestsOpenJDK6boolc2trueproduct
Partial peel at unsigned tests if no signed test exists
share/opto/c2_globals.hpp
PartialPeelLoopOpenJDK6boolc2trueproduct
Partial peel (rotate) loops
share/opto/c2_globals.hpp
PartialPeelNewPhiDeltaOpenJDK6intxc20
range(0, max_jint)
product
Additional phis that can be created by partial peeling
share/opto/c2_globals.hpp
PatchALotOpenJDK6boolc1falsedevelop
Marks all fields as having unloaded classes
share/c1/c1_globals.hpp
PauseAtExitOpenJDK6boolruntimefalsediagnostic
Pause and wait for keypress on exit if a debugger is attached
share/runtime/globals.hpp
PauseAtStartupFileOpenJDK6ccstrruntimeNULLdiagnostic
The file to create and for whose removal to await when pausing 
at startup. (default: ./vm.paused.)
share/runtime/globals.hpp
PauseAtStartupOpenJDK6boolruntimefalsediagnostic
Causes the VM to pause at startup time and wait for the pause 
file to be removed (default: ./vm.paused.)
share/runtime/globals.hpp
PausePaddingOpenJDK6uintxgc1
range(0, max_juint)
product
How much buffer to keep for pause time
share/gc/shared/gc_globals.hpp
PerBytecodeRecompilationCutoffOpenJDK6intxruntime200
range(-1, max_intx)
product
Per-BCI limit on repeated recompilation (-1=>'Inf')
share/runtime/globals.hpp
PerBytecodeTrapLimitOpenJDK6intxruntime4
range(0, max_jint)
product
Limit on traps (of one kind) at a particular BCI
share/runtime/globals.hpp
PerMethodRecompilationCutoffOpenJDK6intxruntime400
range(-1, max_intx)
product
After recompiling N times, stay in the interpreter (-1=>'Inf')
share/runtime/globals.hpp
PerMethodSpecTrapLimitOpenJDK8intxruntime5000
range(0, max_jint)
experimental
Limit on speculative traps (of one kind) in a method 
(includes inlines)
share/runtime/globals.hpp
PerMethodTrapLimitOpenJDK6intxruntime100
range(0, max_jint)
product
Limit on traps (of one kind) in a method (includes inlines)
share/runtime/globals.hpp
PerfAllowAtExitRegistrationOpenJDK6boolruntimefalseproduct
Allow registration of atexit() methods
share/runtime/globals.hpp
PerfBypassFileSystemCheckOpenJDK6boolruntimefalseproduct
Bypass Win32 file system criteria checks (Windows Only)
share/runtime/globals.hpp
PerfDataMemorySizeOpenJDK6intxruntime32*K
range(128, 32*64*K)
product
Size of performance data memory region. Will be rounded 
up to a multiple of the native os page size.
share/runtime/globals.hpp
PerfDataSamplingIntervalOpenJDK6intxruntime50
range(PeriodicTask::min_interval, max_jint)
product
Data sampling interval (in milliseconds)
share/runtime/globals.hpp
PerfDataSaveFileOpenJDK6ccstrruntimeNULLproduct
Save PerfData memory to the specified absolute pathname. 
The string %p in the file name (if present) 
will be replaced by pid
share/runtime/globals.hpp
PerfDataSaveToFileOpenJDK6boolruntimefalseproduct
Save PerfData memory to hsperfdata_ file on exit
share/runtime/globals.hpp
PerfDisableSharedMemOpenJDK6boolruntimefalseproduct
Store performance data in standard memory
share/runtime/globals.hpp
PerfMaxStringConstLengthOpenJDK6intxruntime1024
range(32, 32*K)
product
Maximum PerfStringConstant string length before truncation
share/runtime/globals.hpp
PinAllInstructionsOpenJDK6boolc1falsedevelop
All instructions are pinned
share/c1/c1_globals.hpp
PoisonOSREntryOpenJDK6boolc2truedevelop
Detect abnormal calls to OSR code
share/opto/c2_globals.hpp
PostLoopMultiversioningOpenJDK9boolc2falseexperimental
Multi versioned post loops to eliminate range checks
share/opto/c2_globals.hpp
PowerArchitecturePPC64OpenJDK7uintxppc0product
CPU Version: x for PowerX. Currently recognizes Power5 to 
Power8. Default is 0. Newer CPUs will be recognized as Power8.
cpu/ppc/globals_ppc.hpp
PreTouchParallelChunkSizeOpenJDK9size_tgc1 * G
range(1, SIZE_MAX / 2)
product
Per-thread chunk size for parallel memory pre-touch.
share/gc/shared/gc_globals.hpp
PreallocatedOutOfMemoryErrorCountOpenJDK6uintxruntime4develop
Number of OutOfMemoryErrors preallocated with backtrace
share/runtime/globals.hpp
PreferContainerQuotaForCPUCountOpenJDK11Deprecated 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.
os/linux/globals_linux.hpp
PreferInterpreterNativeStubsOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
PreferInterpreterNativeStubsOpenJDK6boolarmfalsedefine_pd_global
cpu/arm/c2_globals_arm.hpp
PreferInterpreterNativeStubsOpenJDK6boolruntimeproduct_pd
Use always interpreter stubs for native methods invoked via 
interpreter
share/runtime/globals.hpp
PreferInterpreterNativeStubsOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
PreferInterpreterNativeStubsOpenJDK6bools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
PreferInterpreterNativeStubsOpenJDK6boolsparcfalsedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
PreferInterpreterNativeStubsOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
PreferLAoverADDOpenJDK9bools390falseproduct
Use LA/LAY instructions over ADD instructions (z/Architecture).
cpu/s390/globals_s390.hpp
PrefetchCopyIntervalInBytesOpenJDK6intxgc-1
range(-1, max_jint)
product
How far ahead to prefetch destination area (<= 0 means off)
share/gc/shared/gc_globals.hpp
PrefetchFieldsAheadOpenJDK6Obsoleted in JDK19
Expired in JDK20
intxgc-1
range(-1, max_jint)
product
How many fields ahead to prefetch in oop scan (<= 0 means off)
share/gc/shared/gc_globals.hpp
PrefetchScanIntervalInBytesOpenJDK6intxgc-1
range(-1, max_jint)
product
How far ahead to prefetch scan area (<= 0 means off)
share/gc/shared/gc_globals.hpp
PreserveAllAnnotationsOpenJDK6boolruntimefalseproduct
Preserve RuntimeInvisibleAnnotations as well 
as RuntimeVisibleAnnotations
share/runtime/globals.hpp
PreserveFramePointerOpenJDK8boolaarch64falsedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
PreserveFramePointerOpenJDK8boolarmfalsedefine_pd_global
cpu/arm/globals_arm.hpp
PreserveFramePointerOpenJDK8boolruntimeproduct_pd
Use the FP register for holding the frame pointer 
and not as a general purpose register.
share/runtime/globals.hpp
PreserveFramePointerOpenJDK8boolppcfalsedefine_pd_global
cpu/ppc/globals_ppc.hpp
PreserveFramePointerOpenJDK8bools390falsedefine_pd_global
cpu/s390/globals_s390.hpp
PreserveFramePointerOpenJDK8boolsparcfalsedefine_pd_global
cpu/sparc/globals_sparc.hpp
PreserveFramePointerOpenJDK8boolx86falsedefine_pd_global
cpu/x86/globals_x86.hpp
PreserveFramePointerOpenJDK8boolzerofalsedefine_pd_global
cpu/zero/globals_zero.hpp
PretenureSizeThresholdOpenJDK6size_tgc0
range(0, max_uintx)
product
Maximum size in bytes of objects allocated in DefNew 
generation; zero means no maximum
share/gc/shared/gc_globals.hpp
PrintAOTStatisticsOpenJDK9boolruntimefalsenotproduct
Print AOT statistics
share/runtime/globals.hpp
PrintAOTOpenJDK9boolruntimefalseproduct
Print used AOT klasses and methods
share/runtime/globals.hpp
PrintAdapterHandlersOpenJDK6boolruntimefalsediagnostic
Print code generated for i2c/c2i adapters
share/runtime/globals.hpp
PrintAssemblyOptionsOpenJDK6ccstrruntimeNULLdiagnostic
Print options string passed to disassembler.so
share/runtime/globals.hpp
PrintAssemblyOpenJDK6boolruntimefalsediagnostic
Print assembly code (using external disassembler.so)
share/runtime/globals.hpp
PrintBailoutsOpenJDK6boolc1falsedevelop
Print bailout and its reason
share/c1/c1_globals.hpp
PrintBiasedLockingStatisticsOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolruntimefalsediagnostic
Print statistics of biased locking in JVM
share/runtime/globals.hpp
PrintBlockEliminationOpenJDK6boolc1falsedevelop
Print basic block elimination
share/c1/c1_globals.hpp
PrintBootstrapOpenJDK9booljvmcitrueexperimental
Print JVMCI bootstrap progress and summary
share/jvmci/jvmci_globals.hpp
PrintBytecodeHistogramOpenJDK6boolruntimefalsedevelop
Print histogram of the executed bytecodes
share/runtime/globals.hpp
PrintBytecodePairHistogramOpenJDK6boolruntimefalsedevelop
Print histogram of the executed bytecode pairs
share/runtime/globals.hpp
PrintC1StatisticsOpenJDK6boolc1falsenotproduct
Print Compiler1 statistics
share/c1/c1_globals.hpp
PrintCEEOpenJDK6boolc1falsedevelop
Print Conditional Expression Elimination
share/c1/c1_globals.hpp
PrintCFG0OpenJDK6boolc1falsenotproduct
Print control flow graph after construction
share/c1/c1_globals.hpp
PrintCFG1OpenJDK6boolc1falsenotproduct
Print control flow graph after optimizations
share/c1/c1_globals.hpp
PrintCFG2OpenJDK6boolc1falsenotproduct
Print control flow graph before code generation
share/c1/c1_globals.hpp
PrintCFGBlockFreqOpenJDK6boolc2falsedevelop
Print CFG block freqencies
share/opto/c2_globals.hpp
PrintCFGToFileOpenJDK6boolc1falsedevelop
print control flow graph to a separate file during compilation
share/c1/c1_globals.hpp
PrintCFGOpenJDK6boolc1falsenotproduct
Print control flow graph after each change
share/c1/c1_globals.hpp
PrintCanonicalizationOpenJDK6boolc1falsedevelop
Print graph node canonicalization
share/c1/c1_globals.hpp
PrintClassHistogramOpenJDK6boolruntimefalsemanageable
Print a histogram of class instances
share/runtime/globals.hpp
PrintCodeCache2OpenJDK6boolruntimefalsedevelop
Print detailed usage information on the code cache when exiting
share/runtime/globals.hpp
PrintCodeCacheExtensionOpenJDK6boolruntimefalsedevelop
Print extension of code cache
share/runtime/globals.hpp
PrintCodeCacheOnCompilationOpenJDK8boolruntimefalseproduct
Print the code cache memory usage each time a method is 
compiled
share/runtime/globals.hpp
PrintCodeCacheOpenJDK6boolruntimefalseproduct
Print the code cache memory usage when exiting
share/runtime/globals.hpp
PrintCodeHeapAnalyticsOpenJDK12boolruntimefalsediagnostic
Print code heap usage statistics on exit and on full condition
share/runtime/globals.hpp
PrintCommandLineFlagsOpenJDK6boolruntimefalseproduct
Print flags specified on command line or set by ergonomics
share/runtime/globals.hpp
PrintCompilation2OpenJDK6boolruntimefalsediagnostic
Print additional statistics per compilation
share/runtime/globals.hpp
PrintCompilationOpenJDK6boolruntimefalseproduct
Print compilations
share/runtime/globals.hpp
PrintConcurrentLocksOpenJDK6boolruntimefalsemanageable
Print java.util.concurrent locks in thread dump
share/runtime/globals.hpp
PrintDebugInfoOpenJDK6boolruntimefalsedevelop
Print debug information for all nmethods when generated
share/runtime/globals.hpp
PrintDeoptimizationDetailsOpenJDK9boolruntimefalsedevelop
Print more information about deoptimization
share/runtime/globals.hpp
PrintDependenciesOpenJDK6boolruntimefalsedevelop
Print dependency information for all nmethods when generated
share/runtime/globals.hpp
PrintDominatorsOpenJDK6boolc2falsedevelop
Print out dominator trees for GVN
share/opto/c2_globals.hpp
PrintEliminateAllocationsOpenJDK6boolc2falsenotproduct
Print out when allocations are eliminated
share/opto/c2_globals.hpp
PrintEliminateLocksOpenJDK6boolc2falsenotproduct
Print out when locks are eliminated
share/opto/c2_globals.hpp
PrintEscapeAnalysisOpenJDK6boolc2falsenotproduct
Print the results of escape analysis
share/opto/c2_globals.hpp
PrintExceptionHandlersOpenJDK6boolruntimefalsedevelop
Print exception handler tables for all nmethods when generated
share/runtime/globals.hpp
PrintExtendedThreadInfoOpenJDK11boolruntimefalseproduct
Print more information in thread dump
share/runtime/globals.hpp
PrintFieldLayoutOpenJDK8boolruntimefalsenotproduct
Print field layout for each class
share/runtime/globals.hpp
PrintFlagsFinalOpenJDK6boolruntimefalseproduct
Print all VM flags after argument and ergonomic processing
share/runtime/globals.hpp
PrintFlagsInitialOpenJDK6boolruntimefalseproduct
Print all VM flags before argument processing and exit VM
share/runtime/globals.hpp
PrintFlagsRangesOpenJDK9boolruntimefalseproduct
Print VM flags and their ranges and exit VM
share/runtime/globals.hpp
PrintFlagsWithCommentsOpenJDK6boolruntimefalsenotproduct
Print all VM flags with default values and descriptions and 
exit
share/runtime/globals.hpp
PrintFrameConverterAssemblyOpenJDK6boolc2falsenotproduct
Print New compiler assembly output for frame converters
share/opto/c2_globals.hpp
PrintGCDetailsOpenJDK6boolgcfalseproduct
Print more details at garbage collection. 
Deprecated, use -Xlog:gc* instead.
share/gc/shared/gc_globals.hpp
PrintGCOpenJDK6boolgcfalseproduct
Print message at garbage collection. 
Deprecated, use -Xlog:gc instead.
share/gc/shared/gc_globals.hpp
PrintHeapAtSIGBREAKOpenJDK6boolruntimetrueproduct
Print heap layout in response to SIGBREAK
share/runtime/globals.hpp
PrintIR0OpenJDK6boolc1falsenotproduct
Print full intermediate representation after construction
share/c1/c1_globals.hpp
PrintIR1OpenJDK6boolc1falsenotproduct
Print full intermediate representation after optimizations
share/c1/c1_globals.hpp
PrintIR2OpenJDK6boolc1falsenotproduct
Print full intermediate representation before code generation
share/c1/c1_globals.hpp
PrintIRDuringConstructionOpenJDK6boolc1falsenotproduct
Print IR as it's being constructed (helpful for debugging frontend)
share/c1/c1_globals.hpp
PrintIRWithLIROpenJDK6boolc1falsenotproduct
Print IR instructions with generated LIR
share/c1/c1_globals.hpp
PrintIROpenJDK6boolc1falsenotproduct
Print full intermediate representation after each change
share/c1/c1_globals.hpp
PrintIdealGraphAddressOpenJDK6ccstrc2127.0.0.1notproduct
IP address to connect to visualizer
share/opto/c2_globals.hpp
PrintIdealGraphFileOpenJDK6ccstrc2NULLnotproduct
File to dump ideal graph to. If set overrides the 
use of the network
share/opto/c2_globals.hpp
PrintIdealGraphLevelOpenJDK6intxc20
range(0, 4)
notproduct
Level of detail of the ideal graph printout. 
System-wide value, 0=nothing is printed, 4=all details printed. 
Level of detail of printouts can be set on a per-method level 
as well by using CompileCommand=option.
share/opto/c2_globals.hpp
PrintIdealGraphPortOpenJDK6intxc24444
range(0, SHRT_MAX)
notproduct
Ideal graph printer to network port
share/opto/c2_globals.hpp
PrintIdealGraphOpenJDK9boolc2falsenotproduct
Print ideal graph to XML file / network interface. 
By default attempts to connect to the visualizer on a socket.
share/opto/c2_globals.hpp
PrintIdealNodeCountOpenJDK7boolc2falsenotproduct
Print liveness counts of ideal nodes
share/opto/c2_globals.hpp
PrintIdealOpenJDK6boolc2falsenotproduct
Print ideal graph before code generation
share/opto/c2_globals.hpp
PrintInitialBlockListOpenJDK6boolc1falsenotproduct
Print block list of BlockListBuilder
share/c1/c1_globals.hpp
PrintInliningOpenJDK6boolruntimefalsediagnostic
Print inlining optimizations
share/runtime/globals.hpp
PrintInterpreterOpenJDK6boolruntimefalsediagnostic
Print the generated interpreter code
share/runtime/globals.hpp
PrintIntrinsicsOpenJDK6boolc2falsediagnostic
prints attempted and successful inlining of intrinsics
share/opto/c2_globals.hpp
PrintJNIResolvingOpenJDK6Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Used to implement -v:jni
share/runtime/globals.hpp
PrintLIRWithAssemblyOpenJDK6boolc1falsenotproduct
Show LIR instruction with generated assembly
share/c1/c1_globals.hpp
PrintLIROpenJDK6boolc1falsedevelop
print low-level IR
share/c1/c1_globals.hpp
PrintLockStatisticsOpenJDK6boolc2falsenotproduct
Print precise statistics on the dynamic lock usage
share/opto/c2_globals.hpp
PrintMallocStatisticsOpenJDK6boolruntimefalsedevelop
Print malloc/free statistics
share/runtime/globals.hpp
PrintMethodDataOpenJDK6boolruntimefalsediagnostic
Print the results of +ProfileInterpreter at end of run
share/runtime/globals.hpp
PrintMethodFlushingStatisticsOpenJDK8boolruntimefalsediagnostic
print statistics about method flushing
share/runtime/globals.hpp
PrintMethodFlushingOpenJDK6boolruntimefalsedevelop
Print the nmethods being flushed
share/runtime/globals.hpp
PrintMethodHandleStubsOpenJDK6boolruntimefalsediagnostic
Print generated stub code for method handles
share/runtime/globals.hpp
PrintMiscellaneousOpenJDK6boolruntimefalsedevelop
Print uncategorized debugging information (requires +Verbose)
share/runtime/globals.hpp
PrintNMTStatisticsOpenJDK7boolruntimefalsediagnostic
Print native memory tracking summary data if it is on
share/runtime/globals.hpp
PrintNMethodStatisticsOpenJDK9boolruntimefalsenotproduct
Print a summary statistic for the generated nmethods
share/runtime/globals.hpp
PrintNMethodsOpenJDK6boolruntimefalsediagnostic
Print assembly code for nmethods when generated
share/runtime/globals.hpp
PrintNativeNMethodsOpenJDK6boolruntimefalsediagnostic
Print assembly code for native nmethods when generated
share/runtime/globals.hpp
PrintNotLoadedOpenJDK6boolc1falsedevelop
Prints where classes are not loaded during code generation
share/c1/c1_globals.hpp
PrintNullCheckEliminationOpenJDK6boolc1falsedevelop
Print null check elimination
share/c1/c1_globals.hpp
PrintOptimizePtrCompareOpenJDK6boolc2falsenotproduct
Print information about optimized pointers compare
share/opto/c2_globals.hpp
PrintOptimizeStringConcatOpenJDK6boolc2falsenotproduct
Print information about transformations performed on Strings
share/opto/c2_globals.hpp
PrintOptoAssemblyOpenJDK6boolc2falsediagnostic
Print New compiler assembly output
share/opto/c2_globals.hpp
PrintOptoInliningOpenJDK6boolc2falsenotproduct
Print compiler2 inlining decisions
share/opto/c2_globals.hpp
PrintOptoPeepholeOpenJDK6boolc2falsenotproduct
Print New compiler peephole replacements
share/opto/c2_globals.hpp
PrintOptoStatisticsOpenJDK6boolc2falsenotproduct
Print New compiler statistics
share/opto/c2_globals.hpp
PrintOptoOpenJDK6boolc2falsenotproduct
Print compiler2 attempts
share/opto/c2_globals.hpp
PrintParseStatisticsOpenJDK6boolc2falsenotproduct
Print nodes, transforms and new values made per bytecode parsed
share/opto/c2_globals.hpp
PrintPhiFunctionsOpenJDK6boolc1falsenotproduct
Print phi functions when they are created and simplified
share/c1/c1_globals.hpp
PrintPreciseBiasedLockingStatisticsOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolc2falsediagnostic
Print per-lock-site statistics of biased locking in JVM
share/opto/c2_globals.hpp
PrintPreciseRTMLockingStatisticsOpenJDK8boolc2falsediagnostic
Print per-lock-site statistics of rtm locking in JVM
share/opto/c2_globals.hpp
PrintRelocationsOpenJDK6boolruntimefalsedevelop
Print relocation information for all nmethods when generated
share/runtime/globals.hpp
PrintRewritesOpenJDK6boolruntimefalsenotproduct
Print methods that are being rewritten
share/runtime/globals.hpp
PrintSharedArchiveAndExitOpenJDK8boolruntimefalseproduct
Print shared archive file contents
share/runtime/globals.hpp
PrintSharedDictionaryOpenJDK8Obsoleted in JDK20
Expired in JDK21
boolruntimefalseproduct
If PrintSharedArchiveAndExit is true, also print the shared 
dictionary
share/runtime/globals.hpp
PrintSignatureHandlersOpenJDK6boolruntimefalsediagnostic
Print code generated for native method signature handlers
share/runtime/globals.hpp
PrintSimpleStubsOpenJDK6boolc1falsenotproduct
Print SimpleStubs
share/c1/c1_globals.hpp
PrintStringTableStatisticsOpenJDK6boolruntimefalseproduct
print statistics about the StringTable and SymbolTable
share/runtime/globals.hpp
PrintStubCodeOpenJDK6boolruntimefalsediagnostic
Print generated stub code
share/runtime/globals.hpp
PrintSymbolTableSizeHistogramOpenJDK6boolruntimefalsenotproduct
print histogram of the symbol table
share/runtime/globals.hpp
PrintSystemDictionaryAtExitOpenJDK6boolruntimefalsenotproduct
Print the system dictionary at exit
share/runtime/globals.hpp
PrintTieredEventsOpenJDK6boolruntimefalseproduct
Print tiered events notifications
share/runtime/globals.hpp
PrintTouchedMethodsAtExitOpenJDK9boolruntimefalsediagnostic
Print all methods that have been ever touched in runtime
share/runtime/globals.hpp
PrintUnsafeOptimizationOpenJDK6boolc1falsedevelop
Print optimization of raw unsafe ops
share/c1/c1_globals.hpp
PrintVMMessagesOpenJDK6boolruntimetruedevelop
Print VM messages on console
share/runtime/globals.hpp
PrintVMOptionsOpenJDK6boolruntimefalseproduct
Print flags that appeared on the command line
share/runtime/globals.hpp
PrintVMQWaitTimeOpenJDK6Deprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Print out the waiting time in VM operation queue
share/runtime/globals.hpp
PrintValueNumberingOpenJDK6boolc1falsedevelop
Print Value Numbering
share/c1/c1_globals.hpp
PrintVtableStatsOpenJDK6boolruntimefalsenotproduct
print vtables stats at end of run
share/runtime/globals.hpp
PrintWarningsOpenJDK6boolruntimetrueproduct
Print JVM warnings to output stream
share/runtime/globals.hpp
ProcessDistributionStrideOpenJDK6Obsoleted in JDK23
Expired in JDK24
uintxruntime4
range(0, max_juint)
product
Stride through processors when distributing processes
share/runtime/globals.hpp
ProfileDynamicTypesOpenJDK6boolc2truediagnostic
do extra type profiling and use it more aggressively
share/opto/c2_globals.hpp
ProfileInterpreterOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
ProfileInterpreterOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
ProfileInterpreterOpenJDK6boolruntimeproduct_pd
Profile at the bytecode level during interpretation
share/runtime/globals.hpp
ProfileInterpreterOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
ProfileInterpreterOpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
ProfileInterpreterOpenJDK6boolsparcfalsedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
ProfileInterpreterOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
ProfileIntervalsTicksOpenJDK6Obsoleted in JDK13
Expired in JDK14
intxruntime100
range(0, max_intx)
product
Number of ticks between printing of interval profile 
(+ProfileIntervals)
share/runtime/globals.hpp
ProfileIntervalsOpenJDK6Obsoleted in JDK13
Expired in JDK14
boolruntimefalseproduct
Print profiles for each interval (see ProfileIntervalsTicks)
share/runtime/globals.hpp
ProfileMaturityPercentageOpenJDK6intxruntime20
range(0, 100)
product
number of method invocations/branches (expressed as % of 
CompileThreshold) before using the method's profile
share/runtime/globals.hpp
ProfileTrapsOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
ProfileTrapsOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
ProfileTrapsOpenJDK6boolruntimedevelop_pd
Profile deoptimization traps at the bytecode level
share/runtime/globals.hpp
ProfileTrapsOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
ProfileTrapsOpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
ProfileTrapsOpenJDK6boolsparcfalsedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
ProfileTrapsOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
ProfileVMOpenJDK6Obsoleted in JDK13
Expired in JDK14
boolruntimefalseproduct
Profile ticks that fall within VM (either in the VM Thread 
or VM code called through stubs)
share/runtime/globals.hpp
ProfiledCodeHeapSizeOpenJDK9intxaarch6414*Mdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
ProfiledCodeHeapSizeOpenJDK9size_tarm14*Mdefine_pd_global
cpu/arm/c1_globals_arm.hpp
ProfiledCodeHeapSizeOpenJDK9uintxruntimeproduct_pd
Size of code heap with profiled methods (in bytes)
share/runtime/globals.hpp
ProfiledCodeHeapSizeOpenJDK9uintxppc126*Mdefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
ProfiledCodeHeapSizeOpenJDK9uintxs39022*Mdefine_pd_global
cpu/s390/c2_globals_s390.hpp
ProfiledCodeHeapSizeOpenJDK9uintxsparc14*Mdefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
ProfiledCodeHeapSizeOpenJDK9uintxx8614*Mdefine_pd_global
cpu/x86/c1_globals_x86.hpp
ProfilerCheckIntervalsOpenJDK6Obsoleted in JDK13
Expired in JDK14
boolruntimefalsenotproduct
Collect and print information on spacing of profiler ticks
share/runtime/globals.hpp
ProfilerNodeSizeOpenJDK6intxruntime1024
range(0, 1024)
develop
Size in K to allocate for the Profile Nodes of each thread
share/runtime/globals.hpp
ProfilerNumberOfCompiledMethodsOpenJDK6Obsoleted in JDK13
Expired in JDK14
intxruntime25diagnostic
Number of compiled methods to show in profile
share/runtime/globals.hpp
ProfilerNumberOfInterpretedMethodsOpenJDK6Obsoleted in JDK13
Expired in JDK14
intxruntime25diagnostic
Number of interpreted methods to show in profile
share/runtime/globals.hpp
ProfilerNumberOfRuntimeStubNodesOpenJDK6Obsoleted in JDK13
Expired in JDK14
intxruntime25diagnostic
Number of runtime stub nodes to show in profile
share/runtime/globals.hpp
ProfilerNumberOfStubMethodsOpenJDK6Obsoleted in JDK13
Expired in JDK14
intxruntime25diagnostic
Number of stub methods to show in profile
share/runtime/globals.hpp
ProfilerPCTickThresholdOpenJDK6intxruntime15develop
Number of ticks in a PC buckets to be a hotspot
share/runtime/globals.hpp
ProfilerPrintByteCodeStatisticsOpenJDK6Obsoleted in JDK13
Expired in JDK14
boolruntimefalseproduct
Print bytecode statistics when dumping profiler output
share/runtime/globals.hpp
ProfilerRecordPCOpenJDK6Obsoleted in JDK13
Expired in JDK14
boolruntimefalseproduct
Collect ticks for each 16 byte interval of compiled code
share/runtime/globals.hpp
PromotedPaddingOpenJDK6uintxgc3
range(0, max_juint)
product
How much buffer to keep for promotion failure
share/gc/shared/gc_globals.hpp
PromotionFailureALotCountOpenJDK6uintxgc1000develop
Number of promotion failures occurring at PLAB 
refill attempts (ParNew) or promotion attempts 
(other young collectors)
share/gc/shared/gc_globals.hpp
PromotionFailureALotIntervalOpenJDK6uintxgc5develop
Total collections between promotion failures a lot
share/gc/shared/gc_globals.hpp
PromotionFailureALotOpenJDK6boolgcfalsenotproduct
Use promotion failure handling on every youngest generation 
collection
share/gc/shared/gc_globals.hpp
ProtectionDomainVerificationOpenJDK6boolruntimetruedevelop
Verify protection domain before resolution in system dictionary
share/runtime/globals.hpp
QueuedAllocationWarningCountOpenJDK6uintxgc0
range(0, max_uintx)
product
Number of times an allocation that queues behind a GC 
will retry before printing a warning
share/gc/shared/gc_globals.hpp
RTMAbortRatioOpenJDK8intppc50
range(0, 100) /* natural range */
experimental
Lock abort ratio at which to stop use RTM lock eliding
cpu/ppc/globals_ppc.hpp
RTMAbortRatioOpenJDK8intx8650
range(0, 100) /* natural range */
experimental
Lock abort ratio at which to stop use RTM lock eliding
cpu/x86/globals_x86.hpp
RTMAbortThresholdOpenJDK8intppc1000
range(0, max_jint)
experimental
Calculate abort ratio after this number of aborts
cpu/ppc/globals_ppc.hpp
RTMAbortThresholdOpenJDK8intx861000
range(0, max_jint)
experimental
Calculate abort ratio after this number of aborts
cpu/x86/globals_x86.hpp
RTMLockingCalculationDelayOpenJDK8intxppc0experimental
Number of milliseconds to wait before start calculating aborts 
for RTM locking
cpu/ppc/globals_ppc.hpp
RTMLockingCalculationDelayOpenJDK8intxx860experimental
Number of milliseconds to wait before start calculating aborts 
for RTM locking
cpu/x86/globals_x86.hpp
RTMLockingThresholdOpenJDK8intppc10000
range(0, max_jint)
experimental
Lock count at which to do RTM lock eliding without 
abort ratio calculation
cpu/ppc/globals_ppc.hpp
RTMLockingThresholdOpenJDK8intx8610000
range(0, max_jint)
experimental
Lock count at which to do RTM lock eliding without 
abort ratio calculation
cpu/x86/globals_x86.hpp
RTMRetryCountOpenJDK8intppc5
range(0, max_jint)
product
Number of RTM retries on lock abort or busy
cpu/ppc/globals_ppc.hpp
RTMRetryCountOpenJDK8intx865
range(0, max_jint)
product
Number of RTM retries on lock abort or busy
cpu/x86/globals_x86.hpp
RTMSpinLoopCountOpenJDK8intppc100
range(0, 32767) /* immediate operand limit on ppc */
experimental
Spin count for lock to become free before RTM retry
cpu/ppc/globals_ppc.hpp
RTMSpinLoopCountOpenJDK8intx86100
range(0, max_jint)
experimental
Spin count for lock to become free before RTM retry
cpu/x86/globals_x86.hpp
RTMTotalCountIncrRateOpenJDK8intppc64
range(1, 32767) /* immediate operand limit on ppc */
experimental
Increment total RTM attempted lock count once every n times
cpu/ppc/globals_ppc.hpp
RTMTotalCountIncrRateOpenJDK8intx8664
range(1, max_jint)
experimental
Increment total RTM attempted lock count once every n times
cpu/x86/globals_x86.hpp
RangeCheckEliminationOpenJDK6boolruntimetrueproduct
Eliminate range checks
share/runtime/globals.hpp
ReassociateInvariantsOpenJDK6boolc2trueproduct
Enable reassociation of expressions with loop invariants.
share/opto/c2_globals.hpp
ReduceBulkZeroingOpenJDK6boolc2trueproduct
When bulk-initializing, try to avoid needless zeroing
share/opto/c2_globals.hpp
ReduceFieldZeroingOpenJDK6boolc2trueproduct
When initializing fields, try to avoid needless zeroing
share/opto/c2_globals.hpp
ReduceInitialCardMarksOpenJDK6boolc2trueproduct
When initializing fields, try to avoid needless card marks
share/opto/c2_globals.hpp
ReduceNumberOfCompilerThreadsOpenJDK11boolruntimetruediagnostic
Reduce the number of parallel compiler threads when they 
are not used
share/runtime/globals.hpp
ReduceSignalUsageOpenJDK6boolruntimefalseproduct
Reduce the use of OS signals in Java and/or the VM
share/runtime/globals.hpp
RefDiscoveryPolicyOpenJDK6Obsoleted in JDK21
Expired in JDK24
intxgc0
range(ReferenceProcessor::DiscoveryPolicyMin,
product
Select type of reference discovery policy: 
reference-based(0) or referent-based(1)
share/gc/shared/gc_globals.hpp
ReferencesPerThreadOpenJDK11size_tgc1000experimental
Ergonomically start one thread for this amount of 
references for reference processing if 
ParallelRefProcEnabled is true. Specify 0 to disable and 
use all threads.
share/gc/shared/gc_globals.hpp
RegisterCostAreaRatioOpenJDK6intxaarch6416000define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
RegisterCostAreaRatioOpenJDK6intxc2develop_pd
Spill selection in reg allocator: scale area by (X/64K) before 
adding cost
share/opto/c2_globals.hpp
RegisterCostAreaRatioOpenJDK6intxppc16000define_pd_global
cpu/ppc/c2_globals_ppc.hpp
RegisterCostAreaRatioOpenJDK6intxs39012000define_pd_global
cpu/s390/c2_globals_s390.hpp
RegisterCostAreaRatioOpenJDK6intxsparc12000define_pd_global
cpu/sparc/c2_globals_sparc.hpp
RegisterCostAreaRatioOpenJDK6intxx8616000define_pd_global
cpu/x86/c2_globals_x86.hpp
RegisterFinalizersAtInitOpenJDK6Deprecated in JDK22
Obsoleted in JDK23
Expired in JDK24
boolruntimetrueproduct
Register finalizable objects at end of Object. or 
after allocation
share/runtime/globals.hpp
RegisterReferencesOpenJDK6boolruntimetruedevelop
Tell whether the VM should register soft/weak/final/phantom 
references
share/runtime/globals.hpp
RelaxAccessControlCheckOpenJDK6boolruntimefalseproduct
Relax the access control checks in the verifier
share/runtime/globals.hpp
RenumberLiveNodesOpenJDK8boolc2truedevelop
Renumber live nodes
share/opto/c2_globals.hpp
ReoptimizeCallSequencesOpenJDK7boolppctrueproduct
Reoptimize code-sequences of calls at runtime.
cpu/ppc/globals_ppc.hpp
ReoptimizeCallSequencesOpenJDK7bools390trueproduct
Reoptimize code-sequences of calls at runtime.
cpu/s390/globals_s390.hpp
ReplayCompilesOpenJDK8boolruntimefalsedevelop
Enable replay of compilations from ReplayDataFile
share/runtime/globals.hpp
ReplayDataFileOpenJDK8ccstrruntimeNULLproduct
File containing compilation replay information
[default: ./replay_pid%p.log] (%p replaced with pid)
share/runtime/globals.hpp
ReplayIgnoreInitErrorsOpenJDK8boolruntimefalsedevelop
Ignore exceptions thrown during initialization for replay
share/runtime/globals.hpp
ReplaySuppressInitializersOpenJDK8intxruntime2
range(0, 3)
develop
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
share/runtime/globals.hpp
RequireSharedSpacesOpenJDK6Deprecated in JDK18
Obsoleted in JDK19
boolruntimefalseproduct
Require shared spaces for metadata
share/runtime/globals.hpp
ReservedCodeCacheSizeOpenJDK6intxaarch6432*Mdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
ReservedCodeCacheSizeOpenJDK6size_tarm32*Mdefine_pd_global
cpu/arm/c1_globals_arm.hpp
ReservedCodeCacheSizeOpenJDK6uintxruntimeproduct_pd
Reserved code cache size (in bytes) - maximum code cache size
share/runtime/globals.hpp
ReservedCodeCacheSizeOpenJDK6uintxppc32*Mdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
ReservedCodeCacheSizeOpenJDK6uintxs39048*Mdefine_pd_global
cpu/s390/c2_globals_s390.hpp
ReservedCodeCacheSizeOpenJDK6uintxsparc32*Mdefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
ReservedCodeCacheSizeOpenJDK6uintxx8632*Mdefine_pd_global
cpu/x86/c1_globals_x86.hpp
ResizeOldPLABOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Dynamically resize (old gen) promotion LAB's
share/gc/shared/gc_globals.hpp
ResizePLABOpenJDK6boolgctrueproduct
Dynamically resize (survivor space) promotion LAB's
share/gc/shared/gc_globals.hpp
ResizeTLABOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
ResizeTLABOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c1_globals_arm.hpp
ResizeTLABOpenJDK6boolgcproduct_pd
Dynamically resize TLAB size for threads
share/gc/shared/gc_globals.hpp
ResizeTLABOpenJDK6boolruntimefalsedefine_pd_global
share/runtime/globals.hpp
ResizeTLABOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
ResizeTLABOpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
ResizeTLABOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
ResizeTLABOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
RestoreMXCSROnJNICallsOpenJDK6boolruntimefalseproduct
Restore MXCSR when returning from JNI calls
share/runtime/globals.hpp
RestrictContendedOpenJDK8boolruntimetrueproduct
Restrict @Contended to trusted classes
share/runtime/globals.hpp
RestrictReservedStackOpenJDK9boolruntimetrueproduct
Restrict @ReservedStackAccess to trusted classes
share/runtime/globals.hpp
RewriteBytecodesOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
RewriteBytecodesOpenJDK6boolarmtruedefine_pd_global
cpu/arm/globals_arm.hpp
RewriteBytecodesOpenJDK6boolruntimeproduct_pd
Allow rewriting of bytecodes (bytecodes are not immutable)
share/runtime/globals.hpp
RewriteBytecodesOpenJDK6boolppctruedefine_pd_global
cpu/ppc/globals_ppc.hpp
RewriteBytecodesOpenJDK6bools390truedefine_pd_global
cpu/s390/globals_s390.hpp
RewriteBytecodesOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/globals_sparc.hpp
RewriteBytecodesOpenJDK6boolx86truedefine_pd_global
cpu/x86/globals_x86.hpp
RewriteBytecodesOpenJDK6boolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
RewriteFrequentPairsOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
RewriteFrequentPairsOpenJDK6boolarmtruedefine_pd_global
cpu/arm/globals_arm.hpp
RewriteFrequentPairsOpenJDK6boolruntimeproduct_pd
Rewrite frequently used bytecode pairs into a single bytecode
share/runtime/globals.hpp
RewriteFrequentPairsOpenJDK6boolppctruedefine_pd_global
cpu/ppc/globals_ppc.hpp
RewriteFrequentPairsOpenJDK6bools390truedefine_pd_global
cpu/s390/globals_s390.hpp
RewriteFrequentPairsOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/globals_sparc.hpp
RewriteFrequentPairsOpenJDK6boolx86truedefine_pd_global
cpu/x86/globals_x86.hpp
RewriteFrequentPairsOpenJDK6boolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
RoundFPResultsOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
RoundFPResultsOpenJDK6boolarmfalsedefine_pd_global
cpu/arm/c1_globals_arm.hpp
RoundFPResultsOpenJDK6boolc1develop_pd
Indicates whether rounding is needed for floating point results
share/c1/c1_globals.hpp
RoundFPResultsOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
RoundFPResultsOpenJDK6bools390falsedefine_pd_global
cpu/s390/c1_globals_s390.hpp
RoundFPResultsOpenJDK6boolsparcfalsedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
RoundFPResultsOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
SafepointALotOpenJDK6boolruntimefalsediagnostic
Generate a lot of safepoints. This works with 
GuaranteedSafepointInterval
share/runtime/globals.hpp
SafepointTimeoutDelayOpenJDK6intxruntime10000product
Delay in milliseconds for option SafepointTimeout
share/runtime/globals.hpp
SafepointTimeoutOpenJDK6boolruntimefalseproduct
Time out and warn or fail after SafepointTimeoutDelay 
milliseconds if failed to reach safepoint
share/runtime/globals.hpp
ScavengeALotIntervalOpenJDK6intxgc1notproduct
Interval between which scavenge will occur with +ScavengeALot
share/gc/shared/gc_globals.hpp
ScavengeALotOpenJDK6boolgcfalsenotproduct
Force scavenge at every Nth exit from the runtime system 
(N=ScavengeALotInterval)
share/gc/shared/gc_globals.hpp
ScavengeBeforeFullGCOpenJDK6boolgctrueproduct
Scavenge youngest generation before each full GC.
share/gc/shared/gc_globals.hpp
ScavengeRootsInCodeOpenJDK6intxruntime2
range(0, 2)
diagnostic
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
share/runtime/globals.hpp
SegmentedCodeCacheOpenJDK9boolruntimefalseproduct
Use a segmented code cache
share/runtime/globals.hpp
SelectivePhiFunctionsOpenJDK6boolc1truedevelop
create phi functions at loop headers only when necessary
share/c1/c1_globals.hpp
SelfDestructTimerOpenJDK6intxruntime0
range(0, max_intx)
product
Will cause VM to terminate after a given time (in minutes) 
(0 means off)
share/runtime/globals.hpp
SerializeVMOutputOpenJDK6boolruntimetruediagnostic
Use a mutex to serialize output to tty and LogFile
share/runtime/globals.hpp
ShareVtableStubsOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
ShareVtableStubsOpenJDK6boolarmtruedefine_pd_global
cpu/arm/globals_arm.hpp
ShareVtableStubsOpenJDK6boolruntimedevelop_pd
Share vtable stubs (smaller code but worse branch prediction
share/runtime/globals.hpp
ShareVtableStubsOpenJDK6boolppctruedefine_pd_global
cpu/ppc/globals_ppc.hpp
ShareVtableStubsOpenJDK6bools390truedefine_pd_global
cpu/s390/globals_s390.hpp
ShareVtableStubsOpenJDK6boolsparcfalsedefine_pd_global
// improves performance markedly for mtrt and compress
cpu/sparc/globals_sparc.hpp
ShareVtableStubsOpenJDK6boolx86truedefine_pd_global
cpu/x86/globals_x86.hpp
ShareVtableStubsOpenJDK6boolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
SharedArchiveConfigFileOpenJDK10ccstrruntimeNULLproduct
Data to add to the CDS archive file
share/runtime/globals.hpp
SharedArchiveFileOpenJDK8ccstrruntimeNULLproduct
Override the default location of the CDS archive file
share/runtime/globals.hpp
SharedBaseAddressOpenJDK8size_truntimeLP64_ONLY(32*G)NOT_LP64(LINUX_ONLY(2*G) NOT_LINUX(0))
range(0, SIZE_MAX)
product
Address to allocate shared memory region for class data
share/runtime/globals.hpp
SharedClassListFileOpenJDK8ccstrruntimeNULLproduct
Override the default CDS class list
share/runtime/globals.hpp
SharedSymbolTableBucketSizeOpenJDK9uintxruntime4
range(2, 246)
product
Average number of symbols per bucket in shared table
share/runtime/globals.hpp
ShenandoahAcmpBarrierOpenJDK12boolgctruediagnostic
Turn on/off acmp barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocFailureALotOpenJDK11boolgcfalsediagnostic
Make lots of artificial allocation failures.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocSpikeFactorOpenJDK11uintxgc5
range(0,100)
experimental
The amount of heap space to reserve for absorbing the 
allocation spikes. Larger value wastes more memory in 
non-emergency cases, but provides more safety in emergency 
cases. In percents of total heap size.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocationStallThresholdOpenJDK12intxgc10000diagnostic
When allocation tracing is enabled, the allocation stalls 
larger than this threshold would be reported as warnings. 
Time is in microseconds.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocationThresholdOpenJDK11uintxgc0
range(0,100)
experimental
Set percentage of memory allocated since last GC cycle before 
a new GC cycle can be started. Set to zero to effectively 
disable.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocationTraceOpenJDK12boolgcfalsediagnostic
Trace allocation latencies and stalls. Can be expensive when 
lots of allocations happen, and may introduce scalability 
bottlenecks.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllowMixedAllocsOpenJDK12boolgctruediagnostic
Allow mixing mutator and collector allocations in a single 
region
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAlwaysClearSoftRefsOpenJDK11boolgcfalseexperimental
Clear soft references always, instead of using any smart 
cleanup policy. This minimizes footprint at expense of more 
softref churn in applications.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAlwaysPreTouchOpenJDK12boolgcfalsediagnostic
Pre-touch heap memory, overrides global AlwaysPreTouch
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCASBarrierOpenJDK11boolgctruediagnostic
Turn on/off CAS barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCloneBarrierOpenJDK11boolgctruediagnostic
Turn on/off clone barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCodeRootsStyleOpenJDK11uintxgc2experimental
Use this style to scan code cache:
 0 - sequential iterator;
 1 - parallel iterator;
 2 - parallel iterator with cset filters;
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCommonGCStateLoadsOpenJDK12boolgcfalseexperimental
Enable commonming for GC state loads in generated code.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahConcurrentScanCodeRootsOpenJDK12boolgctrueexperimental
Scan code roots concurrently, instead of during a pause
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahControlIntervalAdjustPeriodOpenJDK11uintxgc1000experimental
The time period for one step in control loop interval 
adjustment. Lower values make adjustments faster, at the 
expense of higher perf overhead. Time is in milliseconds.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahControlIntervalMaxOpenJDK11uintxgc10experimental
The maximum sleep interval for control loop that drives 
the cycles. Lower values would increase GC responsiveness 
to changing heap conditions, at the expense of higher perf 
overhead. Time is in milliseconds.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahControlIntervalMinOpenJDK11uintxgc1experimental
The minumum sleep interval for control loop that drives 
the cycles. Lower values would increase GC responsiveness 
to changing heap conditions, at the expense of higher perf 
overhead. Time is in milliseconds.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCriticalControlThreadPriorityOpenJDK12boolgcfalseexperimental
Shenandoah control thread runs at critical scheduling priority.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCriticalFreeThresholdOpenJDK11uintxgc1
range(0, 100)
experimental
Percent of heap that needs to be free after recovery cycles, 
either Degenerated or Full GC. If this much space is not 
available, next recovery step would triggered.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahDecreaseRegisterPressureOpenJDK12boolgcfalsediagnostic
Try to reuse after-barrier values to reduce register pressure
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahDegeneratedGCOpenJDK11boolgctruediagnostic
Use Degenerated GC as the graceful degradation step. Disabling 
this leads to degradation to Full GC
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahDontIncreaseWBFreqOpenJDK12boolgctrueexperimental
Common 2 WriteBarriers or WriteBarrier and a ReadBarrier only 
if the resulting WriteBarrier isn't executed more frequently
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahElasticTLABOpenJDK11boolgctruediagnostic
Use Elastic TLABs with Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahEvacAssistOpenJDK12uintxgc10experimental
How many objects to evacuate on WB assist path. 
Use zero to disable.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahEvacReserveOverflowOpenJDK11boolgctrueexperimental
Allow evacuations to overflow the reserved space. 
Enabling it will make evacuations more resilient when 
evacuation reserve/waste is incorrect, at the risk that 
application allocations run out of memory too early.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahEvacReserveOpenJDK11uintxgc5
range(1,100)
experimental
Maximum amount of free space to reserve for evacuation. 
Larger values make GC more aggressive, while leaving less 
headroom for application to allocate in. 
In percents of total heap size.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahEvacWasteOpenJDK11doublegc1.2
range(1.0,100.0)
experimental
How much waste evacuations produce within the reserved 
space. Larger values make evacuations more resilient 
against allocation failures, at expense of smaller csets 
on each cycle.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahFreeThresholdOpenJDK12uintxgc10
range(0,100)
experimental
Set the percentage of free heap at which a GC cycle is started. 
Does not apply to all heuristics.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahFullGCThresholdOpenJDK11uintxgc3experimental
How many back-to-back Degenerated GCs to do before triggering 
a Full GC.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahGCHeuristicsOpenJDK11ccstrgcadaptiveexperimental
The heuristics to use in Shenandoah GC. Possible values:
 *) adaptive - adapt to maintain the given amount of free heap;
 *) static - start concurrent GC when static free heap 
 threshold and static allocation threshold are 
 tripped;
 *) passive - do not start concurrent GC, wait for Full GC; 
 *) aggressive - run concurrent GC continuously, evacuate 
 everything;
 *) compact - run GC with lower footprint target, may end up 
 doing continuous GC, evacuate lots of live 
 objects, uncommit heap aggressively;
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahGarbageThresholdOpenJDK11uintxgc60
range(0,100)
experimental
Sets the percentage of garbage a region need to contain before 
it can be marked for collection. Does not apply to all 
heuristics.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahGuaranteedGCIntervalOpenJDK11uintxgc5*60*1000experimental
Adaptive and dynamic heuristics would guarantee a GC cycle 
at least with this interval. This is useful when large idle
 intervals are present, where GC can run without stealing 
time from active application. Time is in milliseconds.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahHeapRegionSizeOpenJDK12size_tgc0experimental
Size of the Shenandoah regions. Set to zero to detect 
automatically.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahHumongousMovesOpenJDK11boolgctrueexperimental
Allow moving humongous regions. This makes GC more resistant 
to external fragmentation that may otherwise fail other 
humongous allocations, at the expense of higher GC copying 
costs.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahHumongousThresholdOpenJDK11intxgc100
range(1, 100)
experimental
How large should the object be to get allocated in humongous 
region, in percents of heap region size. This also caps the 
maximum TLAB size.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahImmediateThresholdOpenJDK11uintxgc90
range(0,100)
experimental
If mark identifies more than this much immediate garbage 
regions, it shall recycle them, and shall not continue the 
rest of the GC cycle. The value is in percents of total 
number of candidate regions for collection set. Setting this 
threshold to 100% effectively disables this shortcut.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahImplicitGCInvokesConcurrentOpenJDK11boolgcfalseexperimental
Should internally-caused GCs invoke concurrent cycles, or go to
stop-the-world (degenerated/full)?
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahInitFreeThresholdOpenJDK11uintxgc70
range(0,100)
experimental
Initial remaining free heap threshold for learning steps in 
heuristics. In percents of total heap size. Does not apply to 
all heuristics.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahKeepAliveBarrierOpenJDK12boolgctruediagnostic
Turn on/off keep alive barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahLearningStepsOpenJDK11uintxgc5
range(0,100)
experimental
Number of GC cycles to run in order to learn application 
and GC performance for adaptive heuristics.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahLoopOptsAfterExpansionOpenJDK11boolgctrueexperimental
Attempt more loop opts after write barrier expansion
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMarkLoopStrideOpenJDK11uintxgc1000experimental
How many items are processed during one marking step
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMarkScanPrefetchOpenJDK11intxgc32
range(0, 256)
experimental
How many objects to prefetch ahead when traversing mark bitmaps.
Set to 0 to disable prefetching.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMaxRegionSizeOpenJDK11size_tgc32 * Mexperimental
Maximum Shenandoah heap region size.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMergeUpdateRefsMaxGapOpenJDK12uintxgc200experimental
If GC is currently running in merged update-refs mode 
this numbers gives the threshold when to switch to 
separate update-refs mode. Number is percentage relative 
to duration(marking)+duration(update-refs).
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMergeUpdateRefsMinGapOpenJDK12uintxgc100experimental
If GC is currently running in separate update-refs mode 
this numbers gives the threshold when to switch to 
merged update-refs mode. Number is percentage relative to
duration(marking)+duration(update-refs).
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMinFreeThresholdOpenJDK11uintxgc10
range(0,100)
experimental
Minimum remaining free space threshold, after which collection 
definitely triggers. Does not apply to all heuristics.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMinRegionSizeOpenJDK11size_tgc256 * Kexperimental
Minimum Shenandoah heap region size.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahOOMDuringEvacALotOpenJDK11boolgcfalsediagnostic
Simulate OOM during evacuation frequently.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahOptimizeInstanceFinalsOpenJDK12boolgcfalseexperimental
Optimize barriers on final instance fields.
Turn it off for maximum compatibility with reflection or JNI 
code that manipulates final fields.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahOptimizeStableFinalsOpenJDK12boolgcfalseexperimental
Optimize barriers on stable fields.
Turn it off for maximum compatibility with reflection or JNI 
code that manipulates final fields.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahOptimizeStaticFinalsOpenJDK11boolgctrueexperimental
Optimize barriers on static final fields. 
Turn it off for maximum compatibility with reflection or JNI 
code that manipulates final fields.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingCycleSlackOpenJDK11uintxgc10
range(0, 100)
experimental
Percent of free space taken as non-taxable allocations during 
the GC cycle. Larger value makes the pacing milder at the 
beginning of the GC cycle. Lower value makes the pacing less 
uniform during the cycle.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingIdleSlackOpenJDK11uintxgc2
range(0, 100)
experimental
Percent of heap counted as non-taxable allocations during idle. 
Larger value makes the pacing milder during idle phases, 
requiring less rendezvous with control thread. Lower value 
makes the pacing control less responsive to out-of-cycle allocs.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingMaxDelayOpenJDK11uintxgc10experimental
Max delay for pacing application allocations. 
Time is in milliseconds.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingSurchargeOpenJDK11doublegc1.1
range(1.0, 100.0)
experimental
Additional pacing tax surcharge to help unclutter the heap. 
Larger values makes the pacing more aggressive. Lower values 
risk GC cycles finish with less memory than were available at 
the beginning of it.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingOpenJDK11boolgctrueexperimental
Pace application allocations to give GC chance to start 
and complete before allocation failure is reached.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahParallelRegionStrideOpenJDK11uintxgc1024experimental
How many regions are processed in one stride during parallel 
iteration.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahParallelSafepointThreadsOpenJDK12uintgc4experimental
Number of parallel threads used for safepoint prolog/epilog
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPrecleanOpenJDK11boolgctrueexperimental
Do concurrent preclean phase before final mark: process 
definitely alive references to avoid dealing with them during 
pause.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahReadBarrierOpenJDK12boolgctruediagnostic
Turn on/off read barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRefProcFrequencyOpenJDK11uintxgc5experimental
How often should (weak, soft, etc) references be processed. 
References get processed at every Nth GC cycle. Set to zero 
to disable reference processing.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRegionSamplingRateOpenJDK11intgc40experimental
Sampling rate for heap region sampling. 
Number of milliseconds between samples
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRegionSamplingOpenJDK11boolgcfalseexperimental
Turns on heap region sampling via JVMStat
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBarrierOpenJDK11boolgctruediagnostic
Turn on/off SATB barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBufferFlushIntervalOpenJDK12uintxgc100experimental
Forcefully flush non-empty SATB buffers at this interval. 
Time is in milliseconds.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBufferSizeOpenJDK11size_tgc1 * K
range(1, max_uintx)
experimental
Number of entries in an SATB log buffer.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahStoreCheckOpenJDK12boolgcfalsediagnostic
Emit additional code that checks objects are written to only
 in to-space
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahStoreValEnqueueBarrierOpenJDK12boolgcfalsediagnostic
Turn on/off enqueuing of oops for storeval barriers
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahStoreValReadBarrierOpenJDK12boolgctruediagnostic
Turn on/off store val read barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSuspendibleWorkersOpenJDK11boolgcfalseexperimental
Suspend concurrent GC worker threads at safepoints
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahTargetNumRegionsOpenJDK11size_tgc2048experimental
Target number of regions. We try to get around that many 
regions, based on Shenandoah{Min,Max}RegionSize.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahTerminationTraceOpenJDK12boolgcfalsediagnostic
Tracing task termination timings
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahUncommitDelayOpenJDK11uintxgc5*60*1000experimental
Shenandoah would start to uncommit memory for regions that were
 not used for more than this time. First use after that would 
incur allocation stalls. Actively used regions would never be 
uncommitted, because they never decay. Time is in milliseconds.
Setting this delay to 0 effectively makes Shenandoah to 
uncommit the regions almost immediately.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahUncommitOpenJDK11boolgctrueexperimental
Allow Shenandoah to uncommit unused memory.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahUnloadClassesFrequencyOpenJDK11uintxgc5experimental
How often should classes get unloaded. 
Class unloading is performed at every Nth GC cycle. 
Set to zero to disable class unloading during concurrent GC.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahUpdateRefsEarlyOpenJDK12ccstrgcadaptiveexperimental
Run a separate concurrent reference updating phase after
concurrent evacuation. Possible values: 'on', 'off', 'adaptive'
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahVerifyLevelOpenJDK11intxgc4diagnostic
Shenandoah verification level: 

0 = basic heap checks; 

1 = previous level, plus basic region checks; 

2 = previous level, plus all roots; 

3 = previous level, plus all reachable objects; 

4 = previous level, plus all marked objects
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahVerifyObjectEqualsOpenJDK12boolgcfalsedevelop
Verify that == and != are not used on oops. Only in fastdebug
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahVerifyOptoBarriersOpenJDK11boolgcfalsedevelop
Verify no missing barriers in C2
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahVerifyOpenJDK11boolgcfalsediagnostic
Verify the Shenandoah garbage collector
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahWriteBarrierOpenJDK12boolgctruediagnostic
Turn on/off write barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShowHiddenFramesOpenJDK7boolruntimefalsediagnostic
show method handle implementation frames (usually hidden)
share/runtime/globals.hpp
ShowMessageBoxOnErrorOpenJDK6boolruntimefalseproduct
Keep process alive on VM fatal error
share/runtime/globals.hpp
ShowRegistersOnAssertOpenJDK11boolruntimetruediagnostic
On internal errors, include registers in error report.
share/runtime/globals.hpp
ShrinkHeapInStepsOpenJDK9boolruntimetrueproduct
When disabled, informs the GC to shrink the java heap directly
 to the target size at the next full GC rather than requiring
 smaller steps during multiple full GCs.
share/runtime/globals.hpp
SoftMatchFailureOpenJDK6boolc2trueInProductdevelop
If the DFA fails to match a node, print a message and bail out
share/opto/c2_globals.hpp
SoftRefLRUPolicyMSPerMBOpenJDK6intxruntime1000
range(0, max_intx)
product
Number of milliseconds per MB of free space in the heap
share/runtime/globals.hpp
SoftwarePrefetchHintDistanceOpenJDK10intaarch64-1
range(-1, 4096)
product
Use prfm hint with specified distance in compiled code.
Value -1 means off.
cpu/aarch64/globals_aarch64.hpp
SparcV9RegsHiBitsZeroOpenJDK6boolc2truedevelop
Assume Sparc V9 I&L registers on V8+ systems are zero-extended
share/opto/c2_globals.hpp
SpecTrapLimitExtraEntriesOpenJDK8intxruntime3experimental
Extra method data trap entries for speculation
share/runtime/globals.hpp
SpecialArraysEqualsOpenJDK6boolc2truediagnostic
special version of Arrays.equals(char[],char[])
share/opto/c2_globals.hpp
SpecialEncodeISOArrayOpenJDK8boolc2truediagnostic
special version of ISO_8859_1$Encoder.encodeISOArray
share/opto/c2_globals.hpp
SpecialStringCompareToOpenJDK6boolc2truediagnostic
special version of string compareTo
share/opto/c2_globals.hpp
SpecialStringEqualsOpenJDK6boolc2truediagnostic
special version of string equals
share/opto/c2_globals.hpp
SpecialStringIndexOfOpenJDK6boolc2truediagnostic
special version of string indexOf
share/opto/c2_globals.hpp
SplitIfBlocksOpenJDK6boolc2trueproduct
Clone compares and control flow through merge points to fold 
some branches
share/opto/c2_globals.hpp
StackPrintLimitOpenJDK6intxruntime100develop
number of stack frames to print in VM-level stack dump
share/runtime/globals.hpp
StackRedPagesOpenJDK6intxaarch64DEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/aarch64/globals_aarch64.hpp
StackRedPagesOpenJDK6intxarmDEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/arm/globals_arm.hpp
StackRedPagesOpenJDK6intxruntimeproduct_pd
Number of red zone (unrecoverable overflows) pages of size 

4KB. If pages are bigger red zone is aligned up.
share/runtime/globals.hpp
StackRedPagesOpenJDK6intxppcDEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/ppc/globals_ppc.hpp
StackRedPagesOpenJDK6intxs390DEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/s390/globals_s390.hpp
StackRedPagesOpenJDK6intxsparcDEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/sparc/globals_sparc.hpp
StackRedPagesOpenJDK6intxx86DEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/x86/globals_x86.hpp
StackRedPagesOpenJDK6intxzeroDEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/zero/globals_zero.hpp
StackReservedPagesOpenJDK9intxaarch64DEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/aarch64/globals_aarch64.hpp
StackReservedPagesOpenJDK9intxarmDEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/arm/globals_arm.hpp
StackReservedPagesOpenJDK9intxruntimeproduct_pd
Number of reserved zone (reserved to annotated methods) pages
 of size 4KB. If pages are bigger reserved zone is aligned up.
share/runtime/globals.hpp
StackReservedPagesOpenJDK9intxppcDEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/ppc/globals_ppc.hpp
StackReservedPagesOpenJDK9intxs390DEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/s390/globals_s390.hpp
StackReservedPagesOpenJDK9intxsparcDEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/sparc/globals_sparc.hpp
StackReservedPagesOpenJDK9intxx86DEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/x86/globals_x86.hpp
StackReservedPagesOpenJDK9intxzeroDEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/zero/globals_zero.hpp
StackShadowPagesOpenJDK6intxaarch64DEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/aarch64/globals_aarch64.hpp
StackShadowPagesOpenJDK6intxarmDEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/arm/globals_arm.hpp
StackShadowPagesOpenJDK6intxruntimeproduct_pd
Number of shadow zone (for overflow checking) pages of size 

4KB. If pages are bigger shadow zone is aligned up. 
This should exceed the depth of the VM and native call stack.
share/runtime/globals.hpp
StackShadowPagesOpenJDK6intxppcDEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/ppc/globals_ppc.hpp
StackShadowPagesOpenJDK6intxs390DEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/s390/globals_s390.hpp
StackShadowPagesOpenJDK6intxsparcDEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/sparc/globals_sparc.hpp
StackShadowPagesOpenJDK6intxx86DEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/x86/globals_x86.hpp
StackShadowPagesOpenJDK6intxzeroDEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/zero/globals_zero.hpp
StackTraceInThrowableOpenJDK6boolruntimetrueproduct
Collect backtrace in throwable when exception happens
share/runtime/globals.hpp
StackYellowPagesOpenJDK6intxaarch64DEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/aarch64/globals_aarch64.hpp
StackYellowPagesOpenJDK6intxarmDEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/arm/globals_arm.hpp
StackYellowPagesOpenJDK6intxruntimeproduct_pd
Number of yellow zone (recoverable overflows) pages of size 

4KB. If pages are bigger yellow zone is aligned up.
share/runtime/globals.hpp
StackYellowPagesOpenJDK6intxppcDEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/ppc/globals_ppc.hpp
StackYellowPagesOpenJDK6intxs390DEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/s390/globals_s390.hpp
StackYellowPagesOpenJDK6intxsparcDEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/sparc/globals_sparc.hpp
StackYellowPagesOpenJDK6intxx86DEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/x86/globals_x86.hpp
StackYellowPagesOpenJDK6intxzeroDEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/zero/globals_zero.hpp
StartAggressiveSweepingAtOpenJDK9uintxruntime10
range(0, 100)
product
Start aggressive sweeping if X[%] of the code cache is free.
Segmented code cache: X[%] of the non-profiled heap.
Non-segmented code cache: X[%] of the total code cache
share/runtime/globals.hpp
StartAttachListenerOpenJDK6boolruntimefalseproduct
Always start Attach Listener at VM startup
share/runtime/globals.hpp
StartFlightRecordingOpenJDK11ccstrruntimeNULLproduct
Start flight recording with options
share/runtime/globals.hpp
StopInterpreterAtOpenJDK6intxruntime0develop
Stop interpreter execution at specified bytecode number
share/runtime/globals.hpp
StressArrayCopyMacroNodeOpenJDK9boolc2falsedevelop
Perform ArrayCopy load/store replacement during IGVN only
share/opto/c2_globals.hpp
StressCodeAgingOpenJDK9boolruntimefalsediagnostic
Start with counters compiled in
share/runtime/globals.hpp
StressCodeBuffersOpenJDK6boolruntimefalsedevelop
Exercise code buffer expansion and other rare state changes
share/runtime/globals.hpp
StressCompiledExceptionHandlersOpenJDK7boolruntimefalsedevelop
Exercise compiled exception handlers
share/runtime/globals.hpp
StressCriticalJNINativesOpenJDK6boolruntimefalsenotproduct
Exercise register saving code in critical natives
share/runtime/globals.hpp
StressDerivedPointersOpenJDK6boolruntimefalsenotproduct
Force scavenge when a derived pointer is detected on stack 
after rtm call
share/runtime/globals.hpp
StressGCMOpenJDK8boolc2falsediagnostic
Randomize instruction scheduling in GCM
share/opto/c2_globals.hpp
StressLCMOpenJDK8boolc2falsediagnostic
Randomize instruction scheduling in LCM
share/opto/c2_globals.hpp
StressLdcRewriteOpenJDK6boolruntimefalseproduct
Force ldc -> ldc_w rewrite during RedefineClasses
share/runtime/globals.hpp
StressLinearScanOpenJDK6boolc1falsedevelop
scramble block order used by LinearScan (stress test)
share/c1/c1_globals.hpp
StressLoopInvariantCodeMotionOpenJDK8boolc1falsedevelop
stress loop invariant code motion
share/c1/c1_globals.hpp
StressMethodHandleLinkerInliningOpenJDK11boolc2falsedevelop
Stress inlining through method handle linkers
share/opto/c2_globals.hpp
StressRangeCheckEliminationOpenJDK8boolc1falsedevelop
stress Range Check Elimination
share/c1/c1_globals.hpp
StressRecompilationOpenJDK6boolc2falsedevelop
Recompile each compiled method without subsuming loads 
or escape analysis.
share/opto/c2_globals.hpp
StressReflectiveCodeOpenJDK6boolc2falsedevelop
Use inexact types at allocations, etc., to test reflection
share/opto/c2_globals.hpp
StressRewriterOpenJDK8boolruntimefalsedevelop
Stress linktime bytecode rewriting
share/runtime/globals.hpp
StrictSafepointChecksOpenJDK6boolruntimetrueInDebugnotproduct
Enable strict checks that safepoints cannot happen for threads 
that use NoSafepointVerifier
share/runtime/globals.hpp
StringDeduplicationAgeThresholdOpenJDK8uintxruntime3
range(1, markOopDesc::max_age)
product
A string must reach this age (or be promoted to an old region) 
to be considered for deduplication
share/runtime/globals.hpp
StringDeduplicationRehashALotOpenJDK8boolruntimefalsediagnostic
Force table rehash every time the table is scanned
share/runtime/globals.hpp
StringDeduplicationResizeALotOpenJDK8boolruntimefalsediagnostic
Force table resize every time the table is scanned
share/runtime/globals.hpp
StringTableSizeOpenJDK6uintxruntimedefaultStringTableSize
range(minimumStringTableSize, 16777216ul)
product
Number of buckets in the interned String table 
(will be rounded to nearest higher power of 2)
share/runtime/globals.hpp
SubsumeLoadsOpenJDK6boolc2truedevelop
Attempt to compile while subsuming loads into machine 
instructions.
share/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisOpenJDK9boolaarch64truedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
SuperWordLoopUnrollAnalysisOpenJDK9boolc2product_pd
Map number of unrolls for main loop via 
Superword Level Parallelism analysis
share/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisOpenJDK9boolppctruedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
SuperWordLoopUnrollAnalysisOpenJDK9bools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
SuperWordLoopUnrollAnalysisOpenJDK9boolsparcfalsedefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
SuperWordLoopUnrollAnalysisOpenJDK9boolx86truedefine_pd_global
cpu/x86/c2_globals_x86.hpp
SuperWordRTDepCheckOpenJDK6boolc2falsedevelop
Enable runtime dependency checks.
share/opto/c2_globals.hpp
SuperWordReductionsOpenJDK9boolc2trueproduct
Enable reductions support in superword.
share/opto/c2_globals.hpp
SuperwordUseVSXOpenJDK10boolppcfalseproduct
Use Power8 VSX instructions for superword optimization.
cpu/ppc/globals_ppc.hpp
SuppressErrorAtOpenJDK6ccstrlistruntime
notproduct
List of assertions (file:line) to muzzle
share/runtime/globals.hpp
SuppressFatalErrorMessageOpenJDK6boolruntimefalseproduct
Report NO fatal error message (avoid deadlock)
share/runtime/globals.hpp
SurvivorAlignmentInBytesOpenJDK8intxruntime0experimental
Default survivor space alignment in bytes
share/runtime/globals.hpp
SurvivorPaddingOpenJDK6uintxgc3
range(0, max_juint)
product
How much buffer to keep for survivor overflow
share/gc/shared/gc_globals.hpp
SurvivorRatioOpenJDK6uintxgc8
range(1, max_uintx-2)
product
Ratio of eden/survivor space size
share/gc/shared/gc_globals.hpp
SuspendRetryCountOpenJDK6Obsoleted in JDK17
Expired in JDK18
intxruntime50
range(0, max_intx)
product
Maximum retry count for an external suspend request
share/runtime/globals.hpp
SuspendRetryDelayOpenJDK6Obsoleted in JDK17
Expired in JDK18
intxruntime5
range(0, max_intx)
product
Milliseconds to delay per retry (* current_retry_count)
share/runtime/globals.hpp
SweeperLogEntriesOpenJDK6intxruntime1024notproduct
Number of records in the ring buffer of sweeper activity
share/runtime/globals.hpp
SymbolTableSizeOpenJDK8uintxruntimedefaultSymbolTableSize
range(minimumSymbolTableSize, 111*defaultSymbolTableSize)
experimental
Number of buckets in the JVM internal Symbol table
share/runtime/globals.hpp
TLABAllocationWeightOpenJDK6uintxgc35
range(0, 100)
product
Allocation averaging weight
share/gc/shared/gc_globals.hpp
TLABRefillWasteFractionOpenJDK6uintxgc64
range(1, max_juint)
product
Maximum TLAB waste at a refill (internal fragmentation)
share/gc/shared/gc_globals.hpp
TLABSizeOpenJDK6size_tgc0product
Starting TLAB size (in bytes); zero means set ergonomically
share/gc/shared/gc_globals.hpp
TLABStatsOpenJDK6Deprecated in JDK12
Obsoleted in JDK23
Expired in JDK24
boolgctrueproduct
Provide more detailed and expensive TLAB statistics.
share/gc/shared/gc_globals.hpp
TLABWasteIncrementOpenJDK6uintxgc4
range(0, max_jint)
product
Increment allowed waste at slow allocation
share/gc/shared/gc_globals.hpp
TLABWasteTargetPercentOpenJDK6uintxgc1
range(1, 100)
product
Percentage of Eden that can be wasted
share/gc/shared/gc_globals.hpp
TargetPLABWastePctOpenJDK6uintxgc10
range(1, 100)
product
Target wasted space in last buffer as percent of overall 
allocation
share/gc/shared/gc_globals.hpp
TargetSurvivorRatioOpenJDK6uintxgc50
range(0, 100)
product
Desired percentage of survivor space used after scavenge
share/gc/shared/gc_globals.hpp
TenuredGenerationSizeIncrementOpenJDK6uintxgc20
range(0, 100)
product
Adaptive size percentage change in tenured generation
share/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementDecayOpenJDK6uintxgc2
range(1, max_uintx)
product
Decay factor to TenuredGenerationSizeIncrement
share/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementOpenJDK6uintxgc80
range(0, 100)
product
Supplement to TenuredGenerationSizeIncrement used at startup
share/gc/shared/gc_globals.hpp
TestCrashInErrorHandlerOpenJDK9uintxruntime0notproduct
If > 0, provokes an error inside VM error handler (a secondary 
crash). see test_error_handler() in vmError.cpp
share/runtime/globals.hpp
TestSafeFetchInErrorHandlerOpenJDK9boolruntimefalsenotproduct
If true, tests SafeFetch inside error handler.
share/runtime/globals.hpp
TestUnresponsiveErrorHandlerOpenJDK10boolruntimefalsenotproduct
If true, simulates an unresponsive error handler.
share/runtime/globals.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolaarch64truedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolarmfalsedefine_pd_global
cpu/arm/globals_arm.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolruntimeproduct_pd
Use thread-local polls instead of global poll for safepoints.
share/runtime/globals.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolppctruedefine_pd_global
cpu/ppc/globals_ppc.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
bools390truedefine_pd_global
cpu/s390/globals_s390.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolsparctruedefine_pd_global
cpu/sparc/globals_sparc.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolx86falsedefine_pd_global
cpu/x86/globals_x86.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolzerofalsedefine_pd_global
cpu/zero/globals_zero.hpp
ThreadPriorityPolicyOpenJDK6intxruntime0
range(0, 1)
product
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/BSD/macOS this policy requires root privilege or an 
 extended capability.
share/runtime/globals.hpp
ThreadPriorityVerboseOpenJDK6boolruntimefalseproduct
Print priority changes
share/runtime/globals.hpp
ThreadStackSizeOpenJDK6intxaixppc2048define_pd_global
// 0 => use system default
os_cpu/aix_ppc/globals_aix_ppc.hpp
ThreadStackSizeOpenJDK6intxbsdx86320define_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
ThreadStackSizeOpenJDK6intxbsdzero1536define_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
ThreadStackSizeOpenJDK6intxlinuxaarch642048define_pd_global
// 0 => use system default
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
ThreadStackSizeOpenJDK6intxlinuxarm320define_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
ThreadStackSizeOpenJDK6intxlinuxppc2048define_pd_global
// 0 => use system default
os_cpu/linux_ppc/globals_linux_ppc.hpp
ThreadStackSizeOpenJDK6intxlinuxs3901024define_pd_global
// 0 => Use system default.
os_cpu/linux_s390/globals_linux_s390.hpp
ThreadStackSizeOpenJDK6intxlinuxx86320define_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
ThreadStackSizeOpenJDK6intxlinuxzero1536define_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
ThreadStackSizeOpenJDK6intxruntimeproduct_pd
Thread Stack Size (in Kbytes)
share/runtime/globals.hpp
ThreadStackSizeOpenJDK6intxsparc1024define_pd_global
cpu/sparc/globals_sparc.hpp
ThreadStackSizeOpenJDK6intxsolarisx86320define_pd_global
os_cpu/solaris_x86/globals_solaris_x86.hpp
ThreadStackSizeOpenJDK6intxwindowsx860define_pd_global
// 0 => use system default
os_cpu/windows_x86/globals_windows_x86.hpp
ThresholdToleranceOpenJDK6uintxgc10
range(0, 100)
product
Allowed collection cost difference between generations
share/gc/shared/gc_globals.hpp
Tier0BackedgeNotifyFreqLogOpenJDK6intxruntime10
range(0, 30)
product
Interpreter (tier 0) invocation notification frequency
share/runtime/globals.hpp
Tier0InvokeNotifyFreqLogOpenJDK6intxruntime7
range(0, 30)
product
Interpreter (tier 0) invocation notification frequency
share/runtime/globals.hpp
Tier0ProfilingStartPercentageOpenJDK6intxruntime200
range(0, max_jint)
product
Start profiling in interpreter if the counters exceed tier 3 
thresholds by the specified percentage
share/runtime/globals.hpp
Tier23InlineeNotifyFreqLogOpenJDK6intxruntime20
range(0, 30)
product
Inlinee invocation (tiers 2 and 3) notification frequency
share/runtime/globals.hpp
Tier2BackEdgeThresholdOpenJDK6intxruntime0
range(0, max_jint)
product
Back edge threshold at which tier 2 compilation is invoked
share/runtime/globals.hpp
Tier2BackedgeNotifyFreqLogOpenJDK6intxruntime14
range(0, 30)
product
C1 without MDO (tier 2) invocation notification frequency
share/runtime/globals.hpp
Tier2CompileThresholdOpenJDK6intxruntime0
range(0, max_jint)
product
threshold at which tier 2 compilation is invoked
share/runtime/globals.hpp
Tier2InvokeNotifyFreqLogOpenJDK6intxruntime11
range(0, 30)
product
C1 without MDO (tier 2) invocation notification frequency
share/runtime/globals.hpp
Tier3AOTBackEdgeThresholdOpenJDK9intxruntime120000
range(0, max_jint)
product
Back edge threshold at which tier 3 OSR compilation is invoked 
if coming from AOT
share/runtime/globals.hpp
Tier3AOTCompileThresholdOpenJDK9intxruntime15000
range(0, max_jint)
product
Threshold at which tier 3 compilation is invoked (invocation 
minimum must be satisfied) if coming from AOT
share/runtime/globals.hpp
Tier3AOTInvocationThresholdOpenJDK9intxruntime10000
range(0, max_jint)
product
Compile if number of method invocations crosses this 
threshold if coming from AOT
share/runtime/globals.hpp
Tier3AOTMinInvocationThresholdOpenJDK9intxruntime1000
range(0, max_jint)
product
Minimum invocation to compile at tier 3 if coming from AOT
share/runtime/globals.hpp
Tier3BackEdgeThresholdOpenJDK6intxruntime60000
range(0, max_jint)
product
Back edge threshold at which tier 3 OSR compilation is invoked
share/runtime/globals.hpp
Tier3BackedgeNotifyFreqLogOpenJDK6intxruntime13
range(0, 30)
product
C1 with MDO profiling (tier 3) invocation notification 
frequency
share/runtime/globals.hpp
Tier3CompileThresholdOpenJDK6intxruntime2000
range(0, max_jint)
product
Threshold at which tier 3 compilation is invoked (invocation 
minimum must be satisfied)
share/runtime/globals.hpp
Tier3DelayOffOpenJDK6intxruntime2
range(0, max_jint)
product
If C2 queue size is less than this amount per compiler thread 
allow methods compiled at tier 2 transition to tier 3
share/runtime/globals.hpp
Tier3DelayOnOpenJDK6intxruntime5
range(0, max_jint)
product
If C2 queue size grows over this amount per compiler thread 
stop compiling at tier 3 and start compiling at tier 2
share/runtime/globals.hpp
Tier3InvocationThresholdOpenJDK6intxruntime200
range(0, max_jint)
product
Compile if number of method invocations crosses this 
threshold
share/runtime/globals.hpp
Tier3InvokeNotifyFreqLogOpenJDK6intxruntime10
range(0, 30)
product
C1 with MDO profiling (tier 3) invocation notification 
frequency
share/runtime/globals.hpp
Tier3LoadFeedbackOpenJDK6intxruntime5
range(0, max_jint)
product
Tier 3 thresholds will increase twofold when C1 queue size 
reaches this amount per compiler thread
share/runtime/globals.hpp
Tier3MinInvocationThresholdOpenJDK6intxruntime100
range(0, max_jint)
product
Minimum invocation to compile at tier 3
share/runtime/globals.hpp
Tier4BackEdgeThresholdOpenJDK6intxruntime40000
range(0, max_jint)
product
Back edge threshold at which tier 4 OSR compilation is invoked
share/runtime/globals.hpp
Tier4CompileThresholdOpenJDK6intxruntime15000
range(0, max_jint)
product
Threshold at which tier 4 compilation is invoked (invocation 
minimum must be satisfied
share/runtime/globals.hpp
Tier4InvocationThresholdOpenJDK6intxruntime5000
range(0, max_jint)
product
Compile if number of method invocations crosses this 
threshold
share/runtime/globals.hpp
Tier4LoadFeedbackOpenJDK6intxruntime3
range(0, max_jint)
product
Tier 4 thresholds will increase twofold when C2 queue size 
reaches this amount per compiler thread
share/runtime/globals.hpp
Tier4MinInvocationThresholdOpenJDK6intxruntime600
range(0, max_jint)
product
Minimum invocation to compile at tier 4
share/runtime/globals.hpp
TieredCompilationOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
TieredCompilationOpenJDK6boolarmfalsedefine_pd_global
cpu/arm/c2_globals_arm.hpp
TieredCompilationOpenJDK6boolruntimeproduct_pd
Enable tiered compilation
share/runtime/globals.hpp
TieredCompilationOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
TieredCompilationOpenJDK6bools390trueInTiereddefine_pd_global
cpu/s390/c2_globals_s390.hpp
TieredCompilationOpenJDK6boolsparcfalsedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
TieredCompilationOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
TieredCompileTaskTimeoutOpenJDK6intxruntime50
range(0, max_intx)
product
Kill compile task if method was not used within 
given timeout in milliseconds
share/runtime/globals.hpp
TieredRateUpdateMaxTimeOpenJDK6intxruntime25
range(0, max_intx)
product
Maximum rate sampling interval (in milliseconds)
share/runtime/globals.hpp
TieredRateUpdateMinTimeOpenJDK6intxruntime1
range(0, max_intx)
product
Minimum rate sampling interval (in milliseconds)
share/runtime/globals.hpp
TieredStopAtLevelOpenJDK6intxruntime4
range(0, 4)
product
Stop at given compilation level
share/runtime/globals.hpp
TimeCompilationPolicyOpenJDK6boolruntimefalsedevelop
Time the compilation policy
share/runtime/globals.hpp
TimeEachLinearScanOpenJDK6boolc1falsedevelop
print detailed timing of each LinearScan run
share/c1/c1_globals.hpp
TimeLinearScanOpenJDK6boolc1falseproduct
detailed timing of LinearScan phases
share/c1/c1_globals.hpp
TimeLivenessAnalysisOpenJDK6boolruntimefalsedevelop
Time computation of bytecode liveness analysis
share/runtime/globals.hpp
TimeOopMap2OpenJDK6boolruntimefalsedevelop
Time calls to GenerateOopMap::compute_map() individually
share/runtime/globals.hpp
TimeOopMapOpenJDK6boolruntimefalsedevelop
Time calls to GenerateOopMap::compute_map() in sum
share/runtime/globals.hpp
TraceBytecodesAtOpenJDK6intxruntime0develop
Trace bytecodes starting with specified bytecode number
share/runtime/globals.hpp
TraceBytecodesOpenJDK6boolruntimefalsedevelop
Trace bytecode execution
share/runtime/globals.hpp
TraceCISCSpillOpenJDK6boolc2falsenotproduct
Trace allocators use of cisc spillable instructions
share/opto/c2_globals.hpp
TraceCallFixupOpenJDK6boolruntimefalsedevelop
Trace all call fixups
share/runtime/globals.hpp
TraceCodeBlobStacksOpenJDK6boolruntimefalsenotproduct
Trace stack-walk of codeblobs
share/runtime/globals.hpp
TraceCompilationPolicyOpenJDK6boolruntimefalsedevelop
Trace compilation policy
share/runtime/globals.hpp
TraceCompiledICOpenJDK6boolruntimefalsedevelop
Trace changes of compiled IC
share/runtime/globals.hpp
TraceCompilerThreadsOpenJDK11boolruntimefalsediagnostic
Trace creation and removal of compiler threads
share/runtime/globals.hpp
TraceCreateZombiesOpenJDK6boolruntimefalsedevelop
trace creation of zombie nmethods
share/runtime/globals.hpp
TraceDeoptimizationOpenJDK6boolruntimefalsedevelop
Trace deoptimization
share/runtime/globals.hpp
TraceDependenciesOpenJDK6boolruntimefalsedevelop
Trace dependencies
share/runtime/globals.hpp
TraceDerivedPointersOpenJDK6boolruntimefalsedevelop
Trace traversal of derived pointers on stack
share/runtime/globals.hpp
TraceFPURegisterUsageOpenJDK6boolc1falsedevelop
Trace usage of FPU registers at start of blocks (intel only)
share/c1/c1_globals.hpp
TraceFPUStackOpenJDK6boolc1falsedevelop
Trace emulation of the FPU stack (intel only)
share/c1/c1_globals.hpp
TraceFinalizerRegistrationOpenJDK6boolruntimefalsedevelop
Trace registration of final references
share/runtime/globals.hpp
TraceFrequencyInliningOpenJDK6boolruntimefalsedevelop
Trace frequency based inlining
share/runtime/globals.hpp
TraceGCTaskManagerOpenJDK6boolgcfalsedevelop
Trace actions of the GC task manager
share/gc/parallel/parallel_globals.hpp
TraceGCTaskQueueOpenJDK6boolgcfalsedevelop
Trace actions of the GC task queues
share/gc/parallel/parallel_globals.hpp
TraceICBufferOpenJDK6boolruntimefalsedevelop
Trace usage of IC buffer
share/runtime/globals.hpp
TraceICsOpenJDK6boolruntimefalsedevelop
Trace inline cache changes
share/runtime/globals.hpp
TraceInlineCacheClearingOpenJDK6boolruntimefalsedevelop
Trace clearing of inline caches in nmethods
share/runtime/globals.hpp
TraceInvocationCounterOverflowOpenJDK6boolruntimefalsenotproduct
Trace method invocation counter overflow
share/runtime/globals.hpp
TraceInvokeDynamicOpenJDK6Obsoleted in JDK16
Expired in JDK17
boolruntimefalsedevelop
trace internal invoke dynamic operations
share/runtime/globals.hpp
TraceIterativeGVNOpenJDK6boolc2falsedevelop
Print progress during Iterative Global Value Numbering
share/opto/c2_globals.hpp
TraceJVMTIObjectTaggingOpenJDK6Obsoleted in JDK16
Expired in JDK17
boolruntimefalsediagnostic
Trace JVMTI object tagging calls
share/runtime/globals.hpp
TraceJVMTIOpenJDK6ccstrruntimeNULLproduct
Trace flags for JVMTI functions and events
share/runtime/globals.hpp
TraceJavaAssertionsOpenJDK6boolruntimefalsedevelop
Trace java language assertions
share/runtime/globals.hpp
TraceLinearScanLevelOpenJDK6intxc10
range(0, 4)
develop
Debug levels for the linear scan allocator
share/c1/c1_globals.hpp
TraceLivenessGenOpenJDK6boolruntimefalsedevelop
Trace the generation of liveness analysis information
share/runtime/globals.hpp
TraceLivenessQueryOpenJDK6boolruntimefalsenotproduct
Trace queries of liveness analysis information
share/runtime/globals.hpp
TraceLongCompilesOpenJDK6boolruntimefalsedevelop
Print out every time compilation is longer than 
a given threshold
share/runtime/globals.hpp
TraceLoopLimitCheckOpenJDK6boolc2falsedevelop
Trace generation of loop limits checks
share/opto/c2_globals.hpp
TraceLoopOptsOpenJDK6boolc2falsedevelop
Trace executed loop optimizations
share/opto/c2_globals.hpp
TraceLoopPredicateOpenJDK6boolc2falsedevelop
Trace generation of loop predicates
share/opto/c2_globals.hpp
TraceLoopUnswitchingOpenJDK6boolc2falsenotproduct
Trace loop unswitching
share/opto/c2_globals.hpp
TraceMethodHandlesOpenJDK6Obsoleted in JDK16
Expired in JDK17
boolruntimefalsedevelop
trace internal method handle operations
share/runtime/globals.hpp
TraceMethodReplacementOpenJDK6boolruntimefalsedevelop
Print when methods are replaced do to recompilation
share/runtime/globals.hpp
TraceNMethodInstallsOpenJDK6Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15
boolruntimefalsediagnostic
Trace nmethod installation
share/runtime/globals.hpp
TraceNewOopMapGenerationDetailedOpenJDK6boolruntimefalsedevelop
Trace OopMapGeneration: print detailed cell states
share/runtime/globals.hpp
TraceNewOopMapGenerationOpenJDK6boolruntimefalsedevelop
Trace OopMapGeneration
share/runtime/globals.hpp
TraceNewVectorsOpenJDK7boolc2falsenotproduct
Trace creation of Vector nodes
share/opto/c2_globals.hpp
TraceOnStackReplacementOpenJDK6boolruntimefalsenotproduct
Trace on stack replacement
share/runtime/globals.hpp
TraceOopMapRewritesOpenJDK6boolruntimefalsedevelop
Trace rewriting of method oops during oop map generation
share/runtime/globals.hpp
TraceOptimizeFillOpenJDK6boolc2falsedevelop
print detailed information about fill conversion
share/opto/c2_globals.hpp
TraceOptoOutputOpenJDK6boolc2falsenotproduct
Trace pipelining information
share/opto/c2_globals.hpp
TraceOptoParseOpenJDK6boolc2falsedevelop
Trace bytecode parse and control-flow merge
share/opto/c2_globals.hpp
TraceOptoPipeliningOpenJDK6boolc2falsenotproduct
Trace pipelining information
share/opto/c2_globals.hpp
TraceParallelOldGCDensePrefixOpenJDK6boolgcfalsedevelop
Trace dense prefix computation for ParallelOldGC
share/gc/parallel/parallel_globals.hpp
TraceParallelOldGCMarkingPhaseOpenJDK6boolgcfalsedevelop
Trace marking phase in ParallelOldGC
share/gc/parallel/parallel_globals.hpp
TracePartialPeelingOpenJDK6boolc2falsenotproduct
Trace partial peeling (loop rotation) information
share/opto/c2_globals.hpp
TracePatchingOpenJDK6boolc1falsedevelop
Trace patching of field access on uninitialized classes
share/c1/c1_globals.hpp
TracePcPatchingOpenJDK6boolruntimefalsedevelop
Trace usage of frame::patch_pc
share/runtime/globals.hpp
TracePhaseCCPOpenJDK6boolc2falsenotproduct
Print progress during Conditional Constant Propagation
share/opto/c2_globals.hpp
TracePostallocExpandOpenJDK8boolc2falsedevelop
Trace expanding nodes after
 register allocation.
share/opto/c2_globals.hpp
TracePredicateFailedTrapsOpenJDK8boolc1falsedevelop
trace runtime traps caused by predicate failure
share/c1/c1_globals.hpp
TraceProfileInterpreterOpenJDK7boolruntimefalsedevelop
Trace profiling at the bytecode level during interpretation. 
This outputs the profiling information collected to improve 
jit compilation.
share/runtime/globals.hpp
TraceProfileTripCountOpenJDK6boolc2falsenotproduct
Trace profile loop trip count information
share/opto/c2_globals.hpp
TraceRangeCheckEliminationOpenJDK8boolc1falsedevelop
Trace Range Check Elimination
share/c1/c1_globals.hpp
TraceRangeLimitCheckOpenJDK6boolc2falsedevelop
Trace additional overflow checks in RCE
share/opto/c2_globals.hpp
TraceRelocatorOpenJDK6boolruntimefalsedevelop
Trace the bytecode relocator
share/runtime/globals.hpp
TraceSpillingOpenJDK6boolc2falsediagnostic
Trace spilling
share/opto/c2_globals.hpp
TraceSuperWordLoopUnrollAnalysisOpenJDK9boolc2falsenotproduct
Trace what Superword Level Parallelism analysis applies
share/opto/c2_globals.hpp
TraceSuperWordOpenJDK6boolc2falsenotproduct
Trace superword transforms
share/opto/c2_globals.hpp
TraceSuspendWaitFailuresOpenJDK6Obsoleted in JDK17
Expired in JDK18
boolruntimefalseproduct
Trace external suspend wait failures
share/runtime/globals.hpp
TraceTrapsOpenJDK7boolaarch64falseproduct
Trace all traps the signal handler
cpu/aarch64/globals_aarch64.hpp
TraceTrapsOpenJDK7boolppcfalseproduct
Trace all traps the signal handler
handles.
cpu/ppc/globals_ppc.hpp
TraceTrapsOpenJDK7bools390falseproduct
Trace all traps the signal handler
handles.
cpu/s390/globals_s390.hpp
TraceTypeProfileOpenJDK6boolc2falsediagnostic
Trace type profile
share/opto/c2_globals.hpp
TraceUncollectedSpeculationsOpenJDK9booljvmcifalsedevelop
Print message when a failed speculation was not collected
share/jvmci/jvmci_globals.hpp
TrackedInitializationLimitOpenJDK6intxc250
range(0, 65535)
product
When initializing fields, track up to this many words
share/opto/c2_globals.hpp
TrapBasedICMissChecksOpenJDK7boolppctrueproduct
Raise and handle SIGTRAP if inline cache miss detected.
cpu/ppc/globals_ppc.hpp
TrapBasedNotEntrantChecksOpenJDK7boolppctrueproduct
Raise and handle SIGTRAP if calling not entrant or zombie
 method.
cpu/ppc/globals_ppc.hpp
TrapBasedNullChecksOpenJDK7boolaarch64falsedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
TrapBasedNullChecksOpenJDK7boolarmfalsedefine_pd_global
// Not needed
cpu/arm/globals_arm.hpp
TrapBasedNullChecksOpenJDK7boolruntimeproduct_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).
share/runtime/globals.hpp
TrapBasedNullChecksOpenJDK7boolppctruedefine_pd_global
cpu/ppc/globals_ppc.hpp
TrapBasedNullChecksOpenJDK7bools390truedefine_pd_global
cpu/s390/globals_s390.hpp
TrapBasedNullChecksOpenJDK7boolsparcfalsedefine_pd_global
// Not needed on sparc.
cpu/sparc/globals_sparc.hpp
TrapBasedNullChecksOpenJDK7boolx86falsedefine_pd_global
// Not needed on x86.
cpu/x86/globals_x86.hpp
TrapBasedNullChecksOpenJDK7boolzerofalsedefine_pd_global
cpu/zero/globals_zero.hpp
TrapBasedRangeChecksOpenJDK7boolaarch64falsedefine_pd_global
// Not needed.
cpu/aarch64/c2_globals_aarch64.hpp
TrapBasedRangeChecksOpenJDK7boolc2product_pd
Generate code for range checks that uses a cmp and trap 
instruction raising SIGTRAP. Used on PPC64.
share/opto/c2_globals.hpp
TrapBasedRangeChecksOpenJDK7boolppctruedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
TrapBasedRangeChecksOpenJDK7bools390falsedefine_pd_global
// Not needed on z/Architecture.
cpu/s390/c2_globals_s390.hpp
TrapBasedRangeChecksOpenJDK7boolsparcfalsedefine_pd_global
// Not needed on sparc.
cpu/sparc/c2_globals_sparc.hpp
TrapBasedRangeChecksOpenJDK7boolx86falsedefine_pd_global
// Not needed on x86.
cpu/x86/c2_globals_x86.hpp
TrustFinalNonStaticFieldsOpenJDK6boolruntimefalseexperimental
trust final non-static declarations for constant folding
share/runtime/globals.hpp
TwoOperandLIRFormOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
TwoOperandLIRFormOpenJDK6boolarmfalsedefine_pd_global
cpu/arm/c1_globals_arm.hpp
TwoOperandLIRFormOpenJDK6boolc1develop_pd
true if LIR requires src1 and dst to match in binary LIR ops
share/c1/c1_globals.hpp
TwoOperandLIRFormOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
TwoOperandLIRFormOpenJDK6bools390truedefine_pd_global
cpu/s390/c1_globals_s390.hpp
TwoOperandLIRFormOpenJDK6boolsparcfalsedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
TwoOperandLIRFormOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
TypeProfileArgsLimitOpenJDK8intxruntime2
range(0, 16)
product
max number of call arguments to consider for type profiling
share/runtime/globals.hpp
TypeProfileCastsOpenJDK6boolruntimetruedevelop
treat casts like calls for purposes of type profiling
share/runtime/globals.hpp
TypeProfileLevelOpenJDK8uintxaarch64111define_pd_global
cpu/aarch64/globals_aarch64.hpp
TypeProfileLevelOpenJDK8uintxarm0define_pd_global
cpu/arm/globals_arm.hpp
TypeProfileLevelOpenJDK8uintxruntimeproduct_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
share/runtime/globals.hpp
TypeProfileLevelOpenJDK8uintxppc111define_pd_global
cpu/ppc/globals_ppc.hpp
TypeProfileLevelOpenJDK8uintxs390111define_pd_global
cpu/s390/globals_s390.hpp
TypeProfileLevelOpenJDK8uintxsparc111define_pd_global
cpu/sparc/globals_sparc.hpp
TypeProfileLevelOpenJDK8uintxx86111define_pd_global
cpu/x86/globals_x86.hpp
TypeProfileLevelOpenJDK8uintxzero0define_pd_global
cpu/zero/globals_zero.hpp
TypeProfileMajorReceiverPercentOpenJDK6intxc290
range(0, 100)
product
% of major receiver type to all profiled receivers
share/opto/c2_globals.hpp
TypeProfileParmsLimitOpenJDK8intxruntime2
range(-1, 64)
product
max number of incoming parameters to consider for type profiling
, -1 for all
share/runtime/globals.hpp
TypeProfileWidthOpenJDK6intxruntime2
range(0, 8)
product
Number of receiver types to record in call/cast profile
share/runtime/globals.hpp
UncommonNullCastOpenJDK6boolaarch64truedefine_pd_global
// Uncommon-trap NULLs past to check cast
cpu/aarch64/globals_aarch64.hpp
UncommonNullCastOpenJDK6boolarmtruedefine_pd_global
// Uncommon-trap NULLs past to check cast
cpu/arm/globals_arm.hpp
UncommonNullCastOpenJDK6boolruntimedevelop_pd
track occurrences of null in casts; adjust compiler tactics
share/runtime/globals.hpp
UncommonNullCastOpenJDK6boolppctruedefine_pd_global
// Uncommon-trap NULLs passed to check cast.
cpu/ppc/globals_ppc.hpp
UncommonNullCastOpenJDK6bools390truedefine_pd_global
// Uncommon-trap NULLs passed to check cast.
cpu/s390/globals_s390.hpp
UncommonNullCastOpenJDK6boolsparctruedefine_pd_global
// Uncommon-trap NULLs passed to check cast
cpu/sparc/globals_sparc.hpp
UncommonNullCastOpenJDK6boolx86truedefine_pd_global
// Uncommon-trap NULLs passed to check cast
cpu/x86/globals_x86.hpp
UncommonNullCastOpenJDK6boolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
UnguardOnExecutionViolationOpenJDK6intxruntime0
range(0, 2)
product
Unguard page and retry on no-execute fault (Win32 only) 

0=off, 1=conservative, 2=aggressive
share/runtime/globals.hpp
UnlockDiagnosticVMOptionsOpenJDK6boolruntimetrueInDebugdiagnostic
Enable normal processing of flags relating to field diagnostics
share/runtime/globals.hpp
UnlockExperimentalVMOptionsOpenJDK6boolruntimefalseexperimental
Enable normal processing of flags relating to experimental 
features
share/runtime/globals.hpp
UnrollLimitForProfileCheckOpenJDK6intxc21
range(0, max_intx)
develop
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.
share/opto/c2_globals.hpp
Use24BitFPModeOpenJDK6boolc2truedevelop
Set 24-bit FPU mode on a per-compile basis
share/opto/c2_globals.hpp
Use24BitFPOpenJDK6boolc2truedevelop
use FP instructions that produce 24-bit precise results
share/opto/c2_globals.hpp
Use64KPagesThresholdOpenJDK9uintxaix0develop
4K/64K page allocation threshold.
os/aix/globals_aix.hpp
Use64KPagesOpenJDK9boolaixtrueproduct
Use 64K pages if available.
os/aix/globals_aix.hpp
UseAESCTRIntrinsicsOpenJDK9boolruntimefalsediagnostic
Use intrinsics for the paralleled version of AES/CTR crypto
share/runtime/globals.hpp
UseAESIntrinsicsOpenJDK7boolruntimefalsediagnostic
Use intrinsics for AES versions of crypto
share/runtime/globals.hpp
UseAESOpenJDK7boolruntimefalseproduct
Control whether AES instructions are used when available
share/runtime/globals.hpp
UseAOTStrictLoadingOpenJDK9boolruntimefalsediagnostic
Exit the VM if any of the AOT libraries has invalid config
share/runtime/globals.hpp
UseAOTOpenJDK9boolruntimeAOT_ONLY(true) NOT_AOT(false)product
Use AOT compiled files
share/runtime/globals.hpp
UseAVXOpenJDK6intxx863
range(0, 99)
product
Highest supported AVX instructions set on x86/x64
cpu/x86/globals_x86.hpp
UseAdaptiveGCBoundaryOpenJDK6Obsoleted in JDK15
Expired in JDK16
boolgcfalseproduct
Allow young-old boundary to move
share/gc/shared/gc_globals.hpp
UseAdaptiveGenerationSizePolicyAtMajorCollectionOpenJDK6boolgctrueproduct
Use adaptive young-old sizing policies at major collections
share/gc/shared/gc_globals.hpp
UseAdaptiveGenerationSizePolicyAtMinorCollectionOpenJDK6boolgctrueproduct
Use adaptive young-old sizing policies at minor collections
share/gc/shared/gc_globals.hpp
UseAdaptiveNUMAChunkSizingOpenJDK6boolruntimetrueproduct
Enable adaptive chunk sizing for NUMA
share/runtime/globals.hpp
UseAdaptiveSizeDecayMajorGCCostOpenJDK6boolgctrueproduct
Adaptive size decays the major cost for long major intervals
share/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyFootprintGoalOpenJDK6boolgctrueproduct
Use adaptive minimum footprint as a goal
share/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyWithSystemGCOpenJDK6boolgcfalseproduct
Include statistics from System.gc() for adaptive size policy
share/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyOpenJDK6boolgctrueproduct
Use adaptive generation sizing policies
share/gc/shared/gc_globals.hpp
UseAddressNopOpenJDK6boolx86falseproduct
Use '0F 1F [addr]' NOP instructions on x86 cpus
cpu/x86/globals_x86.hpp
UseAdler32IntrinsicsOpenJDK9boolruntimefalsediagnostic
use intrinsics for java.util.zip.Adler32
share/runtime/globals.hpp
UseBASE64IntrinsicsOpenJDK11boolruntimefalseproduct
Use intrinsics for java.util.Base64
share/runtime/globals.hpp
UseBMI1InstructionsOpenJDK8boolx86falseproduct
Use BMI1 instructions
cpu/x86/globals_x86.hpp
UseBMI2InstructionsOpenJDK8boolx86falseproduct
Use BMI2 instructions
cpu/x86/globals_x86.hpp
UseBarriersForVolatileOpenJDK9Obsoleted in JDK15
Expired in JDK16
boolaarch64falseproduct
Use memory barriers to implement volatile accesses
cpu/aarch64/globals_aarch64.hpp
UseBiasedLockingOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolruntimetrueproduct
Enable biased locking in JVM
share/runtime/globals.hpp
UseBimorphicInliningOpenJDK6boolc2trueproduct
Profiling based inlining for two receivers
share/opto/c2_globals.hpp
UseBlockCopyOpenJDK6boolsparcfalseproduct
Use special cpu instructions for block copy
cpu/sparc/globals_sparc.hpp
UseBlockZeroingOpenJDK6boolaarch64trueproduct
Use DC ZVA for block zeroing
cpu/aarch64/globals_aarch64.hpp
UseBlockZeroingOpenJDK6boolsparcfalseproduct
Use special cpu instructions for block zeroing
cpu/sparc/globals_sparc.hpp
UseBootstrapCallInfoOpenJDK11intruntime1diagnostic
0: when resolving InDy or ConDy, force all BSM arguments to be 
resolved before the bootstrap method is called; 1: when a BSM 
that may accept a BootstrapCallInfo is detected, use that API 
to pass BSM arguments, which allows the BSM to delay their 
resolution; 2+: stress test the BCI API by calling more BSMs 
via that API, instead of with the eagerly-resolved array.
share/runtime/globals.hpp
UseBsdPosixThreadCPUClocksOpenJDK6Obsoleted in JDK16
Expired in JDK17
boolbsdtrueproduct
enable fast Bsd Posix clocks where available
os/bsd/globals_bsd.hpp
UseByteReverseInstructionOpenJDK9bools390trueproduct
Use byte reverse instruction.
cpu/s390/globals_s390.hpp
UseC1OptimizationsOpenJDK6boolc1truedevelop
Turn on C1 optimizations
share/c1/c1_globals.hpp
UseCASForSwapOpenJDK6boolsparcfalsedevelop
Do not use swap instructions, but only CAS (in a loop) on SPARC
cpu/sparc/globals_sparc.hpp
UseCBCondOpenJDK6boolsparcfalseproduct
Use compare and branch instruction on SPARC
cpu/sparc/globals_sparc.hpp
UseCHAOpenJDK6boolruntimetruedevelop
Enable CHA
share/runtime/globals.hpp
UseCISCSpillOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
UseCISCSpillOpenJDK6boolc2develop_pd
Use ADLC supplied cisc instructions during allocation
share/opto/c2_globals.hpp
UseCISCSpillOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
UseCISCSpillOpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
UseCISCSpillOpenJDK6boolsparcfalsedefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
UseCISCSpillOpenJDK6boolx86truedefine_pd_global
cpu/x86/c2_globals_x86.hpp
UseCLMULOpenJDK8boolx86falseproduct
Control whether CLMUL instructions can be used on x86/x64
cpu/x86/globals_x86.hpp
UseCMSBestFitOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgctrueproduct
Use CMS best fit allocation strategy
share/gc/cms/cms_globals.hpp
UseCMSInitiatingOccupancyOnlyOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
Only use occupancy as a criterion for starting a CMS collection
share/gc/cms/cms_globals.hpp
UseCMoveUnconditionallyOpenJDK9boolc2falseproduct
Use CMove (scalar and vector) ignoring profitability test.
share/opto/c2_globals.hpp
UseCRC32CIntrinsicsOpenJDK9boolruntimefalsediagnostic
use intrinsics for java.util.zip.CRC32C
share/runtime/globals.hpp
UseCRC32IntrinsicsOpenJDK8boolruntimefalsediagnostic
use intrinsics for java.util.zip.CRC32
share/runtime/globals.hpp
UseCRC32OpenJDK9boolaarch64falseproduct
Use CRC32 instructions for CRC32 computation
cpu/aarch64/globals_aarch64.hpp
UseCharacterCompareIntrinsicsOpenJDK11boolc2falsediagnostic
Enables intrinsification of java.lang.Character functions
share/opto/c2_globals.hpp
UseCodeAgingOpenJDK9Obsoleted in JDK20
Expired in JDK21
boolruntimetrueproduct
Insert counter to detect warm methods
share/runtime/globals.hpp
UseCodeCacheFlushingOpenJDK6boolruntimetrueproduct
Remove cold/old nmethods from the code cache
share/runtime/globals.hpp
UseCompilerOpenJDK6boolruntimetrueproduct
Use Just-In-Time compilation
share/runtime/globals.hpp
UseCompressedClassPointersOpenJDK8boolruntimefalselp64_product
Use 32-bit class pointers in 64-bit VM. 
lp64_product means flag is always constant in 32 bit VM
share/runtime/globals.hpp
UseCompressedOopsOpenJDK6boolruntimefalselp64_product
Use 32-bit object references in 64-bit VM. 
lp64_product means flag is always constant in 32 bit VM
share/runtime/globals.hpp
UseConcMarkSweepGCOpenJDK6Obsoleted in JDK14
Expired in JDK15
boolgcfalseproduct
Use Concurrent Mark-Sweep GC in the old generation
share/gc/shared/gc_globals.hpp
UseCondCardMarkOpenJDK6boolgcfalseproduct
Check for already marked card before updating card table
share/gc/shared/gc_globals.hpp
UseContainerSupportOpenJDK10boollinuxtrueproduct
Enable detection and runtime container configuration support
os/linux/globals_linux.hpp
UseCountLeadingZerosInstructionOpenJDK6boolx86falseproduct
Use count leading zeros instruction
cpu/x86/globals_x86.hpp
UseCountLeadingZerosInstructionsPPC64OpenJDK7boolppctrueproduct
Use count leading zeros instructions.
cpu/ppc/globals_ppc.hpp
UseCountTrailingZerosInstructionOpenJDK8boolx86falseproduct
Use count trailing zeros instruction
cpu/x86/globals_x86.hpp
UseCountTrailingZerosInstructionsPPC64OpenJDK11boolppcfalseproduct
Use count trailing zeros instructions.
cpu/ppc/globals_ppc.hpp
UseCountedLoopSafepointsOpenJDK7boolc2falseproduct
Force counted loops to keep a safepoint
share/opto/c2_globals.hpp
UseCounterDecayOpenJDK6Obsoleted in JDK22
Expired in JDK23
boolruntimetrueproduct
Adjust recompilation counters
share/runtime/globals.hpp
UseCpuAllocPathOpenJDK9boollinuxfalsediagnostic
Use CPU_ALLOC code path in os::active_processor_count
os/linux/globals_linux.hpp
UseCriticalCMSThreadPriorityOpenJDK6boolruntimefalseexperimental
ConcurrentMarkSweep thread runs at critical scheduling priority
share/runtime/globals.hpp
UseCriticalCompilerThreadPriorityOpenJDK6boolruntimefalseexperimental
Compiler thread(s) run at critical scheduling priority
share/runtime/globals.hpp
UseCriticalJavaThreadPriorityOpenJDK6boolruntimefalseexperimental
Java thread priority 10 maps to critical scheduling priority
share/runtime/globals.hpp
UseDetachedThreadsOpenJDK6boolruntimetruedevelop
Use detached threads that are recycled upon termination 
(for Solaris only)
share/runtime/globals.hpp
UseDivModOpenJDK6boolc2trueproduct
Use combined DivMod instruction if available
share/opto/c2_globals.hpp
UseDynamicNumberOfCompilerThreadsOpenJDK11boolruntimetrueproduct
Dynamically choose the number of parallel compiler threads
share/runtime/globals.hpp
UseDynamicNumberOfGCThreadsOpenJDK6boolgctrueproduct
Dynamically choose the number of threads up to a maximum of 
ParallelGCThreads parallel collectors will use for garbage 
collection work
share/gc/shared/gc_globals.hpp
UseEpsilonGCOpenJDK11boolgcfalseexperimental
Use the Epsilon (no-op) garbage collector
share/gc/shared/gc_globals.hpp
UseExactTypesOpenJDK6boolc2truedevelop
Use exact types to eliminate array store checks and v-calls
share/opto/c2_globals.hpp
UseExplicitCommitOpenJDK9boolaixfalseproduct
Explicit commit for virtual memory.
os/aix/globals_aix.hpp
UseExtendedFileIOOpenJDK6boolsolaristrueproduct
Enable workaround for limitations of stdio FILE structure
os/solaris/globals_solaris.hpp
UseExtendedLoadAndReserveInstructionsPPC64OpenJDK7boolppcfalseproduct
Use extended versions of load-and-reserve instructions.
cpu/ppc/globals_ppc.hpp
UseFMAOpenJDK9boolruntimefalseproduct
Control whether FMA instructions are used when available
share/runtime/globals.hpp
UseFPUForSpillingOpenJDK6boolc2falseproduct
Spill integer registers to FPU instead of stack when possible
share/opto/c2_globals.hpp
UseFakeTimersOpenJDK6boolruntimefalsedevelop
Tell whether the VM should use system time or a fake timer
share/runtime/globals.hpp
UseFastAccessorMethodsOpenJDK6boolzerotrueproduct
Use fast method entry code for accessor methods
cpu/zero/globals_zero.hpp
UseFastEmptyMethodsOpenJDK6boolzerotrueproduct
Use fast method entry code for empty methods
cpu/zero/globals_zero.hpp
UseFastJNIAccessorsOpenJDK6boolruntimetrueproduct
Use optimized versions of GetField
share/runtime/globals.hpp
UseFastLockingOpenJDK6boolc1truedevelop
Use fast inlined locking code
share/c1/c1_globals.hpp
UseFastNewInstanceOpenJDK6boolc1truedevelop
Use fast inlined instance allocation
share/c1/c1_globals.hpp
UseFastNewObjectArrayOpenJDK6boolc1truedevelop
Use fast inlined object array allocation
share/c1/c1_globals.hpp
UseFastNewTypeArrayOpenJDK6boolc1truedevelop
Use fast inlined type array allocation
share/c1/c1_globals.hpp
UseFastSignatureHandlersOpenJDK6boolruntimetruedevelop
Use fast signature handlers for native calls
share/runtime/globals.hpp
UseFastStosbOpenJDK7boolx86falseproduct
Use fast-string operation for zeroing: rep stosb
cpu/x86/globals_x86.hpp
UseFastUnorderedTimeStampsOpenJDK11boolruntimefalseexperimental
Use platform unstable time where supported for timestamps only
share/runtime/globals.hpp
UseG1GCOpenJDK6boolgcfalseproduct
Use the Garbage-First garbage collector
share/gc/shared/gc_globals.hpp
UseGCOverheadLimitOpenJDK6boolgctrueproduct
Use policy to limit of proportion of time spent in GC 
before an OutOfMemory error is thrown
share/gc/shared/gc_globals.hpp
UseGCTaskAffinityOpenJDK6Obsoleted in JDK14
Expired in JDK16
boolgcfalseproduct
Use worker affinity when asking for GCTasks
share/gc/shared/gc_globals.hpp
UseGHASHIntrinsicsOpenJDK9boolruntimefalsediagnostic
Use intrinsics for GHASH versions of crypto
share/runtime/globals.hpp
UseGlobalValueNumberingOpenJDK6boolc1truedevelop
Use Global Value Numbering (separate phase)
share/c1/c1_globals.hpp
UseHeavyMonitorsOpenJDK6Deprecated in JDK18
Obsoleted in JDK19
Expired in JDK20
boolruntimefalseproduct
use heavyweight instead of lightweight Java monitors
share/runtime/globals.hpp
UseHugeTLBFSOpenJDK6Obsoleted in JDK22
Expired in JDK23
boollinuxfalseproduct
Use MAP_HUGETLB for large pages
os/linux/globals_linux.hpp
UseImplicitStableValuesOpenJDK8Obsoleted in JDK13
Expired in JDK14
boolc2truediagnostic
Mark well-known stable fields as such (e.g. String.value)
share/opto/c2_globals.hpp
UseIncDecOpenJDK6boolx86truediagnostic
Use INC, DEC instructions on x86
cpu/x86/globals_x86.hpp
UseInlineCachesOpenJDK6boolruntimetrueproduct
Use Inline Caches for virtual calls
share/runtime/globals.hpp
UseInlineDepthForSpeculativeTypesOpenJDK8boolc2truediagnostic
Carry inline depth of profile point with speculative type 
and give priority to profiling from lower inline depth
share/opto/c2_globals.hpp
UseInterpreterOpenJDK6boolruntimetrueproduct
Use interpreter for non-compiled methods
share/runtime/globals.hpp
UseJVMCICompilerOpenJDK9booljvmcifalseexperimental
Use JVMCI as the default compiler
share/jvmci/jvmci_globals.hpp
UseJumpTablesOpenJDK6boolc2trueproduct
Use JumpTables instead of a binary search tree for switches
share/opto/c2_globals.hpp
UseLSEOpenJDK9boolaarch64falseproduct
Use LSE instructions
cpu/aarch64/globals_aarch64.hpp
UseLWPSynchronizationOpenJDK6Obsoleted in JDK15
Expired in JDK16
boolruntimetrueproduct
Use LWP-based instead of libthread-based synchronization 
(SPARC only)
share/runtime/globals.hpp
UseLargePagesInMetaspaceOpenJDK8Deprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct
Use large page memory in metaspace. 
Only used if UseLargePages is enabled.
share/runtime/globals.hpp
UseLargePagesIndividualAllocationOpenJDK6boolaixfalsedefine_pd_global
os/aix/globals_aix.hpp
UseLargePagesIndividualAllocationOpenJDK6boolbsdfalsedefine_pd_global
os/bsd/globals_bsd.hpp
UseLargePagesIndividualAllocationOpenJDK6boollinuxfalsedefine_pd_global
os/linux/globals_linux.hpp
UseLargePagesIndividualAllocationOpenJDK6boolruntimeproduct_pd
Allocate large pages individually for better affinity
share/runtime/globals.hpp
UseLargePagesIndividualAllocationOpenJDK6boolsolarisfalsedefine_pd_global
os/solaris/globals_solaris.hpp
UseLargePagesIndividualAllocationOpenJDK6boolwindowstruedefine_pd_global
os/windows/globals_windows.hpp
UseLargePagesOpenJDK6boolaixfalsedefine_pd_global
os/aix/globals_aix.hpp
UseLargePagesOpenJDK6boolbsdfalsedefine_pd_global
os/bsd/globals_bsd.hpp
UseLargePagesOpenJDK6boollinuxfalsedefine_pd_global
os/linux/globals_linux.hpp
UseLargePagesOpenJDK6boolruntimeproduct_pd
Use large page memory
share/runtime/globals.hpp
UseLargePagesOpenJDK6boolsolaristruedefine_pd_global
os/solaris/globals_solaris.hpp
UseLargePagesOpenJDK6boolwindowsfalsedefine_pd_global
os/windows/globals_windows.hpp
UseLibmIntrinsicOpenJDK9boolx86truediagnostic
Use Libm Intrinsics
cpu/x86/globals_x86.hpp
UseLinuxPosixThreadCPUClocksOpenJDK6boollinuxtrueproduct
enable fast Linux Posix clocks where available
os/linux/globals_linux.hpp
UseLoadInstructionsForStackBangingPPC64OpenJDK7boolppcfalseproduct
Use load instructions for stack banging.
cpu/ppc/globals_ppc.hpp
UseLocalValueNumberingOpenJDK6boolc1truedevelop
Use Local Value Numbering (embedded in GraphBuilder)
share/c1/c1_globals.hpp
UseLoopCounterOpenJDK6boolruntimetrueproduct
Increment invocation counter on backward branch
share/runtime/globals.hpp
UseLoopInvariantCodeMotionOpenJDK8boolc1trueproduct
Simple loop invariant code motion for short loops during GVN
share/c1/c1_globals.hpp
UseLoopPredicateOpenJDK6boolc2trueproduct
Generate a predicate to select fast/slow loop versions
share/opto/c2_globals.hpp
UseLoopSafepointsOpenJDK6boolruntimetruedevelop
Generate Safepoint nodes in every loop
share/runtime/globals.hpp
UseMPMULOpenJDK10boolsparcfalseproduct
Use multi-precision multiply instruction (mpmul) on SPARC
cpu/sparc/globals_sparc.hpp
UseMallocOnlyOpenJDK6boolruntimefalsedevelop
Use only malloc/free for allocation (no resource area/arena)
share/runtime/globals.hpp
UseMathExactIntrinsicsOpenJDK8boolc2truediagnostic
Enables intrinsification of various java.lang.Math functions
share/opto/c2_globals.hpp
UseMaximumCompactionOnSystemGCOpenJDK6boolgctrueproduct
Use maximum compaction in the Parallel Old garbage collector 
for a system GC
share/gc/parallel/parallel_globals.hpp
UseMontgomeryMultiplyIntrinsicOpenJDK8boolc2falsediagnostic
Enables intrinsification of BigInteger.montgomeryMultiply()
share/opto/c2_globals.hpp
UseMontgomerySquareIntrinsicOpenJDK8boolc2falsediagnostic
Enables intrinsification of BigInteger.montgomerySquare()
share/opto/c2_globals.hpp
UseMulAddIntrinsicOpenJDK8boolc2falsediagnostic
Enables intrinsification of BigInteger.mulAdd()
share/opto/c2_globals.hpp
UseMultiplyToLenIntrinsicOpenJDK8boolc2falsediagnostic
Enables intrinsification of BigInteger.multiplyToLen()
share/opto/c2_globals.hpp
UseNUMAInterleavingOpenJDK6boolruntimefalseproduct
Interleave memory across NUMA nodes if available
share/runtime/globals.hpp
UseNUMAOpenJDK6boolruntimefalseproduct
Use NUMA if available
share/runtime/globals.hpp
UseNeonOpenJDK9boolaarch64falseproduct
Use Neon for CRC32 computation
cpu/aarch64/globals_aarch64.hpp
UseNewCode2OpenJDK6boolruntimefalsediagnostic
Testing Only: Use the new version while testing
share/runtime/globals.hpp
UseNewCode3OpenJDK6boolruntimefalsediagnostic
Testing Only: Use the new version while testing
share/runtime/globals.hpp
UseNewCodeOpenJDK6boolruntimefalsediagnostic
Testing Only: Use the new version while testing
share/runtime/globals.hpp
UseNewLongLShiftOpenJDK6boolx86falseproduct
Use optimized bitwise shift left
cpu/x86/globals_x86.hpp
UseNiagaraInstrsOpenJDK6boolsparcfalseproduct
Use Niagara-efficient instruction subset
cpu/sparc/globals_sparc.hpp
UseOSErrorReportingOpenJDK6boolaixfalsedefine_pd_global
os/aix/globals_aix.hpp
UseOSErrorReportingOpenJDK6boolbsdfalsedefine_pd_global
os/bsd/globals_bsd.hpp
UseOSErrorReportingOpenJDK6boollinuxfalsedefine_pd_global
os/linux/globals_linux.hpp
UseOSErrorReportingOpenJDK6boolruntimeproduct_pd
Let VM fatal error propagate to the OS (ie. WER on Windows)
share/runtime/globals.hpp
UseOSErrorReportingOpenJDK6boolsolarisfalsedefine_pd_global
os/solaris/globals_solaris.hpp
UseOSErrorReportingOpenJDK6boolwindowsfalsedefine_pd_global
// for now.
os/windows/globals_windows.hpp
UseOWSTTaskTerminatorOpenJDK12boolgctruediagnostic
Use Optimized Work Stealing Threads task termination 
protocol
share/gc/shared/gc_globals.hpp
UseOnStackReplacementOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
UseOnStackReplacementOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
UseOnStackReplacementOpenJDK6boolruntimeproduct_pd
Use on stack replacement, calls runtime if invoc. counter 
overflows in loop
share/runtime/globals.hpp
UseOnStackReplacementOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
UseOnStackReplacementOpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
UseOnStackReplacementOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
UseOnStackReplacementOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
UseOnlyInlinedBimorphicOpenJDK6boolc2trueproduct
Don't use BimorphicInlining if can't inline a second method
share/opto/c2_globals.hpp
UseOprofileOpenJDK6Obsoleted in JDK16
Expired in JDK17
boolbsdfalseproduct
enable support for Oprofile profiler
os/bsd/globals_bsd.hpp
UseOprofileOpenJDK6Obsoleted in JDK16
Expired in JDK17
boollinuxfalseproduct
enable support for Oprofile profiler
os/linux/globals_linux.hpp
UseOptoBiasInliningOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolc2trueproduct
Generate biased locking code in C2 ideal graph
share/opto/c2_globals.hpp
UsePSAdaptiveSurvivorSizePolicyOpenJDK6boolgctrueproduct
Use adaptive survivor sizing policies
share/gc/shared/gc_globals.hpp
UseParallelGCOpenJDK6boolgcfalseproduct
Use the Parallel Scavenge garbage collector
share/gc/shared/gc_globals.hpp
UseParallelOldGCOpenJDK6Deprecated in JDK14
Obsoleted in JDK15
Expired in JDK16
boolgcfalseproduct
Use the Parallel Old garbage collector
share/gc/shared/gc_globals.hpp
UsePerfDataOpenJDK6boolruntimetrueproduct
Flag to disable jvmstat instrumentation for performance testing 
and problem isolation purposes
share/runtime/globals.hpp
UsePopCountInstructionOpenJDK6boolruntimefalseproduct
Use population count instruction
share/runtime/globals.hpp
UsePower6SchedulerPPC64OpenJDK7boolppcfalseproduct
Use Power6 Scheduler.
cpu/ppc/globals_ppc.hpp
UsePrivilegedStackOpenJDK6boolruntimetruedevelop
Enable the security JVM functions
share/runtime/globals.hpp
UseProfiledLoopPredicateOpenJDK11boolc2trueproduct
move predicates out of loops based on profiling data
share/opto/c2_globals.hpp
UsePthreadsOpenJDK6boolruntimefalsedevelop
Use pthread-based instead of libthread-based synchronization 
(SPARC only)
share/runtime/globals.hpp
UseRDPCForConstantTableBaseOpenJDK6Obsoleted in JDK16
Expired in JDK17
boolc2falseproduct
Use Sparc RDPC instruction for the constant table base.
share/opto/c2_globals.hpp
UseRTMDeoptOpenJDK8boolppcfalseproduct
Perform deopt and recompilation based on RTM abort ratio
cpu/ppc/globals_ppc.hpp
UseRTMDeoptOpenJDK8boolx86falseproduct
Perform deopt and recompilation based on RTM abort ratio
cpu/x86/globals_x86.hpp
UseRTMForStackLocksOpenJDK8boolppcfalseexperimental
Enable RTM lock eliding for stack locks in compiled code
cpu/ppc/globals_ppc.hpp
UseRTMForStackLocksOpenJDK8boolx86falseexperimental
Enable RTM lock eliding for stack locks in compiled code
cpu/x86/globals_x86.hpp
UseRTMLockingOpenJDK8boolppcfalseproduct
Enable RTM lock eliding for inflated locks in compiled code
cpu/ppc/globals_ppc.hpp
UseRTMLockingOpenJDK8boolx86falseproduct
Enable RTM lock eliding for inflated locks in compiled code
cpu/x86/globals_x86.hpp
UseRTMXendForLockBusyOpenJDK8boolppctrueexperimental
Use RTM Xend instead of Xabort when lock busy
cpu/ppc/globals_ppc.hpp
UseRTMXendForLockBusyOpenJDK8boolx86trueexperimental
Use RTM Xend instead of Xabort when lock busy
cpu/x86/globals_x86.hpp
UseRotateAndMaskInstructionsPPC64OpenJDK7boolppctrueproduct
Use rotate and mask instructions.
cpu/ppc/globals_ppc.hpp
UseSHA1IntrinsicsOpenJDK8boolruntimefalsediagnostic
Use intrinsics for SHA-1 crypto hash function. 
Requires that UseSHA is enabled.
share/runtime/globals.hpp
UseSHA256IntrinsicsOpenJDK8boolruntimefalsediagnostic
Use intrinsics for SHA-224 and SHA-256 crypto hash functions. 
Requires that UseSHA is enabled.
share/runtime/globals.hpp
UseSHA512IntrinsicsOpenJDK8boolruntimefalsediagnostic
Use intrinsics for SHA-384 and SHA-512 crypto hash functions. 
Requires that UseSHA is enabled.
share/runtime/globals.hpp
UseSHAOpenJDK8boolruntimefalseproduct
Control whether SHA instructions are used when available
share/runtime/globals.hpp
UseSHMOpenJDK6Obsoleted in JDK22
Expired in JDK23
boollinuxfalseproduct
Use SYSV shared memory for large pages
os/linux/globals_linux.hpp
UseSIGTRAPOpenJDK7boolppctrueproduct
Allow trap instructions that make use of SIGTRAP. Use this to 
switch off all optimizations requiring SIGTRAP.
cpu/ppc/globals_ppc.hpp
UseSIMDForArrayEqualsOpenJDK11boolaarch64trueproduct
Use SIMD instructions in generated array equals code
cpu/aarch64/globals_aarch64.hpp
UseSIMDForMemoryOpsOpenJDK9boolaarch64falseproduct
Use SIMD instructions in generated memory move code
cpu/aarch64/globals_aarch64.hpp
UseSSE42IntrinsicsOpenJDK6boolx86falseproduct
SSE4.2 versions of intrinsics
cpu/x86/globals_x86.hpp
UseSSEOpenJDK6Obsoleted in JDK15
Expired in JDK16
intxruntime99
range(0, 99)
product
Highest supported SSE instructions set on x86/x64
share/runtime/globals.hpp
UseSemaphoreGCThreadsSynchronizationOpenJDK9Obsoleted in JDK16
Expired in JDK17
boolgctruediagnostic
Use semaphore synchronization for the GC Threads, 
instead of synchronization based on mutexes
share/gc/shared/gc_globals.hpp
UseSerialGCOpenJDK6boolgcfalseproduct
Use the Serial garbage collector
share/gc/shared/gc_globals.hpp
UseSharedSpacesOpenJDK6Deprecated in JDK18
Obsoleted in JDK19
boolruntimetrueproduct
Use shared spaces for metadata
share/runtime/globals.hpp
UseShenandoahGCOpenJDK12boolgcfalseexperimental
Use the Shenandoah garbage collector
share/gc/shared/gc_globals.hpp
UseSignalChainingOpenJDK6boolruntimetrueproduct
Use signal-chaining to invoke signal handlers installed 
by the application (Solaris & Linux only)
share/runtime/globals.hpp
UseSimpleArrayEqualsOpenJDK11boolaarch64falseproduct
Use simpliest and shortest implementation for array equals
cpu/aarch64/globals_aarch64.hpp
UseSimulatorCacheOpenJDK9boolaarch64falseproduct
tell sim to cache memory updates until exclusive op occurs
cpu/aarch64/globals_aarch64.hpp
UseSlowPathOpenJDK6boolc1falsedevelop
For debugging: test slow cases by always using them
share/c1/c1_globals.hpp
UseSquareToLenIntrinsicOpenJDK8boolc2falsediagnostic
Enables intrinsification of BigInteger.squareToLen()
share/opto/c2_globals.hpp
UseStackBangingOpenJDK6boolruntimetruedevelop
use stack banging for stack overflow checks (required for 
proper StackOverflow handling; disable only to measure cost 
of stackbanging)
share/runtime/globals.hpp
UseStaticBranchPredictionForUncommonPathsPPC64OpenJDK7boolppcfalseproduct
Use static branch prediction hints for uncommon paths.
cpu/ppc/globals_ppc.hpp
UseStaticBranchPredictionInCompareAndSwapPPC64OpenJDK7boolppctrueproduct
Use static branch prediction hints in CAS operations.
cpu/ppc/globals_ppc.hpp
UseStoreImmI16OpenJDK6boolx86trueproduct
Use store immediate 16-bits value instruction on x86
cpu/x86/globals_x86.hpp
UseStrictFPOpenJDK6boolruntimetruedevelop
use strict fp if modifier strictfp is set
share/runtime/globals.hpp
UseStringDeduplicationOpenJDK8boolruntimefalseproduct
Use string deduplication
share/runtime/globals.hpp
UseSubwordForMaxVectorOpenJDK10boolc2trueproduct
Use Subword Analysis to set maximum vector size
share/opto/c2_globals.hpp
UseSuperWordOpenJDK6boolc2trueproduct
Transform scalar operations into superword operations
share/opto/c2_globals.hpp
UseSwitchProfilingOpenJDK11boolruntimetrueexperimental
leverage profiling for table/lookup switch
share/runtime/globals.hpp
UseTLABOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
UseTLABOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c1_globals_arm.hpp
UseTLABOpenJDK6boolgcproduct_pd
Use thread-local object allocation
share/gc/shared/gc_globals.hpp
UseTLABOpenJDK6boolruntimefalsedefine_pd_global
share/runtime/globals.hpp
UseTLABOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
UseTLABOpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
UseTLABOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
UseTLABOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
UseTableRangesOpenJDK6boolc1truedevelop
Faster versions of lookup table using ranges
share/c1/c1_globals.hpp
UseThreadPrioritiesOpenJDK6boolruntimeproduct_pd
Use native thread priorities
share/runtime/globals.hpp
UseThreadPrioritiesOpenJDK6boolsolarisfalsedefine_pd_global
os/solaris/globals_solaris.hpp
UseTransparentHugePagesOpenJDK7boollinuxfalseproduct
Use MADV_HUGEPAGE for large pages
os/linux/globals_linux.hpp
UseTypeProfileOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
UseTypeProfileOpenJDK6boolarmfalsedefine_pd_global
cpu/arm/c1_globals_arm.hpp
UseTypeProfileOpenJDK6boolruntimetrueproduct
Check interpreter profile for historically monomorphic calls
share/runtime/globals.hpp
UseTypeProfileOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
UseTypeProfileOpenJDK6bools390falsedefine_pd_global
cpu/s390/c1_globals_s390.hpp
UseTypeProfileOpenJDK6boolsparcfalsedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
UseTypeProfileOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
UseTypeSpeculationOpenJDK8boolc2trueproduct
Speculatively propagate types from profiles
share/opto/c2_globals.hpp
UseUnalignedAccessesOpenJDK9boolruntimefalsediagnostic
Use unaligned memory accesses in Unsafe
share/runtime/globals.hpp
UseUnalignedLoadStoresOpenJDK6boolx86falseproduct
Use SSE2 MOVDQU instruction for Arraycopy
cpu/x86/globals_x86.hpp
UseUniqueSubclassesOpenJDK6boolc2truedevelop
Narrow an abstract reference to the unique concrete subclass
share/opto/c2_globals.hpp
UseVISOpenJDK6intxsparc99
range(0, 99)
product
Highest supported VIS instructions set on SPARC
cpu/sparc/globals_sparc.hpp
UseVectorCmovOpenJDK10boolc2falseproduct
Use Vectorized Cmov
share/opto/c2_globals.hpp
UseVectorizedMismatchIntrinsicOpenJDK9boolruntimefalsediagnostic
Enables intrinsification of ArraysSupport.vectorizedMismatch()
share/runtime/globals.hpp
UseXMMForArrayCopyOpenJDK6boolruntimefalseproduct
Use SSE2 MOVQ instruction for Arraycopy
share/runtime/globals.hpp
UseXMMForObjInitOpenJDK11boolx86falseproduct
Use XMM/YMM MOVDQU instruction for Object Initialization
cpu/x86/globals_x86.hpp
UseXmmI2DOpenJDK6boolx86falseproduct
Use SSE2 CVTDQ2PD instruction to convert Integer to Double
cpu/x86/globals_x86.hpp
UseXmmI2FOpenJDK6boolx86falseproduct
Use SSE2 CVTDQ2PS instruction to convert Integer to Float
cpu/x86/globals_x86.hpp
UseXmmLoadAndClearUpperOpenJDK6boolx86trueproduct
Load low part of XMM register and clear upper part
cpu/x86/globals_x86.hpp
UseXmmRegToRegMoveAllOpenJDK6boolx86falseproduct
Copy all XMM register bits when moving value between registers
cpu/x86/globals_x86.hpp
UseZGCOpenJDK11boolgcfalseexperimental
Use the Z garbage collector
share/gc/shared/gc_globals.hpp
VMThreadPriorityOpenJDK6intxruntime-1
range(-1, 127)
product
The native priority at which the VM thread should run 
(-1 means no change)
share/runtime/globals.hpp
VMThreadStackSizeOpenJDK6intxaixppc2048define_pd_global
os_cpu/aix_ppc/globals_aix_ppc.hpp
VMThreadStackSizeOpenJDK6intxbsdx86512define_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
VMThreadStackSizeOpenJDK6intxbsdzero512define_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
VMThreadStackSizeOpenJDK6intxlinuxaarch642048define_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
VMThreadStackSizeOpenJDK6intxlinuxarm512define_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
VMThreadStackSizeOpenJDK6intxlinuxppc2048define_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
VMThreadStackSizeOpenJDK6intxlinuxs3901024define_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
VMThreadStackSizeOpenJDK6intxlinuxx86512define_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
VMThreadStackSizeOpenJDK6intxlinuxzero512define_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
VMThreadStackSizeOpenJDK6intxruntimeproduct_pd
Non-Java Thread Stack Size (in Kbytes)
share/runtime/globals.hpp
VMThreadStackSizeOpenJDK6intxsparc1024define_pd_global
cpu/sparc/globals_sparc.hpp
VMThreadStackSizeOpenJDK6intxsolarisx86512define_pd_global
os_cpu/solaris_x86/globals_solaris_x86.hpp
VMThreadStackSizeOpenJDK6intxwindowsx860define_pd_global
// 0 => use system default
os_cpu/windows_x86/globals_windows_x86.hpp
ValueMapInitialSizeOpenJDK6intxc111
range(1, NOT_LP64(1*K) LP64_ONLY(32*K))
product
Initial size of a value map
share/c1/c1_globals.hpp
ValueMapMaxLoopSizeOpenJDK6intxc18
range(0, 128)
product
maximum size of a loop optimized by global value numbering
share/c1/c1_globals.hpp
ValueSearchLimitOpenJDK6intxc21000
range(0, max_jint)
product
Recursion limit in PhaseMacroExpand::value_from_mem_phi
share/opto/c2_globals.hpp
VerboseOpenJDK6boolruntimefalsedevelop
Print additional debugging information from other modes
share/runtime/globals.hpp
VerifyActivationFrameSizeOpenJDK6boolruntimefalsedevelop
Verify that activation frame didn't become smaller than its 
minimal size
share/runtime/globals.hpp
VerifyAdapterCallsOpenJDK7boolruntimetrueInDebugdiagnostic
Verify that i2c/c2i adapters are called properly
share/runtime/globals.hpp
VerifyAdapterSharingOpenJDK6boolruntimefalsedevelop
Verify that the code for shared adapters is the equivalent
share/runtime/globals.hpp
VerifyAfterGCOpenJDK6boolgcfalsediagnostic
Verify memory system after GC
share/gc/shared/gc_globals.hpp
VerifyAliasesOpenJDK6boolc2falsedevelop
perform extra checks on the results of alias analysis
share/opto/c2_globals.hpp
VerifyBeforeExitOpenJDK6boolgctrueInDebugdiagnostic
Verify system before exiting
share/gc/shared/gc_globals.hpp
VerifyBeforeGCOpenJDK6boolgcfalsediagnostic
Verify memory system before GC
share/gc/shared/gc_globals.hpp
VerifyBeforeIterationOpenJDK6boolruntimefalsediagnostic
Verify memory system before JVMTI iteration
share/runtime/globals.hpp
VerifyBlockOffsetArrayOpenJDK6boolgcfalsedevelop
Do (expensive) block offset array verification
share/gc/shared/gc_globals.hpp
VerifyCodeCacheOpenJDK9boolruntimefalsenotproduct
Verify code cache on memory allocation/deallocation
share/runtime/globals.hpp
VerifyCompiledCodeOpenJDK6boolruntimefalsedevelop
Include miscellaneous runtime verifications in nmethod code; 
default off because it disturbs nmethod size heuristics
share/runtime/globals.hpp
VerifyConnectionGraphOpenJDK7boolc2truenotproduct
Verify Connection Graph construction in Escape Analysis
share/opto/c2_globals.hpp
VerifyDUIteratorsOpenJDK6boolc2truenotproduct
Verify the safety of all iterations of Bi-directional Edges
share/opto/c2_globals.hpp
VerifyDataPointerOpenJDK6boolruntimetrueInDebugdevelop
Verify the method data pointer during interpreter profiling
share/runtime/globals.hpp
VerifyDependenciesOpenJDK6boolruntimetrueInDebugdevelop
Exercise and verify the compilation dependency mechanism
share/runtime/globals.hpp
VerifyDuringGCOpenJDK6boolgcfalsediagnostic
Verify memory system during GC (between phases)
share/gc/shared/gc_globals.hpp
VerifyDuringStartupOpenJDK7boolgcfalsediagnostic
Verify memory system before executing any Java code 
during VM initialization
share/gc/shared/gc_globals.hpp
VerifyFPUOpenJDK6boolruntimefalsedevelop
Verify FPU state (check for NaN's, etc.)
share/runtime/globals.hpp
VerifyGCLevelOpenJDK6intxgc0
range(0, 1)
diagnostic
Generation level at which to start +VerifyBefore/AfterGC
share/gc/shared/gc_globals.hpp
VerifyGCStartAtOpenJDK6uintxgc0
range(0, max_uintx)
diagnostic
GC invoke count where +VerifyBefore/AfterGC kicks in
share/gc/shared/gc_globals.hpp
VerifyGCTypeOpenJDK10ccstrlistgc
diagnostic
GC type(s) to verify when Verify*GC is enabled.
Available types are collector specific.
share/gc/shared/gc_globals.hpp
VerifyGraphEdgesOpenJDK6boolc2falsenotproduct
Verify Bi-directional Edges
share/opto/c2_globals.hpp
VerifyHashTableKeysOpenJDK6boolc2truenotproduct
Verify the immutability of keys in the VN hash tables
share/opto/c2_globals.hpp
VerifyIdealNodeCountOpenJDK7boolc2falsenotproduct
Verify that tracked dead ideal node count is accurate
share/opto/c2_globals.hpp
VerifyIterativeGVNOpenJDK6boolc2falsedevelop
Verify Def-Use modifications during sparse Iterative Global 
Value Numbering
share/opto/c2_globals.hpp
VerifyJNIEnvThreadOpenJDK6boolruntimefalsenotproduct
Verify JNIEnv.thread == Thread::current() when entering VM 
from JNI
share/runtime/globals.hpp
VerifyJNIFieldsOpenJDK6boolruntimetrueInDebugdevelop
Verify jfieldIDs for instance fields
share/runtime/globals.hpp
VerifyLastFrameOpenJDK6boolruntimefalsenotproduct
Verify oops on last frame on entry to VM
share/runtime/globals.hpp
VerifyLoopOptimizationsOpenJDK6boolc2falsenotproduct
verify major loop optimizations
share/opto/c2_globals.hpp
VerifyMergedCPBytecodesOpenJDK6Obsoleted in JDK16
Expired in JDK17
boolruntimetrueproduct
Verify bytecodes after RedefineClasses constant pool merging
share/runtime/globals.hpp
VerifyMetaspaceOpenJDK11boolruntimefalsedevelop
Verify metaspace on chunk movements.
share/runtime/globals.hpp
VerifyMethodHandlesOpenJDK6boolruntimetrueInDebugdiagnostic
perform extra checks when constructing method handles
share/runtime/globals.hpp
VerifyObjectStartArrayOpenJDK6boolgctruediagnostic
Verify GC object start array if verify before/after
share/gc/shared/gc_globals.hpp
VerifyOopsOpenJDK6boolruntimefalsedevelop
Do plausibility checks for oops
share/runtime/globals.hpp
VerifyOptoOopOffsetsOpenJDK6boolc2falsenotproduct
Check types of base addresses in field references
share/opto/c2_globals.hpp
VerifyOptoOpenJDK6boolc2falsenotproduct
Apply more time consuming verification during compilation
share/opto/c2_globals.hpp
VerifyRegisterAllocatorOpenJDK6boolc2falsenotproduct
Verify Register Allocator
share/opto/c2_globals.hpp
VerifyRememberedSetsOpenJDK6boolgcfalsediagnostic
Verify GC remembered sets
share/gc/shared/gc_globals.hpp
VerifySharedSpacesOpenJDK8boolruntimefalseproduct
Verify shared spaces (false for default archive, true for 
archive specified by -XX:SharedArchiveFile)
share/runtime/globals.hpp
VerifyStackAtCallsOpenJDK6boolruntimefalsedevelop
Verify that the stack pointer is unchanged after calls
share/runtime/globals.hpp
VerifyStackOpenJDK6boolruntimefalsedevelop
Verify stack of each thread when it is entering a runtime call
share/runtime/globals.hpp
VerifyStringTableAtExitOpenJDK8boolruntimefalsediagnostic
verify StringTable contents at exit
share/runtime/globals.hpp
VerifySubSetOpenJDK8ccstrlistgc
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, 
codecache_oops
share/gc/shared/gc_globals.hpp
VerifyThreadOpenJDK6boolruntimefalsedevelop
Watch the thread register for corruption (SPARC only)
share/runtime/globals.hpp
WalkStackALotOpenJDK6boolruntimefalsenotproduct
Trace stack (no print) at every exit from the runtime system
share/runtime/globals.hpp
WarmCallMaxSizeOpenJDK6intxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
develop
size of the largest inlinable method
share/opto/c2_globals.hpp
WarmCallMaxWorkOpenJDK6intxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
develop
execution time of the largest inlinable method
share/opto/c2_globals.hpp
WarmCallMinCountOpenJDK6intxc2-1
range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
develop
number of calls (per method invocation) to enable inlining
share/opto/c2_globals.hpp
WarmCallMinProfitOpenJDK6intxc2-1
range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
develop
number of calls (per method invocation) to enable inlining
share/opto/c2_globals.hpp
WarnOnStalledSpinLockOpenJDK6uintxruntime0notproduct
Print warnings for stalled SpinLocks
share/runtime/globals.hpp
WhiteBoxAPIOpenJDK7boolruntimefalsediagnostic
Enable internal testing APIs
share/runtime/globals.hpp
WizardModeOpenJDK6boolruntimefalsedevelop
Print much more debugging information
share/runtime/globals.hpp
WorkStealingHardSpinsOpenJDK6uintxgc4096experimental
Number of iterations in a spin loop between checks on 
time out of hard spin
share/gc/shared/gc_globals.hpp
WorkStealingSleepMillisOpenJDK6uintxgc1experimental
Sleep time when sleep is used for yields
share/gc/shared/gc_globals.hpp
WorkStealingSpinToYieldRatioOpenJDK6uintxgc10experimental
Ratio of hard spins to calls to yield
share/gc/shared/gc_globals.hpp
WorkStealingYieldsBeforeSleepOpenJDK6uintxgc5000experimental
Number of yields before a sleep is done during work stealing
share/gc/shared/gc_globals.hpp
YoungGenerationSizeIncrementOpenJDK6uintxgc20
range(0, 100)
product
Adaptive size percentage change in young generation
share/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementDecayOpenJDK6uintxgc8
range(1, max_uintx)
product
Decay factor to YoungedGenerationSizeSupplement
share/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementOpenJDK6uintxgc80
range(0, 100)
product
Supplement to YoungedGenerationSizeIncrement used at startup
share/gc/shared/gc_globals.hpp
YoungPLABSizeOpenJDK6size_tgc4096product
Size of young gen promotion LAB's (in HeapWords)
share/gc/shared/gc_globals.hpp
ZAllocationSpikeToleranceOpenJDK11doublegc2.0product
Allocation spike tolerance factor
share/gc/z/z_globals.hpp
ZCollectionIntervalOpenJDK11uintgc0product
Force GC at a fixed time interval (in seconds)
share/gc/z/z_globals.hpp
ZFragmentationLimitOpenJDK11doublegc25.0product
Maximum allowed heap fragmentation
share/gc/z/z_globals.hpp
ZMarkStackSpaceLimitOpenJDK12size_tgc8*G
range(32*M, 1024*G)
product
Maximum number of bytes allocated for mark stacks
share/gc/z/z_globals.hpp
ZOptimizeLoadBarriersOpenJDK11boolgctruediagnostic
Apply load barrier optimizations
share/gc/z/z_globals.hpp
ZPathOpenJDK11ccstrgcNULLproduct
Filesystem path for Java heap backing storage 
(must be a tmpfs or a hugetlbfs filesystem)
share/gc/z/z_globals.hpp
ZProactiveOpenJDK11boolgctruediagnostic
Enable proactive GC cycles
share/gc/z/z_globals.hpp
ZStallOnOutOfMemoryOpenJDK11boolgctrueproduct
Allow Java threads to stall and wait for GC to complete 
instead of immediately throwing an OutOfMemoryError
share/gc/z/z_globals.hpp
ZStatisticsForceTraceOpenJDK11boolgcfalsediagnostic
Force tracing of ZStats
share/gc/z/z_globals.hpp
ZStatisticsIntervalOpenJDK11uintgc10
range(1, (uint)-1)
product
Time between statistics print outs (in seconds)
share/gc/z/z_globals.hpp
ZUnmapBadViewsOpenJDK11boolgcfalsediagnostic
Unmap bad (inactive) heap views
share/gc/z/z_globals.hpp
ZVerifyForwardingOpenJDK11boolgcfalsediagnostic
Verify forwarding tables
share/gc/z/z_globals.hpp
ZVerifyLoadBarriersOpenJDK11boolgcfalsedevelop
Verify that reference loads are followed by barriers
share/gc/z/z_globals.hpp
ZVerifyMarkingOpenJDK11boolgcfalsediagnostic
Verify marking stacks
share/gc/z/z_globals.hpp
ZapEmptyStackFieldsOpenJDK9bools390falsedevelop
Write 0x0101... to empty stack
 fields. Use this to ease stack debugging.
cpu/s390/globals_s390.hpp
ZapFillerObjectsOpenJDK6boolruntimetrueInDebugdevelop
Zap filler objects with 0xDEAFBABE
share/runtime/globals.hpp
ZapMemoryOpenJDK7boolppcfalseproduct
Write 0x0101... to empty memory.
 Use this to ease debugging.
cpu/ppc/globals_ppc.hpp
ZapResourceAreaOpenJDK6boolruntimetrueInDebugdevelop
Zap freed resource/arena space with 0xABABABAB
share/runtime/globals.hpp
ZapStackSegmentsOpenJDK6boolruntimetrueInDebugnotproduct
Zap allocated/freed stack segments with 0xFADFADED
share/runtime/globals.hpp
ZapUnusedHeapAreaOpenJDK6boolruntimetrueInDebugdevelop
Zap unused heap space with 0xBAADBABE
share/runtime/globals.hpp
ZapVMHandleAreaOpenJDK6boolruntimetrueInDebugnotproduct
Zap freed VM handle space with 0xBCBCBCBC
share/runtime/globals.hpp
ZeroTLABOpenJDK6boolgcfalseproduct
Zero out the newly created TLAB
share/gc/shared/gc_globals.hpp
ZombieALotIntervalOpenJDK6intxruntime5notproduct
Number of exits until ZombieALot kicks in
share/runtime/globals.hpp
ZombieALotOpenJDK6boolruntimefalsenotproduct
Create zombies (non-entrant) at exit from the runtime system
share/runtime/globals.hpp
batchOpenJDK6
disable background compilation
Xusage.txt
bootclasspath/aOpenJDK6<dirs/jars>
append to end of bootstrap class path
Xusage.txt
bootclasspath/pOpenJDK6<dirs/jars>
prepend in front of bootstrap class path
Xusage.txt
bootclasspathOpenJDK6<dirs/jars>
set search path for bootstrap classes and resources
Xusage.txt
check:jniOpenJDK6
perform additional checks for JNI functions
Xusage.txt
futureOpenJDK6
enable strictest checks, anticipating future default
Xusage.txt
hashCodeOpenJDK6intxruntime5experimental
(Unstable) select hashCode generation algorithm
share/runtime/globals.hpp
intOpenJDK6
interpreted mode execution only
Xusage.txt
logOpenJDK9<opts>
control JVM logging, use -Xlog:help for details
Xusage.txt
mixedOpenJDK6
mixed mode execution (default)
Xusage.txt
msOpenJDK6<size>
set initial Java heap size
Xusage.txt
mxOpenJDK6<size>
set maximum Java heap size
Xusage.txt
noclassgcOpenJDK6
disable class garbage collection
Xusage.txt
rsOpenJDK6
reduce use of OS signals by Java/VM (see documentation)
Xusage.txt
share:autoOpenJDK6
use shared class data if possible (default)
Xusage.txt
share:offOpenJDK6
do not attempt to use shared class data
Xusage.txt
share:onOpenJDK6
require using shared class data, otherwise fail.

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