VM Options Explorer - OpenJDK11 HotSpot

91 min read Original article ↗
AOTLibraryOpenJDK9ccstrlistruntimeNULLexperimental
AOT library
share/runtime/globals.hpp AVX3ThresholdOpenJDK11intx864096
range(0, max_jint)diagnostic
Minimum array size in bytes to use AVX512 intrinsics
for copy, inflate and fill. When this value is set as zero
compare operations can also use AVX512 intrinsics.
cpu/x86/globals_x86.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 AdaptiveSizeMajorGCDecayTimeScaleOpenJDK6Obsoleted in JDK26
Expired in JDK27uintxgc10
range(0, max_uintx)product
Time scale over which major costs decay
share/gc/shared/gc_globals.hpp AdaptiveSizePolicyCollectionCostMarginOpenJDK6Obsoleted in JDK23
Expired in JDK24uintxgc50
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 AdaptiveSizePolicyInitializingStepsOpenJDK6Obsoleted in JDK26
Expired in JDK27uintxgc20
range(0, max_uintx)product
Number of steps where heuristics is used before data is used
share/gc/shared/gc_globals.hpp AdaptiveSizePolicyOutputIntervalOpenJDK6Obsoleted in JDK26
Expired in JDK27uintxgc0
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 AdaptiveSizeThroughPutPolicyOpenJDK6Obsoleted in JDK26
Expired in JDK27uintxgc0
range(0, 1)product
Policy for changing generation size for throughput goals
share/gc/shared/gc_globals.hpp AdaptiveTimeWeightOpenJDK6Obsoleted in JDK26
Expired in JDK27uintxgc25
range(0, 100)product
Weight given to time in adaptive policy, between 0 and 100
share/gc/shared/gc_globals.hpp AggressiveHeapOpenJDK10Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28boolgcfalseproduct
Optimize heap options for long-running memory intensive apps
share/gc/shared/gc_globals.hpp AggressiveOptsOpenJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13boolruntimefalseproduct
(Deprecated) Enable aggressive optimizations - see arguments.cpp
share/runtime/globals.hpp AggressiveUnboxingOpenJDK8boolc2falseexperimental
Control optimizations for aggressive boxing elimination
share/opto/c2_globals.hpp AliasLevelOpenJDK6Deprecated in JDK19
Obsoleted in JDK20
Expired in JDK21intxc23
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 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 AllowExtshmOpenJDK9boolaixfalseproduct
Allow VM to run with EXTSHM=ON.
os/aix/globals_aix.hpp AllowJNIEnvProxyOpenJDK6Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15boolruntimefalseproduct
Allow JNIEnv proxies for jdbx
share/runtime/globals.hpp AllowNonVirtualCallsOpenJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13boolruntimefalseproduct
Obey the ACC_SUPER flag and allow invokenonvirtual calls
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 AlwaysActAsServerClassMachineOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28boolgcfalseproduct
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 JDK19boolruntimefalseproduct
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 JDK18boolruntimefalseproduct
Assert/Guarantee on external suspend wait failure
share/runtime/globals.hpp AssertRangeCheckEliminationOpenJDK8boolc1falsedevelop
Assert Range Check Elimination
share/c1/c1_globals.hpp AssumeMPOpenJDK8Deprecated in JDK10
Obsoleted in JDK12
Expired in JDK13boolruntimetrueproduct
(Deprecated) Instruct the VM to assume multiple processors are available
share/runtime/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/c1_globals_arm.hpp
BackgroundCompilationOpenJDK6boolruntimeproduct_pd
A thread requesting compilation is not blocked during 
compilation
share/runtime/globals.hpp BackgroundCompilationOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
BackgroundCompilationOpenJDK6bools390truedefine_pd_global
cpu/s390/c1_globals_s390.hpp
BackgroundCompilationOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c2_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 BaseFootPrintEstimateOpenJDK6Obsoleted in JDK24
Expired in JDK25size_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 JDK19intxruntime20
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 JDK19intxruntime40
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 JDK19intxruntime25000
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 JDK19intxruntime0
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 JDK16boolgcfalseproduct
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 JDK16boolc2falseproduct
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/c1_globals_arm.hpp
CICompileOSROpenJDK6boolruntimedevelop_pd
compile on stack replacement methods if supported by the 
compiler
share/runtime/globals.hpp CICompileOSROpenJDK6boolppctruedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
CICompileOSROpenJDK6bools390truedefine_pd_global
cpu/s390/c1_globals_s390.hpp
CICompileOSROpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c2_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 JDK15boolgcfalseproduct
Whether abort-on-overflow semantics is implemented
share/gc/cms/cms_globals.hpp CMSAbortablePrecleanMinWorkPerIterationOpenJDK6Obsoleted in JDK14
Expired in JDK15uintxgc100
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 JDK15size_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 JDK15uintxgc50
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 JDK15boolgctrueproduct
Whether class unloading enabled when using CMS GC
share/gc/cms/cms_globals.hpp CMSClassUnloadingMaxIntervalOpenJDK6Obsoleted in JDK14
Expired in JDK15uintxgc0
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 JDK15boolgctrueproduct
Clean-on-enter optimization for reducing number of dirty cards
share/gc/cms/cms_globals.hpp CMSConcMarkMultipleOpenJDK6Obsoleted in JDK14
Expired in JDK15size_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 JDK15boolgctrueproduct
Whether multi-threaded concurrent work enabled 
(effective only if ParNewGC)
share/gc/cms/cms_globals.hpp CMSCoordinatorYieldSleepCountOpenJDK6Obsoleted in JDK14
Expired in JDK15uintxgc10
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 JDK15boolgctrueproduct
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 JDK15uintxgc50
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 JDK15boolgcfalseproduct
CMS: cushion for block demand during sweep
share/gc/cms/cms_globals.hpp CMSIncrementalSafetyFactorOpenJDK6Obsoleted in JDK14
Expired in JDK15uintxgc10
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 JDK15uintxgc4
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 JDK15intxgc-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 JDK15uintxgc98
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 JDK15doublegc0.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 JDK15doublegc1.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 JDK15boolgcfalseproduct
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 JDK15uintxgc0
range(0, max_uintx)product
Maximum number of abortable preclean iterations, if > 0
share/gc/cms/cms_globals.hpp CMSMaxAbortablePrecleanTimeOpenJDK6Obsoleted in JDK14
Expired in JDK15intxgc5000
range(0, max_intx)product
Maximum time in abortable preclean (in milliseconds)
share/gc/cms/cms_globals.hpp CMSOldPLABMaxOpenJDK6Obsoleted in JDK14
Expired in JDK15size_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 JDK15size_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 JDK15uintxgc4
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 JDK15uintxgc2
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 JDK15boolgcfalseproduct
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 JDK15uintxgc4
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 JDK15boolgctrueproduct
Always record survivor space PLAB boundaries (effective only 
if CMSParallelSurvivorRemarkEnabled)
share/gc/cms/cms_globals.hpp CMSParallelInitialMarkEnabledOpenJDK7Obsoleted in JDK14
Expired in JDK15boolgctrueproduct
Use the parallel initial mark.
share/gc/cms/cms_globals.hpp CMSParallelRemarkEnabledOpenJDK6Obsoleted in JDK14
Expired in JDK15boolgctrueproduct
Whether parallel remark enabled (only if ParNewGC)
share/gc/cms/cms_globals.hpp CMSParallelSurvivorRemarkEnabledOpenJDK6Obsoleted in JDK14
Expired in JDK15boolgctrueproduct
Whether parallel remark of survivor space 
enabled (effective only if CMSParallelRemarkEnabled)
share/gc/cms/cms_globals.hpp CMSPrecleanDenominatorOpenJDK6Obsoleted in JDK14
Expired in JDK15uintxgc3
range(1, max_uintx)product
CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence 
ratio
share/gc/cms/cms_globals.hpp CMSPrecleanIterOpenJDK6Obsoleted in JDK14
Expired in JDK15uintxgc3
range(0, 9)product
Maximum number of precleaning iteration passes
share/gc/cms/cms_globals.hpp CMSPrecleanNumeratorOpenJDK6Obsoleted in JDK14
Expired in JDK15uintxgc2
range(0, max_uintx-1)product
CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence 
ratio
share/gc/cms/cms_globals.hpp CMSPrecleanRefLists1OpenJDK6Obsoleted in JDK14
Expired in JDK15boolgctrueproduct
Preclean ref lists during (initial) preclean phase
share/gc/cms/cms_globals.hpp CMSPrecleanRefLists2OpenJDK6Obsoleted in JDK14
Expired in JDK15boolgcfalseproduct
Preclean ref lists during abortable preclean phase
share/gc/cms/cms_globals.hpp CMSPrecleanSurvivors1OpenJDK6Obsoleted in JDK14
Expired in JDK15boolgcfalseproduct
Preclean survivors during (initial) preclean phase
share/gc/cms/cms_globals.hpp CMSPrecleanSurvivors2OpenJDK6Obsoleted in JDK14
Expired in JDK15boolgctrueproduct
Preclean survivors during abortable preclean phase
share/gc/cms/cms_globals.hpp CMSPrecleanThresholdOpenJDK6Obsoleted in JDK14
Expired in JDK15uintxgc1000
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 JDK15boolgctrueproduct
Whether concurrent precleaning enabled
share/gc/cms/cms_globals.hpp CMSPrintChunksInDumpOpenJDK6Obsoleted in JDK14
Expired in JDK15boolgcfalseproduct
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 JDK15boolgcfalseproduct
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 JDK15uintxgc1
range(1, 2)product
Choose variant (1,2) of verification following remark
share/gc/cms/cms_globals.hpp CMSReplenishIntermediateOpenJDK6Obsoleted in JDK14
Expired in JDK15boolgctrueproduct
Replenish all intermediate free-list caches
share/gc/cms/cms_globals.hpp CMSRescanMultipleOpenJDK6Obsoleted in JDK14
Expired in JDK15size_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 JDK15uintxgc16*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 JDK15boolgcfalseproduct
Attempt scavenge before the CMS remark step
share/gc/cms/cms_globals.hpp CMSScheduleRemarkEdenPenetrationOpenJDK6Obsoleted in JDK14
Expired in JDK15uintxgc50
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 JDK15size_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 JDK15uintxgc5
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 JDK15doublegc1.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 JDK15doublegc1.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 JDK15boolgctrueproduct
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 JDK15uintxgc80
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 JDK15uintxgc10
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 JDK15uintxgc0
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 JDK15boolgctrueproduct
Yield between steps of CMS
share/gc/cms/cms_globals.hpp CMSYoungGenPerWorkerOpenJDK6Obsoleted in JDK14
Expired in JDK15uintxaarch6464*Mdefine_pd_global
// default max size of CMS young gen, per GC worker thread
cpu/aarch64/globals_aarch64.hpp CMSYoungGenPerWorkerOpenJDK6Obsoleted in JDK14
Expired in JDK15size_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 JDK15size_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 JDK15size_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 JDK15size_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 JDK15size_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 JDK15size_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 JDK15size_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 JDK15uintxgc1
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 JDK15uintxgc75
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 JDK15uintxgc1
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 JDK15uintxgc10
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 JDK15uintxgc75
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 CodeCacheExpansionSizeOpenJDK6uintxppc64*Kdefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
CodeCacheExpansionSizeOpenJDK6uintxs39032*Kdefine_pd_global
cpu/s390/c1_globals_s390.hpp
CodeCacheExpansionSizeOpenJDK6uintxsparc64*Kdefine_pd_global
cpu/sparc/c2_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 CodeCacheMinBlockLengthOpenJDK6uintxppc6define_pd_global
cpu/ppc/c2_globals_ppc.hpp
CodeCacheMinBlockLengthOpenJDK6uintxs3901define_pd_global
cpu/s390/c1_globals_s390.hpp
CodeCacheMinBlockLengthOpenJDK6uintxsparc6define_pd_global
cpu/sparc/c2_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/c1_globals_s390.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxsparc400*Kdefine_pd_global
cpu/sparc/c2_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 JDK16boolruntimetrueproduct
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
CompactStringsOpenJDK9boolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
CompilationPolicyChoiceOpenJDK6Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15intxruntime0
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 CompileTheWorldPreloadClassesOpenJDK6boolruntimetruedevelop
Preload all classes used by a class before start loading
share/runtime/globals.hpp CompileTheWorldSafepointIntervalOpenJDK6intxruntime100notproduct
Force a safepoint every n compiles so sweeper can keep up
share/runtime/globals.hpp CompileTheWorldStartAtOpenJDK6intxruntime1notproduct
First class to consider when using +CompileTheWorld
share/runtime/globals.hpp CompileTheWorldStopAtOpenJDK6intxruntimemax_jintnotproduct
Last class to consider when using +CompileTheWorld
share/runtime/globals.hpp CompileTheWorldOpenJDK6boolruntimefalsedevelop
Compile all methods in all classes in bootstrap class path 
(stress test)
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
CompileThresholdOpenJDK6intxarm1500define_pd_global
cpu/arm/c1_globals_arm.hpp
CompileThresholdOpenJDK6intxruntimeproduct_pd
number of interpreted method invocations before (re-)compiling
share/runtime/globals.hpp CompileThresholdOpenJDK6intxppc10000define_pd_global
cpu/ppc/c2_globals_ppc.hpp
CompileThresholdOpenJDK6intxs3901000define_pd_global
cpu/s390/c1_globals_s390.hpp
CompileThresholdOpenJDK6intxsparc10000define_pd_global
cpu/sparc/c2_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 CompilerThreadHintNoPreemptOpenJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13boolruntimefalseproduct
(Solaris only) Give compiler threads an extra quanta
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
CompilerThreadStackSizeOpenJDK6intxbsdaarch642048define_pd_global
os_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
CompilerThreadStackSizeOpenJDK6intxbsdx86512define_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
CompilerThreadStackSizeOpenJDK6intxbsdzero0define_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxaarch642040define_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
CompilerThreadStackSizeOpenJDK6intxwindowsaarch640define_pd_global
os_cpu/windows_aarch64/globals_windows_aarch64.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 JDK19boolruntimetrueproduct
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 JDK17boolruntimefalseproduct
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 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 JDK23boolc2trueproduct
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 DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolaixppcfalsedefine_pd_global
os_cpu/aix_ppc/globals_aix_ppc.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolbsdaarch64falsedefine_pd_global
os_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolbsdx86falsedefine_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolbsdzerofalsedefine_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boollinuxaarch64falsedefine_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boollinuxarmfalsedefine_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boollinuxppcfalsedefine_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boollinuxs390falsedefine_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boollinuxx86falsedefine_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boollinuxzerofalsedefine_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolruntimeproduct_pd
Throw away obvious excess yield calls
share/runtime/globals.hpp DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolsparctruedefine_pd_global
// yield no more than 100 times per second
cpu/sparc/globals_sparc.hpp DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolsolarisx86truedefine_pd_global
// Determined in the design center
os_cpu/solaris_x86/globals_solaris_x86.hpp DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolwindowsaarch64falsedefine_pd_global
os_cpu/windows_aarch64/globals_windows_aarch64.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolwindowsx86falsedefine_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.
os/linux/globals_linux.hpp DumpReplayDataOnErrorOpenJDK8boolruntimetrueproduct
Record replay data for crashing compiler threads
share/runtime/globals.hpp DumpSharedMappingsInCoreOpenJDK11boollinuxtruediagnostic
If true, sets bit 3 of /proc/PID/coredump_filter, thus 
resulting in file-backed shared mappings of the process to 
be dumped into the corefile.
os/linux/globals_linux.hpp DumpSharedSpacesOpenJDK6Deprecated in JDK18
Obsoleted in JDK19boolruntimefalseproduct
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 EmitSyncOpenJDK6Obsoleted in JDK12
Expired in JDK13intxruntime0experimental
(Unsafe, Unstable) 
Control emission of inline sync fast-path code
share/runtime/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 shrink 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 ErrorFileToStderrOpenJDK11boolruntimefalseproduct
If true, error data is printed to stderr instead of a file
share/runtime/globals.hpp ErrorFileToStdoutOpenJDK11boolruntimefalseproduct
If true, error data is printed to stdout instead of a file
share/runtime/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 ErrorReportServerOpenJDK6Obsoleted in JDK12
Expired in JDK13ccstrruntimeNULLproduct
Override built-in error report server address
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 ExecuteInternalVMTestsOpenJDK6boolgcfalsenotproduct
Enable execution of internal VM tests
share/gc/shared/gc_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 JDK21boolruntimefalseproduct
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 FLOATPRESSUREOpenJDK6intxaarch6432define_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 JDK15boolgcfalseproduct
CMS: larger free blocks are always available for coalescing
share/gc/cms/cms_globals.hpp FLSCoalescePolicyOpenJDK6Obsoleted in JDK14
Expired in JDK15uintxgc2
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 JDK15doublegc0.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 JDK15boolruntimetrueproduct
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 JDK16intxruntime1
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 JDK20boolruntimetrueproduct
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 JDK17boolruntimefalseproduct
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
FreqInlineSizeOpenJDK6intxarm325define_pd_global
cpu/arm/c1_globals_arm.hpp
FreqInlineSizeOpenJDK6intxruntimeproduct_pd
The maximum bytecode size of a frequent method to be inlined
share/runtime/globals.hpp FreqInlineSizeOpenJDK6intxppc175define_pd_global
cpu/ppc/c2_globals_ppc.hpp
FreqInlineSizeOpenJDK6intxs390325define_pd_global
cpu/s390/c1_globals_s390.hpp
FreqInlineSizeOpenJDK6intxsparc175define_pd_global
cpu/sparc/c2_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 JDK24uintxgc4
range(0, max_jubyte)product
The threshold that defines (>=) a hot card.
share/gc/g1/g1_globals.hpp G1ConcRSLogCacheSizeOpenJDK6Obsoleted in JDK21
Expired in JDK24size_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 JDK24size_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 JDK24size_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 JDK24uintxgc300
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 JDK24size_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 JDK24size_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 G1HRRSUseSparseTableOpenJDK6boolgctruedevelop
When true, use sparse table to save space.
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 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 JDK19intxgc0
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 JDK16size_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 JDK19intxgc0
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 G1UpdateBufferSizeOpenJDK6Obsoleted in JDK26
Expired in JDK27size_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 JDK24boolgctrueproduct
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 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 JDK24uintxgc5
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 JDK15boolgcfalseproduct
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 JDK16uintgc200
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
HeapBaseMinAddressOpenJDK6uintxbsdaarch642*Gdefine_pd_global
os_cpu/bsd_aarch64/globals_bsd_aarch64.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
HeapBaseMinAddressOpenJDK6uintxwindowsaarch642*Gdefine_pd_global
os_cpu/windows_aarch64/globals_windows_aarch64.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 HeapFirstMaximumCompactionCountOpenJDK6Obsoleted in JDK24
Expired in JDK25uintxgc3
range(0, max_uintx)product
The collection count for the first maximum compaction
share/gc/parallel/parallel_globals.hpp HeapMaximumCompactionIntervalOpenJDK6Obsoleted in JDK26
Expired in JDK27uintxgc20
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 IgnoreUnverifiableClassesDuringDumpOpenJDK8Deprecated in JDK10
Obsoleted in JDK12
Expired in JDK13boolruntimetruediagnostic
Do not quit -Xshare:dump even if we encounter unverifiable 
classes. Just exclude them from the shared dictionary.
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 JDK17size_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 InitialCodeCacheSizeOpenJDK6uintxppc2048*Kdefine_pd_global
// Integral multiple of CodeCacheExpansionSize
cpu/ppc/c2_globals_ppc.hpp InitialCodeCacheSizeOpenJDK6uintxs390160*Kdefine_pd_global
cpu/s390/c1_globals_s390.hpp
InitialCodeCacheSizeOpenJDK6uintxsparc2048*Kdefine_pd_global
// Integral multiple of CodeCacheExpansionSize
cpu/sparc/c2_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 JDK24uintxgc64
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 InlineCacheBufferSizeOpenJDK11size_truntime10*Kexperimental
InlineCacheBuffer size
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 JDK19intxaarch64100define_pd_global
cpu/aarch64/globals_aarch64.hpp
InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19intxarm50define_pd_global
cpu/arm/globals_arm.hpp
InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19intxruntimediagnostic_pd
Count of call site execution necessary to trigger frequent 
inlining
share/runtime/globals.hpp InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19intxppc100define_pd_global
cpu/ppc/globals_ppc.hpp
InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19intxs390100define_pd_global
cpu/s390/globals_s390.hpp
InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19intxsparc50define_pd_global
// we can use more inlining on the SPARC
cpu/sparc/globals_sparc.hpp InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19intxx86100define_pd_global
cpu/x86/globals_x86.hpp
InlineFrequencyCountOpenJDK6Obsoleted in JDK18
Expired in JDK19intxzero100define_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
// TODO: ARM
cpu/arm/c1_globals_arm.hpp InlineIntrinsicsOpenJDK6boolruntimedevelop_pd
Inline intrinsics that can be statically resolved
share/runtime/globals.hpp InlineIntrinsicsOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
InlineIntrinsicsOpenJDK6bools390truedefine_pd_global
cpu/s390/c1_globals_s390.hpp
InlineIntrinsicsOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c2_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 JDK17boolc2trueproduct
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, 1000000)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(0, max_jint))experimental
Force number of compiler threads for JVMCI host compiler
share/jvmci/jvmci_globals.hpp JVMCINMethodSizeLimitOpenJDK9intxjvmci(80*K)*wordSize
range(0, max_jint)experimental
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 JVMCITraceLevelOpenJDK9intxjvmci0
range(0, 6)experimental
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
JVMInvokeMethodSlackOpenJDK6uintxbsdaarch648192define_pd_global
os_cpu/bsd_aarch64/globals_bsd_aarch64.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
JVMInvokeMethodSlackOpenJDK6uintxwindowsaarch648192define_pd_global
os_cpu/windows_aarch64/globals_windows_aarch64.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 JDK16boolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
LIRFillDelaySlotsOpenJDK6Obsoleted in JDK15
Expired in JDK16boolarmfalsedefine_pd_global
cpu/arm/c1_globals_arm.hpp
LIRFillDelaySlotsOpenJDK6Obsoleted in JDK15
Expired in JDK16boolc1product_pd
fill delays on on SPARC with LIR
share/c1/c1_globals.hpp LIRFillDelaySlotsOpenJDK6Obsoleted in JDK15
Expired in JDK16boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
LIRFillDelaySlotsOpenJDK6Obsoleted in JDK15
Expired in JDK16bools390falsedefine_pd_global
cpu/s390/c1_globals_s390.hpp
LIRFillDelaySlotsOpenJDK6Obsoleted in JDK15
Expired in JDK16boolsparctruedefine_pd_global
cpu/sparc/c1_globals_sparc.hpp
LIRFillDelaySlotsOpenJDK6Obsoleted in JDK15
Expired in JDK16boolx86falsedefine_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 LogEventsBufferEntriesOpenJDK6uintxruntime20
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
LoopPercentProfileLimitOpenJDK9intxx8610define_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 JDK24uintxgcmax_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 MaxInlineLevelOpenJDK6intxruntime15
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 JDK24uintxgc4
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 MaxRAMOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28uint64_taarch641ULL*Gdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
MaxRAMOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28uint64_tarm1ULL*Gdefine_pd_global
cpu/arm/c1_globals_arm.hpp
MaxRAMOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28uint64_tgcproduct_pd
Real memory size (in bytes) used to set maximum heap size
share/gc/shared/gc_globals.hpp MaxRAMOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28uint64_truntime1ULL*Gdefine_pd_global
share/runtime/globals.hpp
MaxRAMOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28uint64_tppc128ULL*Gdefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
MaxRAMOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28uint64_ts3901ULL*Gdefine_pd_global
cpu/s390/c1_globals_s390.hpp
MaxRAMOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28uint64_tsparc128ULL*Gdefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
MaxRAMOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28uint64_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_tppcScaleForWordSize(16*M)define_pd_global
cpu/ppc/c2_globals_ppc.hpp
MetaspaceSizeOpenJDK8size_ts39012*Mdefine_pd_global
cpu/s390/c1_globals_s390.hpp
MetaspaceSizeOpenJDK8size_tsparcScaleForWordSize(16*M)define_pd_global
cpu/sparc/c2_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 JDK20intxruntime250
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 JDK24uintxgc2
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 JDK16intxruntime0
range(0, max_jint)product
Bound Monitor population
share/runtime/globals.hpp MonitorInUseListsOpenJDK6Deprecated in JDK10
Obsoleted in JDK12
Expired in JDK13boolruntimetrueproduct
Track Monitors for Deflation
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 JDK24uintxruntime256
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 NearCpoolOpenJDK9Obsoleted in JDK25boolaarch64trueproduct
constant pool is close to instructions
cpu/aarch64/globals_aarch64.hpp NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14boolaarch64falsedefine_pd_global
// only register window machines need this
cpu/aarch64/globals_aarch64.hpp NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14boolarmfalsedefine_pd_global
// only register window machines need this
cpu/arm/globals_arm.hpp NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14boolruntimeproduct_pd
True for register window machines (sparc/ia64)
share/runtime/globals.hpp NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14boolppcfalsedefine_pd_global
// Only register window machines need this.
cpu/ppc/globals_ppc.hpp NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14bools390falsedefine_pd_global
// Only register window machines need this.
cpu/s390/globals_s390.hpp NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14boolsparctruedefine_pd_global
// register window machines need this
cpu/sparc/globals_sparc.hpp NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14boolx86falsedefine_pd_global
// only register window machines need this
cpu/x86/globals_x86.hpp NeedsDeoptSuspendOpenJDK6Obsoleted in JDK13
Expired in JDK14boolzerofalsedefine_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 NeverActAsServerClassMachineOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
NeverActAsServerClassMachineOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28boolarmtruedefine_pd_global
cpu/arm/c1_globals_arm.hpp
NeverActAsServerClassMachineOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28boolgcproduct_pd
Never act like a server-class machine
share/gc/shared/gc_globals.hpp NeverActAsServerClassMachineOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28boolruntimetruedefine_pd_global
share/runtime/globals.hpp
NeverActAsServerClassMachineOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28boolppcfalsedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
NeverActAsServerClassMachineOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28bools390truedefine_pd_global
cpu/s390/c1_globals_s390.hpp
NeverActAsServerClassMachineOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28boolsparcfalsedefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
NeverActAsServerClassMachineOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28boolx86truedefine_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 NewSizeThreadIncreaseOpenJDK6Obsoleted in JDK27
Expired in JDK28intxaarch644*Kdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
NewSizeThreadIncreaseOpenJDK6Obsoleted in JDK27
Expired in JDK28size_tarm4*Kdefine_pd_global
cpu/arm/c1_globals_arm.hpp
NewSizeThreadIncreaseOpenJDK6Obsoleted in JDK27
Expired in JDK28size_tgcproduct_pd
Additional size added to desired new generation size per 
non-daemon thread (in bytes)
share/gc/shared/gc_globals.hpp NewSizeThreadIncreaseOpenJDK6Obsoleted in JDK27
Expired in JDK28size_truntime4*Kdefine_pd_global
share/runtime/globals.hpp
NewSizeThreadIncreaseOpenJDK6Obsoleted in JDK27
Expired in JDK28size_tppcScaleForWordSize(4*K)define_pd_global
cpu/ppc/c2_globals_ppc.hpp
NewSizeThreadIncreaseOpenJDK6Obsoleted in JDK27
Expired in JDK28size_ts39016*Kdefine_pd_global
cpu/s390/c1_globals_s390.hpp
NewSizeThreadIncreaseOpenJDK6Obsoleted in JDK27
Expired in JDK28size_tsparcScaleForWordSize(4*K)define_pd_global
cpu/sparc/c2_globals_sparc.hpp
NewSizeThreadIncreaseOpenJDK6Obsoleted in JDK27
Expired in JDK28size_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/c1_globals_s390.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxsparc5*Mdefine_pd_global
cpu/sparc/c2_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 NonProfiledCodeHeapSizeOpenJDK9uintxppc21*Mdefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxs39013*Mdefine_pd_global
cpu/s390/c1_globals_s390.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxsparc21*Mdefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxx8613*Mdefine_pd_global
cpu/x86/c1_globals_x86.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 JDK15uintxgc50
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 OldSizeOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25size_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
OnStackReplacePercentageOpenJDK6intxarm933define_pd_global
cpu/arm/c1_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 OnStackReplacePercentageOpenJDK6intxppc140define_pd_global
cpu/ppc/c2_globals_ppc.hpp
OnStackReplacePercentageOpenJDK6intxs3901400define_pd_global
cpu/s390/c1_globals_s390.hpp
OnStackReplacePercentageOpenJDK6intxsparc140define_pd_global
cpu/sparc/c2_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 PSChunkLargeArraysOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28boolgctrueproduct
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 JDK15uintxgc20
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 JDK15boolgctrueproduct
Eagerly trim the local overflow lists 
(when ParGCUseLocalOverflow)
share/gc/cms/cms_globals.hpp ParGCUseLocalOverflowOpenJDK6Obsoleted in JDK14
Expired in JDK15boolgcfalseproduct
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 ParallelOldDeadWoodLimiterMeanOpenJDK6Obsoleted in JDK23
Expired in JDK24size_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 ParallelOldDeadWoodLimiterStdDevOpenJDK6Obsoleted in JDK23
Expired in JDK24size_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 ParallelRefProcBalancingEnabledOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28boolgctrueproduct
Enable balancing of reference processing queues
share/gc/shared/gc_globals.hpp ParallelRefProcEnabledOpenJDK6Deprecated in JDK26
Obsoleted in JDK27
Expired in JDK28boolgcfalseproduct
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 PausePaddingOpenJDK6Obsoleted in JDK26
Expired in JDK27uintxgc1
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 PerfDataSamplingIntervalOpenJDK6Obsoleted in JDK25
Expired in JDK26intxruntime50
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
Specify the PowerPC family version in use. If not provided, 
HotSpot will determine it automatically. Host family version 
is the maximum value allowed (instructions are not emulated).
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 JDK21boollinuxtrueproduct
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/c1_globals_arm.hpp
PreferInterpreterNativeStubsOpenJDK6boolruntimeproduct_pd
Use always interpreter stubs for native methods invoked via 
interpreter
share/runtime/globals.hpp PreferInterpreterNativeStubsOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
PreferInterpreterNativeStubsOpenJDK6bools390falsedefine_pd_global
cpu/s390/c1_globals_s390.hpp
PreferInterpreterNativeStubsOpenJDK6boolsparcfalsedefine_pd_global
cpu/sparc/c2_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 JDK20intxgc-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 PreserveAllAnnotationsOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolruntimefalseproduct
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
PretenureSizeThresholdOpenJDK6Obsoleted in JDK26
Expired in JDK27size_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 PrintAOTOpenJDK9boolruntimefalseexperimental
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 JDK19boolruntimefalsediagnostic
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 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(-1, 4)notproduct
Level of detail of the ideal graph printout. 
System-wide value, -1=printing is disabled, 

0=print nothing except IGVPrintLevel directives, 

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 JDK17boolruntimefalseproduct
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 PrintMetaspaceStatisticsAtExitOpenJDK11boolruntimefalsediagnostic
Print metaspace statistics upon VM exit.
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 JDK19boolc2falsediagnostic
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 PrintSafepointStatisticsCountOpenJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13intxruntime300
range(1, max_intx)product
(Deprecated) Total number of safepoint statistics collected 
before printing them out
share/runtime/globals.hpp PrintSafepointStatisticsTimeoutOpenJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13intxruntime-1product
(Deprecated) Print safepoint statistics only when safepoint takes 
more than PrintSafepointSatisticsTimeout in millis
share/runtime/globals.hpp PrintSafepointStatisticsOpenJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13boolruntimefalseproduct
(Deprecated) Print statistics about safepoint synchronization
share/runtime/globals.hpp PrintSharedArchiveAndExitOpenJDK8boolruntimefalseproduct
Print shared archive file contents
share/runtime/globals.hpp PrintSharedDictionaryOpenJDK8Obsoleted in JDK20
Expired in JDK21boolruntimefalseproduct
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 JDK17boolruntimefalseproduct
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 JDK24uintxruntime4
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
ProfileInterpreterOpenJDK6boolarmfalsedefine_pd_global
cpu/arm/c1_globals_arm.hpp
ProfileInterpreterOpenJDK6boolruntimeproduct_pd
Profile at the bytecode level during interpretation
share/runtime/globals.hpp ProfileInterpreterOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
ProfileInterpreterOpenJDK6bools390falsedefine_pd_global
cpu/s390/c1_globals_s390.hpp
ProfileInterpreterOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
ProfileInterpreterOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
ProfileIntervalsTicksOpenJDK6Obsoleted in JDK13
Expired in JDK14intxruntime100
range(0, max_intx)product
Number of ticks between printing of interval profile 
(+ProfileIntervals)
share/runtime/globals.hpp ProfileIntervalsOpenJDK6Obsoleted in JDK13
Expired in JDK14boolruntimefalseproduct
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
ProfileTrapsOpenJDK6boolarmfalsedefine_pd_global
cpu/arm/c1_globals_arm.hpp
ProfileTrapsOpenJDK6boolruntimedevelop_pd
Profile deoptimization traps at the bytecode level
share/runtime/globals.hpp ProfileTrapsOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
ProfileTrapsOpenJDK6bools390falsedefine_pd_global
cpu/s390/c1_globals_s390.hpp
ProfileTrapsOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
ProfileTrapsOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
ProfileVMOpenJDK6Obsoleted in JDK13
Expired in JDK14boolruntimefalseproduct
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 ProfiledCodeHeapSizeOpenJDK9uintxppc22*Mdefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
ProfiledCodeHeapSizeOpenJDK9uintxs39014*Mdefine_pd_global
cpu/s390/c1_globals_s390.hpp
ProfiledCodeHeapSizeOpenJDK9uintxsparc22*Mdefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
ProfiledCodeHeapSizeOpenJDK9uintxx8614*Mdefine_pd_global
cpu/x86/c1_globals_x86.hpp
ProfilerCheckIntervalsOpenJDK6Obsoleted in JDK13
Expired in JDK14boolruntimefalsenotproduct
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 JDK14intxruntime25diagnostic
Number of compiled methods to show in profile
share/runtime/globals.hpp ProfilerNumberOfInterpretedMethodsOpenJDK6Obsoleted in JDK13
Expired in JDK14intxruntime25diagnostic
Number of interpreted methods to show in profile
share/runtime/globals.hpp ProfilerNumberOfRuntimeStubNodesOpenJDK6Obsoleted in JDK13
Expired in JDK14intxruntime25diagnostic
Number of runtime stub nodes to show in profile
share/runtime/globals.hpp ProfilerNumberOfStubMethodsOpenJDK6Obsoleted in JDK13
Expired in JDK14intxruntime25diagnostic
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 JDK14boolruntimefalseproduct
Print bytecode statistics when dumping profiler output
share/runtime/globals.hpp ProfilerRecordPCOpenJDK6Obsoleted in JDK13
Expired in JDK14boolruntimefalseproduct
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 RTMRetryCountOpenJDK8Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25intppc5
range(0, max_jint)product
Number of RTM retries on lock abort or busy
cpu/ppc/globals_ppc.hpp RTMRetryCountOpenJDK8Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25intx865
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 JDK24intxgc0
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 JDK24boolruntimetrueproduct
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 JDK19boolruntimefalseproduct
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 ReservedCodeCacheSizeOpenJDK6uintxppc48*Mdefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
ReservedCodeCacheSizeOpenJDK6uintxs39032*Mdefine_pd_global
cpu/s390/c1_globals_s390.hpp
ReservedCodeCacheSizeOpenJDK6uintxsparc48*Mdefine_pd_global
cpu/sparc/c2_globals_sparc.hpp
ReservedCodeCacheSizeOpenJDK6uintxx8632*Mdefine_pd_global
cpu/x86/c1_globals_x86.hpp
ResizeOldPLABOpenJDK6Obsoleted in JDK14
Expired in JDK15boolgctrueproduct
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/c2_globals_ppc.hpp
ResizeTLABOpenJDK6bools390truedefine_pd_global
cpu/s390/c1_globals_s390.hpp
ResizeTLABOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c2_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 ScavengeBeforeFullGCOpenJDK6Obsoleted in JDK23
Expired in JDK24boolgctrueproduct
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 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 ShenandoahAllocFailureALotOpenJDK11boolgcfalsediagnostic
Testing: make lots of artificial allocation failures.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahAllocSpikeFactorOpenJDK11uintxgc5
range(0,100)experimental
How much of heap should some heuristics 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 (soft) max heap size.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahAllocationThresholdOpenJDK11uintxgc0
range(0,100)experimental
How many new allocations should happen since the last GC cycle 
before some heuristics trigger the collection. In percents of 
(soft) max heap size. Set to zero to effectively disable.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahAlwaysClearSoftRefsOpenJDK11boolgcfalseexperimental
Unconditionally clear soft references, instead of using any 
other cleanup policy. This minimizes footprint at expense of
more soft reference churn in applications.
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 ShenandoahCodeRootsStyleOpenJDK11uintxgc2diagnostic
Use this style to scan the code cache roots:
 0 - sequential iterator;
 1 - parallel iterator;
 2 - parallel iterator with cset filters;
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 minimum sleep interval for the 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 ShenandoahCriticalFreeThresholdOpenJDK11uintxgc1
range(0, 100)experimental
How much of the heap needs to be free after recovery cycles, 
either Degenerated or Full GC to be claimed successful. If this 
much space is not available, next recovery step would be 
triggered.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahDegeneratedGCOpenJDK11boolgctruediagnostic
Enable Degenerated GC as the graceful degradation step. 
Disabling this option leads to degradation to Full GC instead. 
When running in passive mode, this can be toggled to measure 
either Degenerated GC or Full GC costs.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahElasticTLABOpenJDK11boolgctruediagnostic
Use Elastic TLABs with Shenandoah
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 
runs out of memory too early.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahEvacReserveOpenJDK11uintxgc5
range(1,100)experimental
How much of heap to reserve for evacuations. Larger values make 
GC evacuate more live objects on every cycle, 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 
evacuation conflicts, at expense of evacuating less on each 
GC cycle.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahFullGCThresholdOpenJDK11uintxgc3experimental
How many back-to-back Degenerated GCs should happen before 
going to a Full GC.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahGCHeuristicsOpenJDK11ccstrgcadaptiveproduct
GC heuristics to use. This fine-tunes the GC mode selected, 
by choosing when to start the GC, how much to process on each 
cycle, and what other features to automatically enable. 
Possible values are:
 adaptive - adapt to maintain the given amount of free heap 
at all times, even during the GC cycle;
 static - trigger GC when free heap falls below the threshold;
 aggressive - run GC continuously, try to evacuate everything;
 compact - run GC more frequently and with deeper targets to 
free up more memory.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahGCModeOpenJDK11ccstrgcsatbproduct
GC mode to use. Among other things, this defines which 
barriers are in in use. Possible values are:
 satb - snapshot-at-the-beginning concurrent GC (three pass mark-evac-update);
 iu - incremental-update concurrent GC (three pass mark-evac-update);
 passive - stop the world GC only (either degenerated or full)
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahGarbageThresholdOpenJDK11uintxgc25
range(0,100)experimental
How much garbage a region has to contain before it would be 
taken for collection. This a guideline only, as GC heuristics 
may select the region for collection even if it has little 
garbage. This also affects how much internal fragmentation the 
collector accepts. In percents of heap region size.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahGuaranteedGCIntervalOpenJDK11uintxgc5*60*1000experimental
Many heuristics would guarantee a concurrent 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. 
Setting this to 0 disables the feature.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahHumongousMovesOpenJDK11boolgctruediagnostic
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. Currently affects stop-the-world (Full) cycle only.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahHumongousThresholdOpenJDK11intxgc100
range(1, 100)experimental
Humongous objects are allocated in separate regions. 
This setting defines how large the object should be to be 
deemed humongous. Value is in percents of heap region size. 
This also caps the maximum TLAB size.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahIUBarrierOpenJDK11boolgcfalsediagnostic
Turn on/off I-U barriers barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahImmediateThresholdOpenJDK11uintxgc90
range(0,100)experimental
The cycle may shortcut when enough garbage can be reclaimed 
from the immediate garbage (completely garbage regions). 
In percents of total garbage found. Setting this threshold 
to 100 effectively disables the shortcut.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahImplicitGCInvokesConcurrentOpenJDK11boolgcfalseexperimental
Should internally-caused GC requests invoke concurrent cycles, 
should they do the stop-the-world (Degenerated / Full GC)? 
Many heuristics automatically enable this. This option is 
similar to global ExplicitGCInvokesConcurrent.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahInitFreeThresholdOpenJDK11uintxgc70
range(0,100)experimental
How much heap should be free before some heuristics trigger the 
initial (learning) cycles. Affects cycle frequency on startup 
and after drastic state changes, e.g. after degenerated/full 
GC cycles. In percents of (soft) max heap size.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahLearningStepsOpenJDK11uintxgc5
range(0,100)experimental
The number of cycles some heuristics take to collect in order 
to learn application and GC performance.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahLoadRefBarrierOpenJDK11boolgctruediagnostic
Turn on/off load-reference barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahLoopOptsAfterExpansionOpenJDK11boolgctruediagnostic
Attempt more loop opts after barrier expansion.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahMarkLoopStrideOpenJDK11uintxgc1000experimental
How many items to process during one marking iteration before 
checking for cancellation, yielding, etc. Larger values improve 
marking performance at expense of responsiveness.
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
With automatic region sizing, the regions would be at most 
this large.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahMaxSATBBufferFlushesOpenJDK11uintxgc5experimental
How many times to maximum attempt to flush SATB buffers at the 
end of concurrent marking.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahMinFreeThresholdOpenJDK11uintxgc10
range(0,100)experimental
How much heap should be free before most heuristics trigger the 
collection, even without other triggers. Provides the safety 
margin for many heuristics. In percents of (soft) max heap size.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahMinRegionSizeOpenJDK11size_tgc256 * Kexperimental
With automatic region sizing, the regions would be at least 
this large.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahOOMDuringEvacALotOpenJDK11boolgcfalsediagnostic
Testing: simulate OOM during evacuation.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahOptimizeStaticFinalsOpenJDK11boolgctruediagnostic
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
How much of free space to take as non-taxable allocations 
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. In percent of free space.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahPacingIdleSlackOpenJDK11uintxgc2
range(0, 100)experimental
How much of heap counted as non-taxable allocations during idle 
phases. Larger value makes the pacing milder when collector is 
idle, requiring less rendezvous with control thread. Lower 
value makes the pacing control less responsive to out-of-cycle 
allocs. In percent of total heap size.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahPacingMaxDelayOpenJDK11uintxgc10experimental
Max delay for pacing application allocations. Larger values 
provide more resilience against out of memory, at expense at 
hiding the GC latencies in the allocation path. Time is in 
milliseconds. Setting it to arbitrarily large value makes 
GC effectively stall the threads indefinitely instead of going 
to degenerated or Full GC.
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 ShenandoahPacingOpenJDK11Deprecated in JDK25
Obsoleted in JDK26
Expired in JDK27boolgctrueexperimental
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 to process at once during parallel region 
iteration. Affects heaps with lots of regions.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahPrecleanOpenJDK11boolgctruediagnostic
Do concurrent preclean phase before final mark: process 
definitely alive references to avoid dealing with them during 
pause.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahRefProcFrequencyOpenJDK11uintxgc5experimental
Process process weak (soft, phantom, finalizers) references 
every Nth cycle. Normally affects concurrent GC cycles only, 
as degenerated and full GCs would try to process references 
regardless. Set to zero to disable reference processing 
completely.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahRegionSamplingRateOpenJDK11intgc40experimental
Sampling rate for heap region sampling. In milliseconds between 
the samples. Higher values provide more fidelity, at expense 
of more sampling overhead.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahRegionSamplingOpenJDK11boolgcfalseexperimental
Provide heap region sampling data via jvmstat.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahRegionSizeOpenJDK11size_tgc0experimental
Static heap region size. Set zero to enable automatic sizing.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahSATBBarrierOpenJDK11boolgctruediagnostic
Turn on/off SATB barriers in Shenandoah
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 ShenandoahSelfFixingOpenJDK11boolgctruediagnostic
Fix references with load reference barrier. Disabling this 
might degrade performance.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahSoftMaxHeapSizeOpenJDK11size_tgc0manageable
Soft limit for maximum heap size (in bytes)
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahSuspendibleWorkersOpenJDK11boolgcfalseexperimental
Suspend concurrent GC worker threads at safepoints
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahTargetNumRegionsOpenJDK11size_tgc2048experimental
With automatic region sizing, this is the approximate number 
of regions that would be used, within min/max region size 
limits.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahUncommitDelayOpenJDK11uintxgc5*60*1000experimental
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 
do not become unused longer than this delay. Time is in 
milliseconds. Setting this delay to 0 effectively uncommits 
regions almost immediately after they become unused.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahUncommitOpenJDK11boolgctrueexperimental
Allow to uncommit memory under unused regions and metadata. 
This optimizes footprint at expense of allocation latency in 
regions that require committing back. Uncommits would be 
disabled by some heuristics, or with static heap size.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahUnloadClassesFrequencyOpenJDK11uintxgc100experimental
Unload the classes every Nth cycle. Normally affects concurrent 
GC cycles, as degenerated and full GCs would try to unload 
classes regardless. Set to zero to disable class unloading.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahVerifyLevelOpenJDK11intxgc4diagnostic
Verification level, higher levels check more, taking more time. 
Accepted values are:
 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 ShenandoahVerifyOptoBarriersOpenJDK11boolgcfalsedevelop
Verify no missing barriers in C2.
share/gc/shenandoah/shenandoah_globals.hpp ShenandoahVerifyOpenJDK11boolgcfalsediagnostic
Enable internal verification. This would catch many GC bugs, 
but it would also stall the collector during the verification, 
which prolongs the pauses and might hide other bugs.
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 ShowRegistersOnAssertOpenJDK11boolruntimefalsediagnostic
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 SuperWordLoopUnrollAnalysisOpenJDK9boolppcfalsedefine_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 SurvivorPaddingOpenJDK6Obsoleted in JDK26
Expired in JDK27uintxgc3
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 JDK18intxruntime50
range(0, max_intx)product
Maximum retry count for an external suspend request
share/runtime/globals.hpp SuspendRetryDelayOpenJDK6Obsoleted in JDK17
Expired in JDK18intxruntime5
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 SyncFlagsOpenJDK6Obsoleted in JDK12
Expired in JDK13intxruntime0experimental
(Unsafe, Unstable) 
Experimental Sync flags
share/runtime/globals.hpp SyncKnobsOpenJDK6Obsoleted in JDK12
Expired in JDK13ccstrruntimeNULLexperimental
(Unstable) Various monitor synchronization tunables
share/runtime/globals.hpp SyncVerboseOpenJDK6Obsoleted in JDK12
Expired in JDK13intxruntime0experimental
(Unstable)
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 JDK24boolgctrueproduct
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 (half-full TLABs at GC)
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 TenuredGenerationSizeIncrementOpenJDK6Obsoleted in JDK26
Expired in JDK27uintxgc20
range(0, 100)product
Adaptive size percentage change in tenured generation
share/gc/shared/gc_globals.hpp TenuredGenerationSizeSupplementDecayOpenJDK6Obsoleted in JDK26
Expired in JDK27uintxgc2
range(1, max_uintx)product
Decay factor to TenuredGenerationSizeIncrement
share/gc/shared/gc_globals.hpp TenuredGenerationSizeSupplementOpenJDK6Obsoleted in JDK26
Expired in JDK27uintxgc80
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 JDK15boolaarch64truedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15boolarmfalsedefine_pd_global
cpu/arm/globals_arm.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15boolruntimeproduct_pd
Use thread-local polls instead of global poll for safepoints.
share/runtime/globals.hpp ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15boolppctruedefine_pd_global
cpu/ppc/globals_ppc.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15bools390truedefine_pd_global
cpu/s390/globals_s390.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15boolsparctruedefine_pd_global
cpu/sparc/globals_sparc.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15boolx86falsedefine_pd_global
cpu/x86/globals_x86.hpp
ThreadLocalHandshakesOpenJDK10Deprecated in JDK13
Obsoleted in JDK14
Expired in JDK15boolzerofalsedefine_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 ThreadStackSizeOpenJDK6intxbsdaarch642048define_pd_global
// 0 => use system default
os_cpu/bsd_aarch64/globals_bsd_aarch64.hpp ThreadStackSizeOpenJDK6intxbsdx86320define_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
ThreadStackSizeOpenJDK6intxbsdzero1536define_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
ThreadStackSizeOpenJDK6intxlinuxaarch642040define_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
ThreadStackSizeOpenJDK6intxwindowsaarch640define_pd_global
// 0 => use system default
os_cpu/windows_aarch64/globals_windows_aarch64.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/c1_globals_arm.hpp
TieredCompilationOpenJDK6boolruntimeproduct_pd
Enable tiered compilation
share/runtime/globals.hpp TieredCompilationOpenJDK6boolppctrueInTiereddefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
TieredCompilationOpenJDK6bools390falsedefine_pd_global
cpu/s390/c1_globals_s390.hpp
TieredCompilationOpenJDK6boolsparctrueInTiereddefine_pd_global
cpu/sparc/c2_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 JDK17boolruntimefalsedevelop
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 JDK17boolruntimefalsediagnostic
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 JDK17boolruntimefalsedevelop
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 JDK15boolruntimefalsediagnostic
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 JDK18boolruntimefalseproduct
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 TransmitErrorReportOpenJDK6Obsoleted in JDK12
Expired in JDK13boolruntimefalseproduct
Enable error report transmission on erroneous termination
share/runtime/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 UnlinkSymbolsALotOpenJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13boolruntimefalseproduct
Unlink unreferenced symbols from the symbol table at safepoints
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 UseAOTOpenJDK9boolruntimefalseexperimental
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 JDK16boolgcfalseproduct
Allow young-old boundary to move
share/gc/shared/gc_globals.hpp UseAdaptiveGenerationSizePolicyAtMajorCollectionOpenJDK6Obsoleted in JDK26
Expired in JDK27boolgctrueproduct
Use adaptive young-old sizing policies at major collections
share/gc/shared/gc_globals.hpp UseAdaptiveGenerationSizePolicyAtMinorCollectionOpenJDK6Obsoleted in JDK26
Expired in JDK27boolgctrueproduct
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 UseAdaptiveSizeDecayMajorGCCostOpenJDK6Obsoleted in JDK26
Expired in JDK27boolgctrueproduct
Adaptive size decays the major cost for long major intervals
share/gc/shared/gc_globals.hpp UseAdaptiveSizePolicyFootprintGoalOpenJDK6Obsoleted in JDK26
Expired in JDK27boolgctrueproduct
Use adaptive minimum footprint as a goal
share/gc/shared/gc_globals.hpp UseAdaptiveSizePolicyWithSystemGCOpenJDK6Obsoleted in JDK26
Expired in JDK27boolgcfalseproduct
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 JDK16boolaarch64falseproduct
Use memory barriers to implement volatile accesses
cpu/aarch64/globals_aarch64.hpp UseBiasedLockingOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19boolruntimetrueproduct
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 JDK17boolbsdtrueproduct
enable fast Bsd Posix clocks where available
os/bsd/globals_bsd.hpp UseByteReverseInstructionOpenJDK9bools390trueproduct
Use byte reverse instruction.
cpu/s390/globals_s390.hpp UseByteReverseInstructionsOpenJDK11boolppcfalseproduct
Use byte reverse instructions.
cpu/ppc/globals_ppc.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 JDK15boolgctrueproduct
Use CMS best fit allocation strategy
share/gc/cms/cms_globals.hpp UseCMSInitiatingOccupancyOnlyOpenJDK6Obsoleted in JDK14
Expired in JDK15boolgcfalseproduct
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 JDK21boolruntimetrueproduct
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 UseCompressedClassPointersOpenJDK8Deprecated in JDK25
Obsoleted in JDK27boolruntimefalselp64_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 JDK15boolgcfalseproduct
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 UseContainerCpuSharesOpenJDK11Deprecated in JDK19
Obsoleted in JDK20
Expired in JDK21boollinuxfalseproduct
Include CPU shares in the CPU availability
 calculation.
os/linux/globals_linux.hpp UseContainerSupportOpenJDK10boollinuxtrueproduct
Enable detection and runtime container configuration support
os/linux/globals_linux.hpp UseCopySignIntrinsicOpenJDK11boolruntimefalsediagnostic
Enables intrinsification of Math.copySign
share/runtime/globals.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 JDK23boolruntimetrueproduct
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 JDK16boolgcfalseproduct
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 JDK20boolruntimefalseproduct
use heavyweight instead of lightweight Java monitors
share/runtime/globals.hpp UseHugeTLBFSOpenJDK6Obsoleted in JDK22
Expired in JDK23boolbsdfalseproduct
Use MAP_HUGETLB for large pages
os/bsd/globals_bsd.hpp UseHugeTLBFSOpenJDK6Obsoleted in JDK22
Expired in JDK23boollinuxfalseproduct
Use MAP_HUGETLB for large pages
os/linux/globals_linux.hpp UseImplicitStableValuesOpenJDK8Obsoleted in JDK13
Expired in JDK14boolc2truediagnostic
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 JDK16boolruntimetrueproduct
Use LWP-based instead of libthread-based synchronization 
(SPARC only)
share/runtime/globals.hpp UseLargePagesInMetaspaceOpenJDK8Deprecated in JDK15
Obsoleted in JDK16
Expired in JDK17boolruntimefalseproduct
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
UseLegacyJNINameEscapingOpenJDK11boolruntimefalseproduct
Use the original JNI name escaping scheme
share/runtime/globals.hpp UseLibmIntrinsicOpenJDK9boolx86truediagnostic
Use Libm Intrinsics
cpu/x86/globals_x86.hpp UseLinuxPosixThreadCPUClocksOpenJDK6Deprecated in JDK24
Obsoleted in JDK25
Expired in JDK26boollinuxtrueproduct
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 UseMembarOpenJDK6Deprecated in JDK10
Obsoleted in JDK12boolaarch64truedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
UseMembarOpenJDK6Deprecated in JDK10
Obsoleted in JDK12boolarmtruedefine_pd_global
cpu/arm/globals_arm.hpp
UseMembarOpenJDK6Deprecated in JDK10
Obsoleted in JDK12boolruntimeproduct_pd
(Unstable) Issues membars on thread state transitions
share/runtime/globals.hpp UseMembarOpenJDK6Deprecated in JDK10
Obsoleted in JDK12boolppctruedefine_pd_global
cpu/ppc/globals_ppc.hpp
UseMembarOpenJDK6Deprecated in JDK10
Obsoleted in JDK12bools390truedefine_pd_global
cpu/s390/globals_s390.hpp
UseMembarOpenJDK6Deprecated in JDK10
Obsoleted in JDK12boolsparctruedefine_pd_global
cpu/sparc/globals_sparc.hpp
UseMembarOpenJDK6Deprecated in JDK10
Obsoleted in JDK12boolx86truedefine_pd_global
cpu/x86/globals_x86.hpp
UseMembarOpenJDK6Deprecated in JDK10
Obsoleted in JDK12boolzerotruedefine_pd_global
cpu/zero/globals_zero.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 UseNeonOpenJDK9Obsoleted in JDK23
Expired in JDK24boolaarch64falseproduct
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 UseNewLongLShiftOpenJDK6Obsoleted in JDK27
Expired in JDK28boolx86falseproduct
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 UseOnStackReplacementOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
UseOnStackReplacementOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c1_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/c2_globals_ppc.hpp
UseOnStackReplacementOpenJDK6bools390truedefine_pd_global
cpu/s390/c1_globals_s390.hpp
UseOnStackReplacementOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c2_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 UseOprofileOpenJDK6Deprecated in JDK25
Obsoleted in JDK26
Expired in JDK27boolbsdfalseproduct
enable support for Oprofile profiler
os/bsd/globals_bsd.hpp UseOprofileOpenJDK6Deprecated in JDK25
Obsoleted in JDK26
Expired in JDK27boollinuxfalseproduct
enable support for Oprofile profiler
os/linux/globals_linux.hpp UseOptoBiasInliningOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19boolc2trueproduct
Generate biased locking code in C2 ideal graph
share/opto/c2_globals.hpp UsePSAdaptiveSurvivorSizePolicyOpenJDK6Obsoleted in JDK26
Expired in JDK27boolgctrueproduct
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 JDK16boolgcfalseproduct
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 JDK17boolc2falseproduct
Use Sparc RDPC instruction for the constant table base.
share/opto/c2_globals.hpp UseRTMDeoptOpenJDK8Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolppcfalseproduct
Perform deopt and recompilation based on RTM abort ratio
cpu/ppc/globals_ppc.hpp UseRTMDeoptOpenJDK8Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolx86falseproduct
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 UseRTMLockingOpenJDK8Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolppcfalseproduct
Enable RTM lock eliding for inflated locks in compiled code
cpu/ppc/globals_ppc.hpp UseRTMLockingOpenJDK8Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25boolx86falseproduct
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 JDK23boolbsdfalseproduct
Use SYSV shared memory for large pages
os/bsd/globals_bsd.hpp UseSHMOpenJDK6Obsoleted in JDK22
Expired in JDK23boollinuxfalseproduct
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 JDK16intxruntime99
range(0, 99)product
Highest supported SSE instructions set on x86/x64
share/runtime/globals.hpp UseSemaphoreGCThreadsSynchronizationOpenJDK9Obsoleted in JDK16
Expired in JDK17boolgctruediagnostic
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 JDK19boolruntimetrueproduct
Use shared spaces for metadata
share/runtime/globals.hpp UseSignalChainingOpenJDK6boolruntimetrueproduct
Use signal-chaining to invoke signal handlers installed 
by the application (Solaris & Linux only)
share/runtime/globals.hpp UseSignumIntrinsicOpenJDK11boolruntimefalsediagnostic
Enables intrinsification of Math.signum
share/runtime/globals.hpp UseSimpleArrayEqualsOpenJDK11boolaarch64falseproduct
Use simpliest and shortest implementation for array equals
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 UseSwitchProfilingOpenJDK11boolruntimetruediagnostic
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/c2_globals_ppc.hpp
UseTLABOpenJDK6bools390truedefine_pd_global
cpu/s390/c1_globals_s390.hpp
UseTLABOpenJDK6boolsparctruedefine_pd_global
cpu/sparc/c2_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 UseXMMForArrayCopyOpenJDK6Obsoleted in JDK27
Expired in JDK28boolruntimefalseproduct
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 VMThreadHintNoPreemptOpenJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13boolruntimefalseproduct
(Solaris only) Give VM thread an extra quanta
share/runtime/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
VMThreadStackSizeOpenJDK6intxbsdaarch642048define_pd_global
os_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
VMThreadStackSizeOpenJDK6intxbsdx86512define_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
VMThreadStackSizeOpenJDK6intxbsdzero512define_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
VMThreadStackSizeOpenJDK6intxlinuxaarch642040define_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
VMThreadStackSizeOpenJDK6intxwindowsaarch640define_pd_global
os_cpu/windows_aarch64/globals_windows_aarch64.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 VerboseInternalVMTestsOpenJDK7boolgcfalsenotproduct
Turn on logging for internal VM tests.
share/gc/shared/gc_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 VerifyInterpreterStackTopOpenJDK9boolarmfalsedevelop
Verify interpreter stack top at every stack expansion (AArch64 only)
cpu/arm/globals_arm.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 JDK17boolruntimetrueproduct
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 ZConcurrentJNIWeakGlobalHandlesOpenJDK11boolgctruediagnostic
Clean JNI WeakGlobalRefs concurrently
share/gc/z/z_globals.hpp ZConcurrentStringTableOpenJDK11boolgctruediagnostic
Clean StringTable concurrently
share/gc/z/z_globals.hpp ZConcurrentVMWeakHandlesOpenJDK11boolgctruediagnostic
Clean VM WeakHandles concurrently
share/gc/z/z_globals.hpp ZFragmentationLimitOpenJDK11doublegc25.0product
Maximum allowed heap fragmentation
share/gc/z/z_globals.hpp ZMarkStacksMaxOpenJDK11size_tgcNOT_LP64(512*M) LP64_ONLY(8*G)
range(32*M, NOT_LP64(512*M) LP64_ONLY(1024*G))product
Maximum number of bytes allocated for marking 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 ZSymbolTableUnloadingOpenJDK11boolgcfalsediagnostic
Unload unused VM symbols
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 ZWeakRootsOpenJDK11boolgctruediagnostic
Treat JNI WeakGlobalRefs and StringTable as weak roots
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
share/runtime/globals.hpp ZapHighNonSignificantBitsOpenJDK9boolarmfalsedevelop
Zap high non-significant bits of values (AArch64 only)
cpu/arm/globals_arm.hpp ZapMemoryOpenJDK7boolppcfalseproduct
Write 0x0101... to empty memory.
 Use this to ease debugging.
cpu/ppc/globals_ppc.hpp ZapResourceAreaOpenJDK6boolruntimetrueInDebugdevelop
Zap freed resource/arena space
share/runtime/globals.hpp ZapStackSegmentsOpenJDK6boolruntimetrueInDebugnotproduct
Zap allocated/freed stack segments
share/runtime/globals.hpp ZapUnusedHeapAreaOpenJDK6boolruntimetrueInDebugdevelop
Zap unused heap space
share/runtime/globals.hpp ZapVMHandleAreaOpenJDK6boolruntimetrueInDebugnotproduct
Zap freed VM handle space
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