VM Options Explorer - OpenJDK18 HotSpot


NameSinceDeprecatedTypeOSCPUComponentDefaultAvailabilityDescriptionDefined in
SinceDeprecatedTypeOSCPUComponentAvailability
AVX3ThresholdOpenJDK11intx864096
range(0, max_jint)
product
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
AbortVMOnCompilationFailureOpenJDK11boolcompilerfalseproduct
Abort VM when method had failed to compile.
share/compiler/compiler_globals.hpp
AbortVMOnExceptionMessageOpenJDK6ccstrruntimeNULLproduct
Call fatal if the exception pointed by AbortVMOnException 
has this message
share/runtime/globals.hpp
AbortVMOnExceptionOpenJDK6ccstrruntimeNULLproduct
Call fatal if this exception is thrown. Example: 
java -XX:AbortVMOnException=java.lang.NullPointerException Foo
share/runtime/globals.hpp
AbortVMOnSafepointTimeoutOpenJDK11boolruntimefalseproduct
Abort upon failure to reach safepoint (see SafepointTimeout)
share/runtime/globals.hpp
AbortVMOnVMOperationTimeoutDelayOpenJDK11intxruntime1000
range(0, max_intx)
product
Delay in milliseconds for option AbortVMOnVMOperationTimeout
share/runtime/globals.hpp
AbortVMOnVMOperationTimeoutOpenJDK11boolruntimefalseproduct
Abort upon failure to complete VM operation promptly
share/runtime/globals.hpp
ActiveProcessorCountOpenJDK10intgc-1product
Specify the CPU count the VM should use and report as active
share/gc/shared/gc_globals.hpp
AdaptiveSizeDecrementScaleFactorOpenJDK6uintxgc4
range(1, max_uintx)
product
Adaptive size scale down factor for shrinking
share/gc/shared/gc_globals.hpp
AdaptiveSizeMajorGCDecayTimeScaleOpenJDK6uintxgc10
range(0, max_uintx)
product
Time scale over which major costs decay
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyCollectionCostMarginOpenJDK6Obsoleted in JDK23
Expired in JDK24
uintxgc50
range(0, 100)
product
If collection costs are within margin, reduce both by full 
delta
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyInitializingStepsOpenJDK6uintxgc20
range(0, max_uintx)
product
Number of steps where heuristics is used before data is used
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyOutputIntervalOpenJDK6uintxgc0
range(0, max_uintx)
product
Collection interval for printing information; zero means never
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyReadyThresholdOpenJDK6uintxgc5develop
Number of collections before the adaptive sizing is started
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyWeightOpenJDK6uintxgc10
range(0, 100)
product
Weight given to exponential resizing, between 0 and 100
share/gc/shared/gc_globals.hpp
AdaptiveSizeThroughPutPolicyOpenJDK6uintxgc0
range(0, 1)
product
Policy for changing generation size for throughput goals
share/gc/shared/gc_globals.hpp
AdaptiveTimeWeightOpenJDK6uintxgc25
range(0, 100)
product
Weight given to time in adaptive policy, between 0 and 100
share/gc/shared/gc_globals.hpp
AdjustStackSizeForTLSOpenJDK14boollinuxfalseproduct
Increase the thread stack size to include space for glibc 
static thread-local storage (TLS) if true
os/linux/globals_linux.hpp
AggressiveHeapOpenJDK10boolgcfalseproduct
Optimize heap options for long-running memory intensive apps
share/gc/shared/gc_globals.hpp
AggressiveUnboxingOpenJDK8boolc2trueproduct
Control optimizations for aggressive boxing elimination
share/opto/c2_globals.hpp
AliasLevelOpenJDK6Deprecated in JDK19
Obsoleted in JDK20
Expired in JDK21
intxc23
range(0, 3)
product
0 for no aliasing, 1 for oop/field/static/array split, 

2 for class split, 3 for unique instances
share/opto/c2_globals.hpp
AlignVectorOpenJDK7boolc2trueproduct
Perform vector store/load alignment in loop
share/opto/c2_globals.hpp
AllocateHeapAtOpenJDK10ccstrruntimeNULLproduct
Path to the directory 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
AllowArchivingWithJavaAgentOpenJDK12boolruntimefalseproduct
Allow Java agent to be run with CDS dumping
share/runtime/globals.hpp
AllowExtshmOpenJDK9boolaixfalseproduct
Allow VM to run with EXTSHM=ON.
os/aix/globals_aix.hpp
AllowParallelDefineClassOpenJDK6boolruntimefalseproduct
Allow parallel defineClass requests for class loaders 
registering as parallel capable
share/runtime/globals.hpp
AllowRedefinitionToAddDeleteMethodsOpenJDK13Deprecated in JDK13boolruntimefalseproduct
(Deprecated) Allow redefinition to add and delete private 
static or final methods for compatibility with old releases
share/runtime/globals.hpp
AllowUserSignalHandlersOpenJDK6boolruntimefalseproduct
Application will install primary signal handlers for the JVM 
(Unix only)
share/runtime/globals.hpp
AllowVectorizeOnDemandOpenJDK9boolc2trueproduct
Globally supress vectorization set in VectorizeMethod
share/opto/c2_globals.hpp
AlwaysActAsServerClassMachineOpenJDK6boolgcfalseproduct
Always act like a server-class machine
share/gc/shared/gc_globals.hpp
AlwaysAtomicAccessesOpenJDK9boolruntimefalseproduct
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
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
AlwaysSafeConstructorsOpenJDK9boolruntimefalseproduct
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
ArchiveClassesAtExitOpenJDK13ccstrruntimeNULLproduct
The path and name of the dynamic archive file
share/runtime/globals.hpp
ArchiveRelocationModeOpenJDK14intxruntime0
range(0, 2)
product
(0) first map at preferred address, and if 
unsuccessful, map at alternative address (default); 
(1) always map at alternative address; 
(2) always map at preferred address, and if unsuccessful, 
do not map the archive
share/runtime/globals.hpp
ArrayAllocatorMallocLimitOpenJDK7size_truntime(size_t)-1product
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
ArrayOperationPartialInlineSizeOpenJDK17intxc20
range(0, 256)
product
Partial inline size used for small array operations
(e.g. copy,cmp) acceleration.
share/opto/c2_globals.hpp
AssertRangeCheckEliminationOpenJDK8boolc1falsedevelop
Assert Range Check Elimination
share/c1/c1_globals.hpp
AsyncDeflationIntervalOpenJDK15intxruntime250
range(0, max_jint)
product
Async deflate idle monitors every so many milliseconds when 
MonitorUsedDeflationThreshold is exceeded (0 is off).
share/runtime/globals.hpp
AsyncLogBufferSizeOpenJDK17size_truntime2*M
range(100*K, 50*M)
product
Memory budget (in bytes) for the buffer of Asynchronous 
Logging (-Xlog:async).
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
AvgMonitorsPerThreadEstimateOpenJDK16size_truntime1024
range(0, max_uintx)
product
Used to estimate a variable ceiling based on number of threads 
for use with MonitorUsedDeflationThreshold (0 is off).
share/runtime/globals.hpp
AvoidUnalignedAccessesOpenJDK9boolaarch64falseproduct
Avoid generating unaligned memory accesses
cpu/aarch64/globals_aarch64.hpp
BCEATraceLevelOpenJDK6intxcompiler0
range(0, 3)
product
How much tracing to do of bytecode escape analysis estimates 
(0-3)
share/compiler/compiler_globals.hpp
BackgroundCompilationOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
BackgroundCompilationOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
BackgroundCompilationOpenJDK6boolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
BackgroundCompilationOpenJDK6boolruntimeproduct_pd
A thread requesting compilation is not blocked during 
compilation
share/runtime/globals.hpp
BackgroundCompilationOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
BackgroundCompilationOpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
BackgroundCompilationOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
BailoutAfterHIROpenJDK6boolc1falsedevelop
bailout of compilation after building of HIR
share/c1/c1_globals.hpp
BailoutAfterLIROpenJDK6boolc1falsedevelop
bailout of compilation after building of LIR
share/c1/c1_globals.hpp
BailoutOnExceptionHandlersOpenJDK6boolc1falsedevelop
bailout of compilation for methods with exception handlers
share/c1/c1_globals.hpp
BailoutToInterpreterForThrowsOpenJDK6boolc2falsedevelop
Compiled methods which throws/catches exceptions will be 
deopt and intp.
share/opto/c2_globals.hpp
BaseFootPrintEstimateOpenJDK6size_tgc256*M
range(0, max_uintx)
product
Estimate of footprint other than Java Heap
share/gc/shared/gc_globals.hpp
BciProfileWidthOpenJDK6intxruntime2develop
Number of return bci's to record in ret profile
share/runtime/globals.hpp
BinarySwitchThresholdOpenJDK6intxruntime5develop
Minimal number of lookupswitch entries for rewriting to binary 
switch
share/runtime/globals.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
BlockZeroingLowLimitOpenJDK6intxaarch64256
range(1, max_jint)
product
Minimum size in bytes when block zeroing will be used
cpu/aarch64/globals_aarch64.hpp
BootstrapJVMCIOpenJDK9booljvmcifalseproduct
Bootstrap JVMCI before running Java main method. This 
initializes the compile queue with a small set of methods 
and processes the queue until it is empty. Combining this with 
-XX:-TieredCompilation makes JVMCI compile more of itself.
share/jvmci/jvmci_globals.hpp
BreakAtNodeOpenJDK6intxc20notproduct
Break at construction of this Node (either _idx or _debug_idx)
share/opto/c2_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
C1InlineStackLimitOpenJDK15intxc110
range(0, max_jint)
product
inlining only allowed for methods which don't exceed this 
number of expression stack and local slots
share/c1/c1_globals.hpp
C1MaxInlineLevelOpenJDK15intxc19
range(0, max_jint)
product
The maximum number of nested calls that are inlined by C1
share/c1/c1_globals.hpp
C1MaxInlineSizeOpenJDK15intxc135
range(0, max_jint)
product
The maximum bytecode size of a method to be inlined by C1
share/c1/c1_globals.hpp
C1MaxRecursiveInlineLevelOpenJDK15intxc11
range(0, max_jint)
product
maximum number of nested recursive calls that are inlined by C1
share/c1/c1_globals.hpp
C1MaxTrivialSizeOpenJDK15intxc16
range(0, max_jint)
product
The maximum bytecode size of a trivial method to be inlined by 
C1
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
C1UpdateMethodDataOpenJDK6boolc1trueproduct
Update MethodData*s in Tier1-generated code
share/c1/c1_globals.hpp
CIBreakAtOSROpenJDK6intxcompiler-1develop
The id of osr compilation to break at
share/compiler/compiler_globals.hpp
CIBreakAtOpenJDK6intxcompiler-1develop
The id of compilation to break at
share/compiler/compiler_globals.hpp
CICompileNativesOpenJDK6boolcompilertruedevelop
compile native methods if supported by the compiler
share/compiler/compiler_globals.hpp
CICompileOSROpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CICompileOSROpenJDK6boolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
CICompileOSROpenJDK6boolcompilerdevelop_pd
compile on stack replacement methods if supported by the 
compiler
share/compiler/compiler_globals.hpp
CICompileOSROpenJDK6boolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
CICompileOSROpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
CICompileOSROpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
CICompilerCountPerCPUOpenJDK6boolcompilerfalseproduct
1 compiler thread for log(N CPUs)
share/compiler/compiler_globals.hpp
CICompilerCountOpenJDK6intxruntimeCI_COMPILER_COUNT
range(0, max_jint)
product
Number of compiler threads to run
share/runtime/globals.hpp
CICountNativeOpenJDK18boolcompilerfalsedevelop
use a separate counter when assigning ids to native 
compilations
share/compiler/compiler_globals.hpp
CICountOSROpenJDK6boolcompilerfalsedevelop
use a separate counter when assigning ids to osr compilations
share/compiler/compiler_globals.hpp
CICrashAtOpenJDK8intxcompiler-1notproduct
id of compilation to trigger assert in compiler thread for 
the purpose of testing, e.g. generation of replay data
share/compiler/compiler_globals.hpp
CIObjectFactoryVerifyOpenJDK6boolcompilerfalsenotproduct
enable potentially expensive verification in ciObjectFactory
share/compiler/compiler_globals.hpp
CIPrintCompileQueueOpenJDK6boolcompilerfalseproduct
display the contents of the compile queue whenever a 
compilation is enqueued
share/compiler/compiler_globals.hpp
CIPrintCompilerNameOpenJDK6boolcompilerfalsedevelop
when CIPrint is active, print the name of the active compiler
share/compiler/compiler_globals.hpp
CIPrintMethodCodesOpenJDK6boolcompilerfalsedevelop
print method bytecodes of the compiled code
share/compiler/compiler_globals.hpp
CIPrintRequestsOpenJDK6boolcompilerfalsedevelop
display every request for compilation
share/compiler/compiler_globals.hpp
CIPrintTypeFlowOpenJDK6boolcompilerfalsedevelop
print the results of ciTypeFlow analysis
share/compiler/compiler_globals.hpp
CIStartOSROpenJDK6intxcompiler0develop
The id of the first osr compilation to permit 
(CICountOSR must be on)
share/compiler/compiler_globals.hpp
CIStartOpenJDK6intxcompiler0develop
The id of the first compilation to permit
share/compiler/compiler_globals.hpp
CIStopOSROpenJDK6intxcompilermax_jintdevelop
The id of the last osr compilation to permit 
(CICountOSR must be on)
share/compiler/compiler_globals.hpp
CIStopOpenJDK6intxcompilermax_jintdevelop
The id of the last compilation to permit
share/compiler/compiler_globals.hpp
CITimeEachOpenJDK6boolcompilerfalsedevelop
display timing information after each successful compilation
share/compiler/compiler_globals.hpp
CITimeVerboseOpenJDK9boolcompilerfalsedevelop
be more verbose in compilation timings
share/compiler/compiler_globals.hpp
CITimeOpenJDK6boolcompilerfalseproduct
collect timing information for compilation
share/compiler/compiler_globals.hpp
CITraceTypeFlowOpenJDK6boolcompilerfalsedevelop
detailed per-bytecode tracing of ciTypeFlow analysis
share/compiler/compiler_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
CSEArrayLengthOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
CanonicalizeNodesOpenJDK6boolc1truedevelop
Canonicalize graph nodes
share/c1/c1_globals.hpp
CheckCompressedOopsOpenJDK6boolruntimetruenotproduct
Generate checks in encoding/decoding code in debug VM
share/runtime/globals.hpp
CheckIntrinsicsOpenJDK9boolruntimetrueproduct
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 
@IntrinsicCandidate annotation, that 
(2) there is an intrinsic registered for all loaded methods 
that are annotated with the @IntrinsicCandidate 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
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
CodeCacheExpansionSizeOpenJDK6uintxcompiler32*Kdefine_pd_global
share/compiler/compiler_globals_pd.hpp
CodeCacheExpansionSizeOpenJDK6uintxruntimeproduct_pd
Code cache expansion size (in bytes)
share/runtime/globals.hpp
CodeCacheExpansionSizeOpenJDK6uintxppc32*Kdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
CodeCacheExpansionSizeOpenJDK6uintxs39064*Kdefine_pd_global
cpu/s390/c2_globals_s390.hpp
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
CodeCacheMinBlockLengthOpenJDK6uintxcompiler1define_pd_global
share/compiler/compiler_globals_pd.hpp
CodeCacheMinBlockLengthOpenJDK6uintxruntimeproduct_pd
Minimum number of segments in a code cache block
share/runtime/globals.hpp
CodeCacheMinBlockLengthOpenJDK6uintxppc1define_pd_global
cpu/ppc/c1_globals_ppc.hpp
CodeCacheMinBlockLengthOpenJDK6uintxs3904define_pd_global
cpu/s390/c2_globals_s390.hpp
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
CodeCacheMinimumUseSpaceOpenJDK8uintxcompiler200*Kdefine_pd_global
share/compiler/compiler_globals_pd.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxruntimedevelop_pd
Minimum code cache size (in bytes) required to start VM.
share/runtime/globals.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxppc400*Kdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxs390400*Kdefine_pd_global
cpu/s390/c2_globals_s390.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxx86400*Kdefine_pd_global
cpu/x86/c1_globals_x86.hpp
CodeCacheSegmentSizeOpenJDK6uintxaarch6464 COMPILER1_AND_COMPILER2_PRESENT(+64)define_pd_global
// Tiered compilation has large code-entry alignment.
cpu/aarch64/globals_aarch64.hpp
CodeCacheSegmentSizeOpenJDK6uintxarm64 COMPILER1_AND_COMPILER2_PRESENT(+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
CodeCacheSegmentSizeOpenJDK6uintxx8664 COMPILER1_AND_COMPILER2_PRESENT(+64)define_pd_global
// Tiered compilation has large code-entry alignment.
cpu/x86/globals_x86.hpp
CodeCacheSegmentSizeOpenJDK6uintxzero64 COMPILER1_AND_COMPILER2_PRESENT(+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
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
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
CompactStringsOpenJDK9boolx86truedefine_pd_global
cpu/x86/globals_x86.hpp
CompactStringsOpenJDK9boolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
CompilationModeOpenJDK14ccstrcompilerdefaultproduct
Compilation modes: 
default: normal tiered compilation; 
quick-only: C1-only mode; 
high-only: C2/JVMCI-only mode; 
high-only-quick-internal: C2/JVMCI-only mode, 
with JVMCI compiler compiled with C1.
share/compiler/compiler_globals.hpp
CompileCommandFileOpenJDK6ccstrcompilerNULLproduct
Read compiler commands from this file [.hotspot_compiler]
share/compiler/compiler_globals.hpp
CompileCommandOpenJDK6ccstrlistcompiler
product
Prepend to .hotspot_compiler; e.g. log,java/lang/String.
share/compiler/compiler_globals.hpp
CompileOnlyOpenJDK6ccstrlistcompiler
product
List of methods (pkg/class.name) to restrict compilation to
share/compiler/compiler_globals.hpp
CompileThresholdScalingOpenJDK9doublecompiler1.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/compiler/compiler_globals.hpp
CompileThresholdOpenJDK6intxaarch641500define_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CompileThresholdOpenJDK6intxarm10000define_pd_global
cpu/arm/c2_globals_arm.hpp
CompileThresholdOpenJDK6intxcompiler0define_pd_global
share/compiler/compiler_globals_pd.hpp
CompileThresholdOpenJDK6intxruntimeproduct_pd
number of interpreted method invocations before (re-)compiling
share/runtime/globals.hpp
CompileThresholdOpenJDK6intxppc1000define_pd_global
cpu/ppc/c1_globals_ppc.hpp
CompileThresholdOpenJDK6intxs39010000define_pd_global
cpu/s390/c2_globals_s390.hpp
CompileThresholdOpenJDK6intxx861500define_pd_global
cpu/x86/c1_globals_x86.hpp
CompilerDirectivesFileOpenJDK9ccstrcompilerNULLproduct
Read compiler directives from this file
share/compiler/compiler_globals.hpp
CompilerDirectivesIgnoreCompileCommandsOpenJDK9boolcompilerfalseproduct
Disable backwards compatibility for compile commands.
share/compiler/compiler_globals.hpp
CompilerDirectivesLimitOpenJDK9intcompiler50product
Limit on number of compiler directives.
share/compiler/compiler_globals.hpp
CompilerDirectivesPrintOpenJDK9boolcompilerfalseproduct
Print compiler directives on installation.
share/compiler/compiler_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
CompilerThreadStackSizeOpenJDK6intxlinuxaarch642048define_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxarm512define_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxppc4096define_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxs3902048define_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxx86512define_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxzero0define_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
CompilerThreadStackSizeOpenJDK6intxruntimeproduct_pd
Compiler Thread Stack Size (in Kbytes)
share/runtime/globals.hpp
CompilerThreadStackSizeOpenJDK6intxwindowsaarch640define_pd_global
os_cpu/windows_aarch64/globals_windows_aarch64.hpp
CompilerThreadStackSizeOpenJDK6intxwindowsx860define_pd_global
os_cpu/windows_x86/globals_windows_x86.hpp
CompressedClassSpaceBaseAddressOpenJDK17size_truntime0develop
Force the class space to be allocated at this address or 
fails VM initialization (requires -Xshare=off.
share/runtime/globals.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
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
ControlIntrinsicOpenJDK16ccstrlistruntime
product
Control intrinsics using a list of +/- (internal) names, 
separated by commas
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
CountLinearScanOpenJDK6boolc1falsedevelop
collect statistic counters during LinearScan
share/c1/c1_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 thrown from JVM
share/runtime/globals.hpp
CreateCoredumpOnCrashOpenJDK9boolruntimetrueproduct
Create core/mini dump on VM fatal error
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(uint64_t)-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
DebugInlinedCallsOpenJDK6boolc2trueproduct
If false, restricts profiled locations to the root method only
share/opto/c2_globals.hpp
DebugNonSafepointsOpenJDK6boolruntimetrueInDebugproduct
Generate extra debugging information for non-safepoints in 
nmethods
share/runtime/globals.hpp
DebugVtablesOpenJDK6boolruntimefalsedevelop
add debugging code to vtable dispatch
share/runtime/globals.hpp
DeferInitialCardMarkOpenJDK6boolgcfalseproduct
When +ReduceInitialCardMarks, explicitly defer any that 
may arise from new_pre_store_barrier
share/gc/shared/gc_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
DeoptimizeNMethodBarriersALotOpenJDK15boolruntimefalseproduct
Make nmethod barriers deoptimise a lot.
share/runtime/globals.hpp
DeoptimizeObjectsALotIntervalOpenJDK16uint64_truntime5
range(0, max_jlong)
develop
Interval for DeoptimizeObjectsALot.
share/runtime/globals.hpp
DeoptimizeObjectsALotThreadCountAllOpenJDK16intruntime1
range(0, max_jint)
develop
The number of threads that revert optimizations based on 
escape analysis for all threads if DeoptimizeObjectsALot 
is enabled.
share/runtime/globals.hpp
DeoptimizeObjectsALotThreadCountSingleOpenJDK16intruntime1
range(0, max_jint)
develop
The number of threads that revert optimizations based on 
escape analysis for a single thread if DeoptimizeObjectsALot 
is enabled. The target thread is selected round robin.
share/runtime/globals.hpp
DeoptimizeObjectsALotOpenJDK16boolruntimefalsedevelop
For testing purposes concurrent threads revert optimizations 
based on escape analysis at intervals given with 
DeoptimizeObjectsALotInterval=n. The thread count is given 
with DeoptimizeObjectsALotThreadCountSingle and 
DeoptimizeObjectsALotThreadCountAll.
share/runtime/globals.hpp
DeoptimizeOnlyAtOpenJDK6ccstrlistruntime
notproduct
A comma separated list of bcis to deoptimize at
share/runtime/globals.hpp
DeoptimizeRandomOpenJDK6boolruntimefalsedevelop
Deoptimize random frames on random exit from the runtime system
share/runtime/globals.hpp
DesiredMethodLimitOpenJDK6intxcompiler8000develop
The desired maximum method size (in bytecodes) after inlining
share/compiler/compiler_globals.hpp
DiagnoseSyncOnValueBasedClassesOpenJDK16intxruntime0
range(0, 2)
product
Detect and take action upon identifying synchronization on 
value based classes. Modes: 

0: off; 

1: exit with fatal error; 

2: log message to stdout. Output file can be specified with 
 -Xlog:valuebasedclasses. If JFR is running it will 
 also generate JFR events.
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
product
do not expand intrinsics whose (internal) names appear here
share/runtime/globals.hpp
DisablePrimordialThreadGuardPagesOpenJDK8boolruntimefalseproduct
Disable the use of stack guard pages if the JVM is loaded 
on the primordial process thread
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
DisplayVMOutputOpenJDK6boolruntimetrueproduct
Display all VM output on the tty, independently of LogVMOutput
share/runtime/globals.hpp
DoCEEOpenJDK6boolc1truedevelop
Do Conditional Expression Elimination to simplify CFG
share/c1/c1_globals.hpp
DoEscapeAnalysisOpenJDK6boolc2trueproduct
Perform escape analysis
share/opto/c2_globals.hpp
DoReserveCopyInSuperWordOpenJDK9Obsoleted in JDK22
Expired in JDK23
boolc2trueproduct
Create reserve copy of graph in SuperWord.
share/opto/c2_globals.hpp
DominatorSearchLimitOpenJDK6intxc21000
range(0, max_jint)
product
Iterations limit in Node::dominates
share/opto/c2_globals.hpp
DontCompileHugeMethodsOpenJDK6boolcompilertrueproduct
Do not compile methods > HugeMethodLimit
share/compiler/compiler_globals.hpp
DontYieldALotIntervalOpenJDK6intxruntime10develop
Interval between which yields will be dropped (milliseconds)
share/runtime/globals.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolaixppcfalsedefine_pd_global
os_cpu/aix_ppc/globals_aix_ppc.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolbsdaarch64falsedefine_pd_global
os_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolbsdx86falsedefine_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolbsdzerofalsedefine_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boollinuxaarch64falsedefine_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boollinuxarmfalsedefine_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boollinuxppcfalsedefine_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boollinuxs390falsedefine_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boollinuxx86falsedefine_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boollinuxzerofalsedefine_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolruntimeproduct_pd
Throw away obvious excess yield calls
share/runtime/globals.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolwindowsaarch64falsedefine_pd_global
os_cpu/windows_aarch64/globals_windows_aarch64.hpp
DontYieldALotOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolwindowsx86falsedefine_pd_global
os_cpu/windows_x86/globals_windows_x86.hpp
DummyManageableStringFlagOpenJDK17ccstrruntimeNULLproduct
Dummy flag for testing string handling in WriteableFlags
share/runtime/flags/debug_globals.hpp
DumpLoadedClassListOpenJDK8ccstrruntimeNULLproduct
Dump the names all loaded classes, that could be stored into 
the CDS archive, in the specified file
share/runtime/globals.hpp
DumpPerfMapAtExitOpenJDK16boollinuxfalseproduct
Write map file for Linux perf tool at exit
os/linux/globals_linux.hpp
DumpPrivateMappingsInCoreOpenJDK11boollinuxtrueproduct
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
DumpReplayDataOnErrorOpenJDK8boolcompilertrueproduct
Record replay data for crashing compiler threads
share/compiler/compiler_globals.hpp
DumpSharedMappingsInCoreOpenJDK11boollinuxtrueproduct
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 JDK19
boolruntimefalseproduct
(Deprecated) 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
DynamicDumpSharedSpacesOpenJDK13Deprecated in JDK18
Obsoleted in JDK19
boolruntimefalseproduct
(Deprecated) Dynamic archive
share/runtime/globals.hpp
DynamicallyResizeSystemDictionariesOpenJDK10boolruntimetrueproduct
Dynamically resize system dictionaries as needed
share/runtime/globals.hpp
EagerInitializationOpenJDK6boolruntimefalsedevelop
Eagerly initialize classes if possible
share/runtime/globals.hpp
EagerJVMCIOpenJDK11booljvmcifalseproduct
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
EliminateAllocationFieldsLimitOpenJDK17intxc2512
range(0, max_jint)
product
Number of fields in instance limit for scalar replacement
share/opto/c2_globals.hpp
EliminateAllocationsOpenJDK6boolc2trueproduct
Use escape analysis to eliminate allocations
share/opto/c2_globals.hpp
EliminateAutoBoxOpenJDK6boolc2trueproduct
Control optimizations for autobox elimination
share/opto/c2_globals.hpp
EliminateBlocksOpenJDK6boolc1truedevelop
Eliminate unneccessary basic blocks
share/c1/c1_globals.hpp
EliminateFieldAccessOpenJDK6boolc1truedevelop
Optimize field loads and stores
share/c1/c1_globals.hpp
EliminateLocksOpenJDK6boolc2trueproduct
Coarsen locks when possible
share/opto/c2_globals.hpp
EliminateNestedLocksOpenJDK6boolc2trueproduct
Eliminate nested locks of the same object when possible
share/opto/c2_globals.hpp
EliminateNullChecksOpenJDK6boolc1truedevelop
Eliminate unneccessary null checks
share/c1/c1_globals.hpp
EnableContendedOpenJDK8boolruntimetrueproduct
Enable @Contended annotation support
share/runtime/globals.hpp
EnableDynamicAgentLoadingOpenJDK9boolruntimetrueproduct
Allow tools to load agents with the attach mechanism
share/runtime/globals.hpp
EnableJVMCIProductOpenJDK14booljvmcifalseproduct
Allow JVMCI to be used in product mode. This alters a subset of 
JVMCI flags to be non-experimental, defaults UseJVMCICompiler 
and EnableJVMCI to true and defaults UseJVMCINativeLibrary 
to true if a JVMCI native library is available.
share/jvmci/jvmci_globals.hpp
EnableJVMCIOpenJDK9booljvmcifalseproduct
Enable JVMCI
share/jvmci/jvmci_globals.hpp
EnableJVMTIStackDepthAssertsOpenJDK17boolruntimetruenotproduct
Enable JVMTI asserts related to stack depth checks
share/runtime/globals.hpp
EnableThreadSMRExtraValidityChecksOpenJDK10boolruntimetrueproduct
Enable Thread SMR extra validity checks
share/runtime/globals.hpp
EnableThreadSMRStatisticsOpenJDK10boolruntimetrueInDebugproduct
Enable Thread SMR Statistics
share/runtime/globals.hpp
EnableVectorAggressiveReboxingOpenJDK16boolc2falseproduct
Enables aggressive reboxing of vectors
share/opto/c2_globals.hpp
EnableVectorReboxingOpenJDK16boolc2falseproduct
Enables reboxing of vectors
share/opto/c2_globals.hpp
EnableVectorSupportOpenJDK16boolc2falseproduct
Enables VectorSupport intrinsics
share/opto/c2_globals.hpp
EpsilonElasticTLABDecayOpenJDK11boolgctrueproduct
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
EpsilonElasticTLABOpenJDK11boolgctrueproduct
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)
product
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)
product
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)
product
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)
product
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)
product
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)
product
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
ErrorHandlerTestOpenJDK6uintxruntime0
range(0, 17)
develop
If > 0, provokes an error after VM initialization; the value 
determines which error to provoke. See controlled_crash() 
in vmError.cpp.
share/runtime/globals.hpp
ErrorLogPrintCodeLimitOpenJDK17intruntime3
range(0, VMError::max_error_log_print_code)
product
max number of compiled code units to print in error log
share/runtime/globals.hpp
ErrorLogTimeoutOpenJDK9uint64_truntime2 * 60
range(0, (uint64_t)max_jlong/1000)
product
Timeout, in seconds, to limit the time spent on writing an 
error log in case of a crash.
share/runtime/globals.hpp
EscapeAnalysisTimeoutOpenJDK7doublec220. DEBUG_ONLY(+40.)
range(0, DBL_MAX)
product
Abort EA when it reaches time limit (in sec)
share/opto/c2_globals.hpp
EstimateArgEscapeOpenJDK6boolcompilertrueproduct
Analyze bytecodes to estimate escape state of arguments
share/compiler/compiler_globals.hpp
ExecutingUnitTestsOpenJDK9boolruntimefalseproduct
Whether the JVM is running unit tests or not
share/runtime/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 
thrown from JVM
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
ExpandSubTypeCheckAtParseTimeOpenJDK15boolc2falseproduct
Do not use subtype check macro node
share/opto/c2_globals.hpp
ExplicitGCInvokesConcurrentOpenJDK6boolgcfalseproduct
A System.gc() request invokes a concurrent collection; 
(effective only when using concurrent collectors)
share/gc/shared/gc_globals.hpp
ExtendedDTraceProbesOpenJDK6Deprecated in JDK19
Obsoleted in JDK20
Expired in JDK21
boolruntimefalseproduct
Enable performance-impacting dtrace probes
share/runtime/globals.hpp
ExtensiveErrorReportsOpenJDK11boolruntimePRODUCT_ONLY(false) NOT_PRODUCT(true)product
Error reports are more extensive.
share/runtime/globals.hpp
ExtraSharedClassListFileOpenJDK8ccstrruntimeNULLproduct
Extra classlist for building the CDS archive file
share/runtime/globals.hpp
FLOATPRESSUREOpenJDK6intxc2-1
range(-1, max_jint)
develop
Number of float LRG's that constitute high register pressure.
-1: means the threshold is determined by number of available 
float register for allocation
share/opto/c2_globals.hpp
FLSVerifyDictionaryOpenJDK6boolruntimefalsedevelop
Do lots of (expensive) FLS dictionary verification
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
FilterSpuriousWakeupsOpenJDK6Deprecated in JDK18
Obsoleted in JDK19
Expired in JDK20
boolruntimetrueproduct
(Deprecated) 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
(Deprecated) Enable Flight Recorder
share/runtime/globals.hpp
FoldStableValuesOpenJDK8boolruntimetrueproduct
Optimize loads from stable fields (marked w/ @Stable)
share/runtime/globals.hpp
ForceTimeHighResolutionOpenJDK6boolruntimefalseproduct
Using high time resolution (for Win32 only)
share/runtime/globals.hpp
ForceUnreachableOpenJDK6boolruntimefalseproduct
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/c2_globals_aarch64.hpp
FreqInlineSizeOpenJDK6intxarm175define_pd_global
cpu/arm/c2_globals_arm.hpp
FreqInlineSizeOpenJDK6intxc2product_pd
The maximum bytecode size of a frequent method to be inlined
share/opto/c2_globals.hpp
FreqInlineSizeOpenJDK6intxppc175define_pd_global
cpu/ppc/c2_globals_ppc.hpp
FreqInlineSizeOpenJDK6intxs390175define_pd_global
cpu/s390/c2_globals_s390.hpp
FreqInlineSizeOpenJDK6intxx86325define_pd_global
cpu/x86/c2_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)
product
How many completed time periods from concurrent start to first 
mixed gc are required to use the input values for prediction 
of the optimal occupancy to start marking.
share/gc/g1/g1_globals.hpp
G1ConcMarkStepDurationMillisOpenJDK6doublegc10.0
range(1.0, DBL_MAX)
product
Target duration of individual concurrent marking steps 
in milliseconds.
share/gc/g1/g1_globals.hpp
G1ConcRSHotCardLimitOpenJDK6Obsoleted in JDK21
Expired in JDK24
uintxgc4
range(0, max_jubyte)
product
The threshold that defines (>=) a hot card.
share/gc/g1/g1_globals.hpp
G1ConcRSLogCacheSizeOpenJDK6Obsoleted in JDK21
Expired in JDK24
size_tgc10
range(0, 27)
product
Log base 2 of the length of conc RS hot-card cache.
share/gc/g1/g1_globals.hpp
G1ConcRefinementGreenZoneOpenJDK6Obsoleted in JDK20
Expired in JDK24
size_tgc0
range(0, max_intx)
product
The number of update buffers that are left in the queue by the 
concurrent processing threads. Will be selected ergonomically 
by default.
share/gc/g1/g1_globals.hpp
G1ConcRefinementRedZoneOpenJDK6Obsoleted in JDK20
Expired in JDK24
size_tgc0
range(0, max_intx)
product
Maximum number of enqueued update buffers before mutator 
threads start processing new ones instead of enqueueing them. 
Will be selected ergonomically by default.
share/gc/g1/g1_globals.hpp
G1ConcRefinementServiceIntervalMillisOpenJDK6Obsoleted in JDK20
Expired in JDK24
uintxgc300
range(0, max_jint)
product
The G1 service 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 remembered set update threads. 
Will be set ergonomically by default.
share/gc/g1/g1_globals.hpp
G1ConcRefinementThresholdStepOpenJDK6Obsoleted in JDK20
Expired in JDK24
size_tgc2
range(1, SIZE_MAX)
product
Each time the remembered set update queue increases by this 
amount activate the next refinement thread if available. 
The actual step size will be selected ergonomically by 
default, with this value used to determine a lower bound.
share/gc/g1/g1_globals.hpp
G1ConcRefinementYellowZoneOpenJDK6Obsoleted in JDK20
Expired in JDK24
size_tgc0
range(0, max_intx)
product
Number of enqueued update buffers that will 
trigger concurrent processing. Will be selected ergonomically 
by default.
share/gc/g1/g1_globals.hpp
G1ConfidencePercentOpenJDK6uintxgc50
range(0, 100)
product
Confidence level for MMU/pause predictions
share/gc/g1/g1_globals.hpp
G1DummyRegionsPerGCOpenJDK6uintxgc0develop
The number of dummy regions G1 will allocate at the end of 
each evacuation pause in order to artificially fill up the 
heap and stress the marking implementation.
share/gc/g1/g1_globals.hpp
G1EagerReclaimHumongousObjectsWithStaleRefsOpenJDK8boolgctrueproduct
Try to reclaim dead large objects that have a few stale 
references at every young GC.
share/gc/g1/g1_globals.hpp
G1EagerReclaimHumongousObjectsOpenJDK8boolgctrueproduct
Try to reclaim dead large objects at every young GC.
share/gc/g1/g1_globals.hpp
G1EagerReclaimRemSetThresholdOpenJDK17uintgc0product
Maximum number of remembered set entries a humongous region 
otherwise eligible for eager reclaim may have to be a candidate 
for eager reclaim. Will be selected ergonomically by default.
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotCSetPercentOpenJDK18uintgc100
range(1, 100)
product
The percentage of regions in the collection set starting 
from the beginning where the forced evacuation failure 
injection will be applied.
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotCountOpenJDK7uintxgc1000product
Number of successful evacuations between evacuation failures 
occurring at object copying per thread
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringConcMarkOpenJDK7boolgctrueproduct
Force use of evacuation failure handling during evacuation 
pauses when marking is in progress
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringConcurrentStartOpenJDK16boolgctrueproduct
Force use of evacuation failure handling during concurrent 
start evacuation pauses
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringMixedGCOpenJDK7boolgctrueproduct
Force use of evacuation failure handling during mixed 
evacuation pauses
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringYoungGCOpenJDK7boolgctrueproduct
Force use of evacuation failure handling during young 
evacuation pauses
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotIntervalOpenJDK7uintxgc5product
Total collections between forced triggering of evacuation 
failures
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotOpenJDK7boolgcfalseproduct
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)
product
When expanding, % of uncommitted space to claim.
share/gc/g1/g1_globals.hpp
G1HeapRegionSizeOpenJDK6size_tgc0
range(0, NOT_LP64(32*M) LP64_ONLY(512*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)
product
The expected average occupancy of the last PLAB in 
percent.
share/gc/g1/g1_globals.hpp
G1MaxNewSizePercentOpenJDK7uintxgc60
range(0, 100)
product
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)
product
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)
product
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)
product
An upper bound for the number of old CSet regions expressed 
as a percentage of the heap size.
share/gc/g1/g1_globals.hpp
G1PeriodicGCIntervalOpenJDK12uintxgc0product
Number of milliseconds after a previous GC to wait before 
triggering a periodic gc. A value of zero disables periodically 
enforced gc cycles.
share/gc/g1/g1_globals.hpp
G1PeriodicGCInvokesConcurrentOpenJDK12boolgctrueproduct
Determines the kind of periodic GC. Set to true to have G1 
perform a concurrent GC as periodic GC, otherwise use a STW 
Full GC.
share/gc/g1/g1_globals.hpp
G1PeriodicGCSystemLoadThresholdOpenJDK12doublegc0.0
range(0.0, (double)max_uintx)
product
Maximum recent system wide load as returned by the 1m value 
of getloadavg() at which G1 triggers a periodic GC. A load 
above this value cancels a given periodic GC. A value of zero 
disables this check.
share/gc/g1/g1_globals.hpp
G1RSetUpdatingPauseTimePercentOpenJDK6intxgc10
range(0, 100)
product
A target percentage of time that is allowed to be spend on 
processing remembered set update buffers during the collection 
pause.
share/gc/g1/g1_globals.hpp
G1RebuildRemSetChunkSizeOpenJDK11size_tgc256 * K
range(4 * K, 32 * M)
product
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
G1RemSetArrayOfCardsEntriesBaseOpenJDK18uintgc4
range(1, 65536)
develop
Maximum number of entries per region in the Array of Cards 
card set container per MB of a heap region.
share/gc/g1/g1_globals.hpp
G1RemSetArrayOfCardsEntriesOpenJDK18uintgc0
range(0, 65536)
product
Maximum number of entries per Array of Cards card set 
container. Will be set ergonomically by default.
share/gc/g1/g1_globals.hpp
G1RemSetCoarsenHowlBitmapToHowlFullPercentOpenJDK18uintgc90
range(1, 100)
product
Percentage at which to coarsen a Howl bitmap to Howl full card 
set container.
share/gc/g1/g1_globals.hpp
G1RemSetCoarsenHowlToFullPercentOpenJDK18uintgc90
range(1, 100)
product
Percentage at which to coarsen a Howl card set to Full card 
set container.
share/gc/g1/g1_globals.hpp
G1RemSetFreeMemoryKeepExcessRatioOpenJDK18doublegc0.1
range(0.0, 1.0)
product
The percentage of free card set memory that G1 should keep as 
percentage of the currently used memory.
share/gc/g1/g1_globals.hpp
G1RemSetFreeMemoryRescheduleDelayMillisOpenJDK18uintgc10
range(1, UINT_MAX)
product
Time after which the card set free memory task reschedules 
itself if there is work remaining.
share/gc/g1/g1_globals.hpp
G1RemSetFreeMemoryStepDurationMillisOpenJDK18doublegc1
range(1e-3, 1e+6)
product
The amount of time that the free memory task should spend 
before a pause of G1RemSetFreeMemoryRescheduleDelayMillis 
length.
share/gc/g1/g1_globals.hpp
G1RemSetHowlMaxNumBucketsOpenJDK18uintgc8
range(1, 1024)
product
Maximum number of buckets per Howl card set container. The 
default gives at worst bitmaps of size 8k. This showed to be a 
good tradeoff between bitmap size (waste) and cacheability of 
the bucket array. Must be a power of two.
share/gc/g1/g1_globals.hpp
G1RemSetHowlNumBucketsOpenJDK18uintgc0
range(0, 1024)
product
Number of buckets per Howl card set container. Must be a power 
of two. Will be set ergonomically by default.
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)
product
The period (in number of GCs) at which we will generate 
update buffer processing info 
(0 means do not periodically generate this info); 
it also requires that logging is enabled on the trace
level for gc+remset
share/gc/g1/g1_globals.hpp
G1UpdateBufferSizeOpenJDK6size_tgc256
range(1, NOT_LP64(32*M) LP64_ONLY(1*G))
product
Size of an update buffer
share/gc/g1/g1_globals.hpp
G1UseAdaptiveConcRefinementOpenJDK6Obsoleted in JDK20
Expired in JDK24
boolgctrueproduct
Select green, yellow and red zones adaptively to meet the 
the pause requirements.
share/gc/g1/g1_globals.hpp
G1UseAdaptiveIHOPOpenJDK9boolgctrueproduct
Adaptively adjust the initiating heap occupancy from the 
initial value of InitiatingHeapOccupancyPercent. The policy 
attempts to start marking in time based on application 
behavior.
share/gc/g1/g1_globals.hpp
G1UsePreventiveGCOpenJDK17Obsoleted in JDK21
Expired in JDK22
boolgctrueproduct
Allows collections to be triggered proactively based on thenumber of free regions and the expected survival rates in eachsection of the heap.
share/gc/g1/g1_globals.hpp
G1UseReferencePrecleaningOpenJDK11boolgctrueproduct
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
G1VerifyHeapRegionCodeRootsOpenJDK7boolgcfalseproduct
Verify the code root lists attached to each heap region.
share/gc/g1/g1_globals.hpp
G1VerifyRSetsDuringFullGCOpenJDK7boolgcfalseproduct
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
GCCardSizeInBytesOpenJDK18uintgc512
range(128, NOT_LP64(512) LP64_ONLY(1024))
product
Card table entry size (in bytes) for card based collectors
share/gc/shared/gc_globals.hpp
GCDrainStackTargetSizeOpenJDK6uintxgc64
range(0, max_juint)
product
Number of entries we will try to leave on the stack 
during parallel gc
share/gc/shared/gc_globals.hpp
GCExpandToAllocateDelayMillisOpenJDK6uintxgc0develop
Delay between expansion and allocation (in milliseconds)
share/gc/shared/gc_globals.hpp
GCHeapFreeLimitOpenJDK6uintxgc2
range(0, 100)
product
Minimum percentage of free space after a full GC before an 
OutOfMemoryError is thrown (used with GCTimeLimit)
share/gc/shared/gc_globals.hpp
GCLockerEdenExpansionPercentOpenJDK6Obsoleted in JDK23
Expired in JDK24
uintxgc5
range(0, 100)
product
How much the GC can expand the eden by while the GC locker 
is active (as a percentage)
share/gc/shared/gc_globals.hpp
GCLockerRetryAllocationCountOpenJDK8uintxgc2
range(0, max_uintx)
product
Number of times to retry allocations when 
blocked by the GC locker
share/gc/shared/gc_globals.hpp
GCOverheadLimitThresholdOpenJDK13uintxgc5
range(1, max_uintx)
develop
Number of consecutive collections before gc time limit fires
share/gc/shared/gc_globals.hpp
GCParallelVerificationEnabledOpenJDK6boolgctrueproduct
Enable parallel memory system verification
share/gc/shared/gc_globals.hpp
GCPauseIntervalMillisOpenJDK6uintxgc0product
Time slice for MMU specification
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)
product
Guarantee a safepoint (at least) every so many milliseconds 
(0 means none)
share/runtime/globals.hpp
HandshakeALotOpenJDK13boolruntimefalseproduct
Generate a lot of handshakes. This works with 
GuaranteedSafepointInterval
share/runtime/globals.hpp
HandshakeTimeoutOpenJDK10uintruntime0product
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_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
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
HeapDumpAfterFullGCOpenJDK6boolruntimefalseproduct
Dump heap to file after any major stop-the-world GC
share/runtime/globals.hpp
HeapDumpBeforeFullGCOpenJDK6boolruntimefalseproduct
Dump heap to file before any major stop-the-world GC
share/runtime/globals.hpp
HeapDumpGzipLevelOpenJDK17intxruntime0
range(0, 9)
product
When HeapDumpOnOutOfMemoryError is on, the gzip compression 
level of the dump file. 0 (the default) disables gzip 
compression. Otherwise the level must be between 1 and 9.
share/runtime/globals.hpp
HeapDumpOnOutOfMemoryErrorOpenJDK6boolruntimefalseproduct
Dump heap to file when java.lang.OutOfMemoryError is thrown 
from JVM
share/runtime/globals.hpp
HeapDumpPathOpenJDK6ccstrruntimeNULLproduct
When HeapDumpOnOutOfMemoryError is on, the path (filename or 
directory) of the dump file (defaults to java_pid.hprof 
in the working directory)
share/runtime/globals.hpp
HeapFirstMaximumCompactionCountOpenJDK6uintxgc3
range(0, max_uintx)
product
The collection count for the first maximum compaction
share/gc/parallel/parallel_globals.hpp
HeapMaximumCompactionIntervalOpenJDK6uintxgc20
range(0, max_uintx)
product
How often should we maximally compact the heap (not allowing 
any dead space)
share/gc/parallel/parallel_globals.hpp
HeapSearchStepsOpenJDK9uintxruntime3 PPC64_ONLY(+17)
range(1, max_uintx)
product
Heap allocation steps through preferred address regions to find
 where it can allocate the heap. Number of steps to take per 
region.
share/runtime/globals.hpp
HeapSizePerGCThreadOpenJDK6size_tgcScaleForWordSize(32*M)product
Size of heap (bytes) per GC thread used in calculating the 
number of GC threads
share/gc/shared/gc_globals.hpp
HotMethodDetectionLimitOpenJDK9intxruntime100000
range(1, max_jint)
product
Number of compiled code invocations after which 
the method is considered as hot by the flusher
share/runtime/globals.hpp
HugeMethodLimitOpenJDK6intxcompiler8000develop
Don't compile methods larger than this if 
+DontCompileHugeMethods
share/compiler/compiler_globals.hpp
ICMissHistogramOpenJDK6boolruntimefalsenotproduct
Produce histogram of IC misses
share/runtime/globals.hpp
IEEEPrecisionOpenJDK6boolx86truedevelop
Enables IEEE precision (for INTEL only)
cpu/x86/globals_x86.hpp
INTPRESSUREOpenJDK6intxc2-1
range(-1, max_jint)
develop
Number of integer LRG's that constitute high register pressure.
-1: means the threshold is determined by number of available 
integer register for allocation
share/opto/c2_globals.hpp
IdealizeClearArrayNodeOpenJDK9boolaarch64truedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
IdealizeClearArrayNodeOpenJDK9boolc2product_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
IdealizeClearArrayNodeOpenJDK9boolx86truedefine_pd_global
cpu/x86/c2_globals_x86.hpp
IgnoreEmptyClassPathsOpenJDK8boolruntimefalseproduct
Ignore empty path elements in -classpath
share/runtime/globals.hpp
IgnoreUnrecognizedVMOptionsOpenJDK6boolruntimefalseproduct
Ignore unrecognized VM options
share/runtime/globals.hpp
ImplicitDiv0ChecksOpenJDK6boolc1truedevelop
Use implicit division by zero checks
share/c1/c1_globals.hpp
ImplicitNullCheckThresholdOpenJDK6intxc23
range(0, max_jint)
develop
Don't do implicit null checks if NPE's in a method exceeds 
limit
share/opto/c2_globals.hpp
ImplicitNullChecksOpenJDK6boolaarch64truedefine_pd_global
// Generate code for implicit null checks
cpu/aarch64/globals_aarch64.hpp
ImplicitNullChecksOpenJDK6boolarmtruedefine_pd_global
// Generate code for implicit null checks
cpu/arm/globals_arm.hpp
ImplicitNullChecksOpenJDK6boolruntimeproduct_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
ImplicitNullChecksOpenJDK6boolx86truedefine_pd_global
// Generate code for implicit null checks
cpu/x86/globals_x86.hpp
ImplicitNullChecksOpenJDK6boolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
IncreaseFirstTierCompileThresholdAtOpenJDK8uintxcompiler50
range(0, 99)
product
Increase the compile threshold for C1 compilation if the code 
cache is filled by the specified percentage
share/compiler/compiler_globals.hpp
IncrementalInlineForceCleanupOpenJDK16boolc2falseproduct
do cleanup after every iteration of incremental inlining
share/opto/c2_globals.hpp
IncrementalInlineMHOpenJDK16boolc2trueproduct
do post parse inlining of method handle calls
share/opto/c2_globals.hpp
IncrementalInlineVirtualOpenJDK16boolc2trueproduct
do post parse inlining of virtual calls
share/opto/c2_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
InitArrayShortSizeOpenJDK9intxruntimeproduct_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
InitArrayShortSizeOpenJDK9intxx868*BytesPerLongdefine_pd_global
cpu/x86/globals_x86.hpp
InitArrayShortSizeOpenJDK9intxzero0define_pd_global
cpu/zero/globals_zero.hpp
InitialCodeCacheSizeOpenJDK6intxaarch64160*Kdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
InitialCodeCacheSizeOpenJDK6size_tarm160*Kdefine_pd_global
cpu/arm/c1_globals_arm.hpp
InitialCodeCacheSizeOpenJDK6uintxcompiler160*Kdefine_pd_global
share/compiler/compiler_globals_pd.hpp
InitialCodeCacheSizeOpenJDK6uintxruntimeproduct_pd
Initial code cache size (in bytes)
share/runtime/globals.hpp
InitialCodeCacheSizeOpenJDK6uintxppc160*Kdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
InitialCodeCacheSizeOpenJDK6uintxs3902048*Kdefine_pd_global
// Integral multiple of CodeCacheExpansionSize
cpu/s390/c2_globals_s390.hpp
InitialCodeCacheSizeOpenJDK6uintxx86160*Kdefine_pd_global
cpu/x86/c1_globals_x86.hpp
InitialHeapSizeOpenJDK6size_tgc0product
Initial heap size (in bytes); zero means use ergonomics
share/gc/shared/gc_globals.hpp
InitialRAMFractionOpenJDK6Deprecated in JDK10
Obsoleted in JDK23
Expired in JDK24
uintxgc64
range(1, max_uintx)
product
Fraction (1/n) of real memory used for initial heap size. 
Deprecated, use InitialRAMPercentage instead
share/gc/shared/gc_globals.hpp
InitialRAMPercentageOpenJDK10doublegc1.5625
range(0.0, 100.0)
product
Percentage of real memory used for initial heap size
share/gc/shared/gc_globals.hpp
InitialSurvivorRatioOpenJDK6uintxgc8
range(0, max_uintx)
product
Initial ratio of young generation/survivor space size
share/gc/shared/gc_globals.hpp
InitialTenuringThresholdOpenJDK6uintxgc7
range(0, markWord::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
InjectGCWorkerCreationFailureOpenJDK9boolgcfalseproduct
Inject thread creation failures for 
UseDynamicNumberOfGCThreads
share/gc/shared/gc_globals.hpp
InlineAccessorsOpenJDK6boolc2truedevelop
inline accessor methods (get/set)
share/opto/c2_globals.hpp
InlineArrayCopyOpenJDK6boolruntimetrueproduct
Inline arraycopy native that is known to be part of 
base library DLL
share/runtime/globals.hpp
InlineClassNativesOpenJDK6boolcompilertruedefine_pd_global
share/compiler/compiler_globals_pd.hpp
InlineClassNativesOpenJDK6boolruntimetrueproduct
Inline Class.isInstance, etc
share/runtime/globals.hpp
InlineDataFileOpenJDK8ccstrcompilerNULLproduct
File containing inlining replay information
[default: ./inline_pid%p.log] (%p replaced with pid)
share/compiler/compiler_globals.hpp
InlineFrequencyRatioOpenJDK6doubleruntime0.25product
Ratio of call site execution to caller method invocation
share/runtime/globals.hpp
InlineIntrinsicsOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
InlineIntrinsicsOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
InlineIntrinsicsOpenJDK6boolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
InlineIntrinsicsOpenJDK6boolruntimedevelop_pd
Inline intrinsics that can be statically resolved
share/runtime/globals.hpp
InlineIntrinsicsOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
InlineIntrinsicsOpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
InlineIntrinsicsOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
InlineMathNativesOpenJDK6boolruntimetrueproduct
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
InlineNativesOpenJDK6boolruntimetrueproduct
Inline natives that are known to be part of base library DLL
share/runtime/globals.hpp
InlineObjectCopyOpenJDK6boolc2trueproduct
inline Object.clone and Arrays.copyOf[Range] intrinsics
share/opto/c2_globals.hpp
InlineObjectHashOpenJDK6boolruntimetrueproduct
Inline Object::hashCode() native that is known to be part 
of base library DLL
share/runtime/globals.hpp
InlineReflectionGetCallerClassOpenJDK6boolc2trueproduct
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
InlineSmallCodeOpenJDK6intxc2product_pd
Only inline already compiled methods if their code size is 
less than this
share/opto/c2_globals.hpp
InlineSmallCodeOpenJDK6intxppc1500define_pd_global
cpu/ppc/globals_ppc.hpp
InlineSmallCodeOpenJDK6intxs3902000define_pd_global
cpu/s390/globals_s390.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
InlineThreadNativesOpenJDK6boolruntimetrueproduct
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
InlineUnsafeOpsOpenJDK6boolcompilertruedefine_pd_global
share/compiler/compiler_globals_pd.hpp
InlineUnsafeOpsOpenJDK6boolruntimetrueproduct
Inline memory ops (native methods) from Unsafe
share/runtime/globals.hpp
InlineOpenJDK6boolruntimetrueproduct
Enable inlining
share/runtime/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
IntelJccErratumMitigationOpenJDK15boolx86trueproduct
Turn off JVM mitigations related to Intel micro code 
mitigations for the Intel JCC erratum
cpu/x86/globals_x86.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
InteriorEntryAlignmentOpenJDK6intxx864define_pd_global
cpu/x86/c2_globals_x86.hpp
InterpreterProfilePercentageOpenJDK6intxcompiler33
range(0, 100)
product
NON_TIERED number of method invocations/branches (expressed as 
% of CompileThreshold) before profiling in the interpreter
share/compiler/compiler_globals.hpp
JVMCICounterSizeOpenJDK9intxjvmci0
range(0, 1000000)
product
Reserved size for benchmark counters
share/jvmci/jvmci_globals.hpp
JVMCICountersExcludeCompilerOpenJDK9booljvmcitrueproduct
Exclude JVMCI compiler threads from benchmark counters
share/jvmci/jvmci_globals.hpp
JVMCIEventLogLevelOpenJDK16intxjvmci1
range(0, 4)
product
Event log level for JVMCI
share/jvmci/jvmci_globals.hpp
JVMCIHostThreadsOpenJDK9intxjvmci1
range(0, max_jint))
product
Force number of C1 compiler threads. Ignored if 
UseJVMCICompiler is false.
share/jvmci/jvmci_globals.hpp
JVMCILibDumpJNIConfigOpenJDK13ccstrjvmciNULLproduct
Dumps to the given file a description of the classes, fields 
and methods the JVMCI shared library must provide
share/jvmci/jvmci_globals.hpp
JVMCILibPathOpenJDK13ccstrjvmciNULLproduct
LD path for loading the JVMCI shared library
share/jvmci/jvmci_globals.hpp
JVMCINMethodSizeLimitOpenJDK9intxjvmci(80*K)*wordSize
range(0, max_jint)
product
Maximum size of a compiled method.
share/jvmci/jvmci_globals.hpp
JVMCINativeLibraryErrorFileOpenJDK18ccstrjvmciNULLproduct
If an error in the JVMCI native library occurs, save the 
error data to this file
[default: ./
share/jvmci/jvmci_globals.hpp
JVMCIPrintPropertiesOpenJDK9booljvmcifalseproduct
Prints properties used by the JVMCI compiler and exits
share/jvmci/jvmci_globals.hpp
JVMCIThreadsOpenJDK9intxjvmci1
range(1, max_jint)
product
Force number of JVMCI compiler threads to use. Ignored if 
UseJVMCICompiler is false.
share/jvmci/jvmci_globals.hpp
JVMCITraceLevelOpenJDK9intxjvmci0
range(0, 4)
product
Trace level for JVMCI
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_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
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
LIRTraceExecutionOpenJDK6boolc1falsedevelop
add LIR code which logs the execution of blocks
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
Maximum large page size used (0 will use the default large 
page size for the environment as the maximum)
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
LogCompilationOpenJDK6boolruntimefalseproduct
Log compilation activity in detail to LogFile
share/runtime/globals.hpp
LogEventsBufferEntriesOpenJDK6uintxruntime20
range(1, NOT_LP64(1*K) LP64_ONLY(1*M))
product
Number of ring buffer event logs
share/runtime/globals.hpp
LogEventsOpenJDK6boolruntimetrueproduct
Enable the various ring buffer event logs
share/runtime/globals.hpp
LogFileOpenJDK6ccstrruntimeNULLproduct
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
LogTouchedMethodsOpenJDK9boolruntimefalseproduct
Log methods which have been ever touched in runtime
share/runtime/globals.hpp
LogVMOutputOpenJDK6boolruntimefalseproduct
Save VM output to LogFile
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
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
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)
product
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)
range(1, (max_jint - 1))
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. 
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. 
G1 full gc treats this as an allowed garbage threshold to skip 
compaction of heap regions, i.e. if a heap region has less 
garbage than this value, then the region will not be compacted
during G1 full GC.
share/gc/shared/gc_globals.hpp
MaxBCEAEstimateLevelOpenJDK6intxcompiler5
range(0, max_jint)
product
Maximum number of nested calls that are analyzed by BC EA
share/compiler/compiler_globals.hpp
MaxBCEAEstimateSizeOpenJDK6intxcompiler150
range(0, max_jint)
product
Maximum bytecode size of a method to be analyzed by BC EA
share/compiler/compiler_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 (Unix only)
share/runtime/globals.hpp
MaxForceInlineLevelOpenJDK7intxruntime100
range(0, max_jint)
develop
maximum number of nested calls that are forced for inlining 
(using CompileCommand or marked w/ @ForceInline)
share/runtime/globals.hpp
MaxGCMinorPauseMillisOpenJDK6Deprecated in JDK8
Obsoleted in JDK23
Expired in JDK24
uintxgcmax_uintx
range(0, max_uintx)
product
Adaptive size policy maximum GC minor pause time goal 
in millisecond
share/gc/shared/gc_globals.hpp
MaxGCPauseMillisOpenJDK6uintxgcmax_uintx - 1
range(1, max_uintx - 1)
product
Adaptive size policy maximum GC pause time goal in millisecond, 
or (G1 Only) the maximum GC time per MMU time slice
share/gc/shared/gc_globals.hpp
MaxHeapFreeRatioOpenJDK6uintxruntime70
range(0, 100)
product
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
MaxInlineLevelOpenJDK6intxc215
range(0, max_jint)
product
maximum number of nested calls that are inlined by high tier 
compiler
share/opto/c2_globals.hpp
MaxInlineSizeOpenJDK6intxc235
range(0, max_jint)
product
The maximum bytecode size of a method to be inlined by high 
tier compiler
share/opto/c2_globals.hpp
MaxJNILocalCapacityOpenJDK8intxruntime65536
range(min_intx, max_intx)
product
Maximum allowable local JNI handle capacity to 
EnsureLocalCapacity() and PushLocalFrame(), 
where <= 0 is unlimited, default: 65536
share/runtime/globals.hpp
MaxJavaStackTraceDepthOpenJDK6intxruntime1024
range(0, max_jint/2)
product
The maximum number of lines in the stack trace for Java 
exceptions (0 means all)
share/runtime/globals.hpp
MaxJumpTableSizeOpenJDK6intxc265000
range(0, max_intx)
product
Maximum number of targets in a generated jump table
share/opto/c2_globals.hpp
MaxJumpTableSparsenessOpenJDK6intxc25
range(0, max_intx / 4)
product
Maximum sparseness for jumptables
share/opto/c2_globals.hpp
MaxLabelRootDepthOpenJDK6intxc21100
range(100, max_jint)
product
Maximum times call Label_Root to prevent stack overflow
share/opto/c2_globals.hpp
MaxLoopPadOpenJDK6intxc2(OptoLoopAlignment-1)
range(0, max_jint)
product
Align a loop if padding size in bytes is less or equal to this 
value
share/opto/c2_globals.hpp
MaxMetaspaceExpansionOpenJDK8size_truntimeScaleForWordSize(4*M)
range(0, max_uintx)
product
The maximum expansion of Metaspace without full GC (in bytes)
share/runtime/globals.hpp
MaxMetaspaceFreeRatioOpenJDK8uintxruntime70
range(0, 100)
product
The maximum percentage of Metaspace free after GC to avoid 
shrinking
share/runtime/globals.hpp
MaxMetaspaceSizeOpenJDK8size_truntimemax_uintxproduct
Maximum size of Metaspaces (in bytes)
share/runtime/globals.hpp
MaxNewSizeOpenJDK6size_tgcmax_uintx
range(0, max_uintx)
product
Maximum new generation size (in bytes), max_uintx means set 
ergonomically
share/gc/shared/gc_globals.hpp
MaxNodeLimitOpenJDK6intxc280000
range(1000, max_jint / 3)
product
Maximum number of nodes
share/opto/c2_globals.hpp
MaxRAMFractionOpenJDK6Deprecated in JDK10
Obsoleted in JDK23
Expired in JDK24
uintxgc4
range(1, max_uintx)
product
Maximum fraction (1/n) of real memory used for maximum heap 
size. 
Deprecated, use MaxRAMPercentage instead
share/gc/shared/gc_globals.hpp
MaxRAMPercentageOpenJDK10doublegc25.0
range(0.0, 100.0)
product
Maximum percentage of real memory used for maximum heap size
share/gc/shared/gc_globals.hpp
MaxRAMOpenJDK6uint64_taarch641ULL*Gdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
MaxRAMOpenJDK6uint64_tarm1ULL*Gdefine_pd_global
cpu/arm/c1_globals_arm.hpp
MaxRAMOpenJDK6uint64_tcompiler1ULL*Gdefine_pd_global
share/compiler/compiler_globals_pd.hpp
MaxRAMOpenJDK6uint64_tgcproduct_pd
Real memory size (in bytes) used to set maximum heap size
share/gc/shared/gc_globals.hpp
MaxRAMOpenJDK6uint64_tppc1ULL*Gdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
MaxRAMOpenJDK6uint64_ts390128ULL*Gdefine_pd_global
cpu/s390/c2_globals_s390.hpp
MaxRAMOpenJDK6uint64_tx861ULL*Gdefine_pd_global
cpu/x86/c1_globals_x86.hpp
MaxRecursiveInlineLevelOpenJDK6intxc21
range(0, max_jint)
product
maximum number of nested recursive calls that are inlined by 
high tier compiler
share/opto/c2_globals.hpp
MaxSubklassPrintSizeOpenJDK6intxruntime4notproduct
maximum number of subklasses to print when printing klass
share/runtime/globals.hpp
MaxTenuringThresholdOpenJDK6uintxgc15
range(0, markWord::max_age + 1)
product
Maximum value for tenuring threshold
share/gc/shared/gc_globals.hpp
MaxTrivialSizeOpenJDK6intxc26
range(0, max_jint)
product
The maximum bytecode size of a trivial method to be inlined by 
high tier compiler
share/opto/c2_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
MaxVirtMemFractionOpenJDK7uintxgc2
range(1, max_uintx)
develop
Maximum fraction (1/n) of virtual memory used for ergonomically 
determining maximum heap size
share/gc/shared/gc_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
MetaspaceGuardAllocationsOpenJDK16boolruntimefalsedevelop
Metapace allocations are guarded.
share/runtime/globals.hpp
MetaspaceReclaimPolicyOpenJDK16Obsoleted in JDK21ccstrruntimebalancedproduct
options: balanced, aggressive, none
share/runtime/globals.hpp
MetaspaceSizeOpenJDK8size_truntimeNOT_LP64(16 * M) LP64_ONLY(21 * M)product
Initial threshold (in bytes) at which a garbage collection 
is done to reduce Metaspace usage
share/runtime/globals.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
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)
product
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
MinHeapSizeOpenJDK13size_tgc0product
Minimum heap size (in bytes); zero means use ergonomics
share/gc/shared/gc_globals.hpp
MinInlineFrequencyRatioOpenJDK18doubleruntime0.0085product
Minimum ratio of call site execution to caller method
invocation to be considered for inlining
share/runtime/globals.hpp
MinInliningThresholdOpenJDK6Deprecated in JDK18
Obsoleted in JDK19
Expired in JDK20
intxruntime0
range(0, max_jint)
product
(Deprecated) 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
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)
product
Minimum number of sweeper passes before an nmethod 
can be flushed
share/runtime/globals.hpp
MinRAMFractionOpenJDK6Deprecated in JDK10
Obsoleted in JDK23
Expired in JDK24
uintxgc2
range(1, max_uintx)
product
Minimum fraction (1/n) of real memory used for maximum heap 
size on systems with small physical memory size. 
Deprecated, use MinRAMPercentage instead
share/gc/shared/gc_globals.hpp
MinRAMPercentageOpenJDK10doublegc50.0
range(0.0, 100.0)
product
Minimum percentage of real memory used for maximum heap
size on systems with small physical memory size
share/gc/shared/gc_globals.hpp
MinSurvivorRatioOpenJDK6uintxgc3
range(3, max_uintx)
product
Minimum ratio of young generation/survivor space size
share/gc/shared/gc_globals.hpp
MinTLABSizeOpenJDK6size_tgc2*K
range(1, max_uintx/2)
product
Minimum allowed TLAB size (in bytes)
share/gc/shared/tlab_globals.hpp
MonitorDeflationMaxOpenJDK16intxruntime1000000
range(1024, max_jint)
product
The maximum number of monitors to deflate, unlink and delete 
at one time (minimum is 1024).
share/runtime/globals.hpp
MonitorUsedDeflationThresholdOpenJDK10intxruntime90
range(0, 100)
product
Percentage of used monitors before triggering deflation (0 is 
off). The check is performed on GuaranteedSafepointInterval 
or AsyncDeflationInterval.
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*Mproduct
Granularity to use for NUMA interleaving on Windows OS
share/runtime/globals.hpp
NUMAPageScanRateOpenJDK6Obsoleted in JDK23
Expired in JDK24
uintxruntime256
range(0, max_uintx)
product
Maximum number of pages to include in the page scan procedure
share/runtime/globals.hpp
NUMASpaceResizeRateOpenJDK6size_truntime1*G
range(0, max_uintx)
product
Do not reallocate more than this amount per collection
share/runtime/globals.hpp
NUMAStatsOpenJDK6boolruntimefalseproduct
Print NUMA stats in detailed heap information
share/runtime/globals.hpp
NativeMemoryTrackingOpenJDK7ccstrruntimeoffproduct
Native memory tracking options
share/runtime/globals.hpp
NearCpoolOpenJDK9boolaarch64trueproduct
constant pool is close to instructions
cpu/aarch64/globals_aarch64.hpp
NestedInliningSizeRatioOpenJDK6intxc190
range(0, 100)
develop
Percentage of prev. allowed inline size in recursive inlining
share/c1/c1_globals.hpp
NeverActAsServerClassMachineOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
NeverActAsServerClassMachineOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c1_globals_arm.hpp
NeverActAsServerClassMachineOpenJDK6boolcompilertruedefine_pd_global
share/compiler/compiler_globals_pd.hpp
NeverActAsServerClassMachineOpenJDK6boolgcproduct_pd
Never act like a server-class machine
share/gc/shared/gc_globals.hpp
NeverActAsServerClassMachineOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
NeverActAsServerClassMachineOpenJDK6bools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
NeverActAsServerClassMachineOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
NeverTenureOpenJDK6boolgcfalseproduct
Never tenure objects in eden, may tenure on overflow 
(ParallelGC only)
share/gc/shared/gc_globals.hpp
NewCodeParameterOpenJDK6intxruntime0develop
Testing Only: Create a dedicated integer parameter before 
putback
share/runtime/globals.hpp
NewRatioOpenJDK6uintxgc2
range(0, max_uintx-1)
product
Ratio of old/new generation sizes
share/gc/shared/gc_globals.hpp
NewSizeThreadIncreaseOpenJDK6intxaarch644*Kdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
NewSizeThreadIncreaseOpenJDK6size_tarmScaleForWordSize(4*K)define_pd_global
cpu/arm/c2_globals_arm.hpp
NewSizeThreadIncreaseOpenJDK6size_tcompiler4*Kdefine_pd_global
share/compiler/compiler_globals_pd.hpp
NewSizeThreadIncreaseOpenJDK6size_tgcproduct_pd
Additional size added to desired new generation size per 
non-daemon thread (in bytes)
share/gc/shared/gc_globals.hpp
NewSizeThreadIncreaseOpenJDK6size_tppc16*Kdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
NewSizeThreadIncreaseOpenJDK6size_ts390ScaleForWordSize(4*K)define_pd_global
cpu/s390/c2_globals_s390.hpp
NewSizeThreadIncreaseOpenJDK6size_tx864*Kdefine_pd_global
cpu/x86/c1_globals_x86.hpp
NewSizeOpenJDK6size_tgcScaleForWordSize(1*M)product
Initial new generation size (in bytes)
share/gc/shared/gc_globals.hpp
NmethodSweepActivityOpenJDK8intxruntime10
range(0, 2000)
product
Removes cold nmethods from code cache if > 0. Higher values 
result in more aggressive sweeping
share/runtime/globals.hpp
NoAsyncDeflationProgressMaxOpenJDK17uintxruntime3
range(0, max_uintx)
product
Max number of no progress async deflation attempts to tolerate 
before adjusting the in_use_list_ceiling up (0 is off).
share/runtime/globals.hpp
NodeCountInliningCutoffOpenJDK6intxc218000
range(0, max_jint)
develop
If parser node generation exceeds limit stop inlining
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
NonNMethodCodeHeapSizeOpenJDK9uintxcompiler32*Mdefine_pd_global
share/compiler/compiler_globals_pd.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxruntimeproduct_pd
Size of code heap with non-nmethods (in bytes)
share/runtime/globals.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxppc5*Mdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxs3905*Mdefine_pd_global
cpu/s390/c2_globals_s390.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
NonProfiledCodeHeapSizeOpenJDK9uintxcompiler0define_pd_global
share/compiler/compiler_globals_pd.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxruntimeproduct_pd
Size of code heap with non-profiled methods (in bytes)
share/runtime/globals.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxppc13*Mdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxs39021*Mdefine_pd_global
cpu/s390/c2_globals_s390.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
OSROnlyBCIOpenJDK6intxcompiler-1develop
OSR only at this bci. Negative values mean exclude that bci
share/compiler/compiler_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)
product
Default object alignment in bytes, 8 is minimum
share/runtime/globals.hpp
ObjectCountCutOffPercentOpenJDK7doubleruntime0.5
range(0.0, 100.0)
product
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)
share/gc/shared/tlab_globals.hpp
OldSizeOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
size_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 
thrown from JVM
share/runtime/globals.hpp
OnSpinWaitInstCountOpenJDK15uintaarch641
range(1, 99)
product
The number of OnSpinWaitInst instructions to generate.
It cannot be used with OnSpinWaitInst=none.
cpu/aarch64/globals_aarch64.hpp
OnSpinWaitInstOpenJDK15ccstraarch64noneproduct
The instruction to use to implement 
java.lang.Thread.onSpinWait().
Options: none, nop, isb, yield.
cpu/aarch64/globals_aarch64.hpp
OnStackReplacePercentageOpenJDK6intxaarch64933define_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
OnStackReplacePercentageOpenJDK6intxarm140define_pd_global
cpu/arm/c2_globals_arm.hpp
OnStackReplacePercentageOpenJDK6intxcompilerproduct_pd
NON_TIERED number of method invocations/branches (expressed as 
% of CompileThreshold) before (re-)compiling OSR code
share/compiler/compiler_globals.hpp
OnStackReplacePercentageOpenJDK6intxppc1400define_pd_global
cpu/ppc/c1_globals_ppc.hpp
OnStackReplacePercentageOpenJDK6intxs390140define_pd_global
cpu/s390/c2_globals_s390.hpp
OnStackReplacePercentageOpenJDK6intxx86933define_pd_global
cpu/x86/c1_globals_x86.hpp
OptimizeExpensiveOpsOpenJDK7boolc2trueproduct
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
OptimizeSinglePrecisionOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
OptimizeStringConcatOpenJDK6boolc2trueproduct
Optimize the construction of Strings by StringBuilder
share/opto/c2_globals.hpp
OptoBlockListSizeOpenJDK6intxc28
range(1, 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
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
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(1, 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
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
OptoRegSchedulingOpenJDK9boolx86truedefine_pd_global
cpu/x86/c2_globals_x86.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
OptoSchedulingOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c2_globals_x86.hpp
PLABWeightOpenJDK6uintxgc75
range(0, 100)
product
Percentage (0-100) used to weight the current sample when 
computing exponentially decaying average for ResizePLAB
share/gc/shared/gc_globals.hpp
PSAdaptiveSizePolicyResizeVirtualSpaceAlotOpenJDK6intxgc-1
range(-1, 1)
develop
Resize the virtual spaces of the young or old generations
share/gc/shared/gc_globals.hpp
PSChunkLargeArraysOpenJDK6boolgctrueproduct
Process large arrays in chunks
share/gc/parallel/parallel_globals.hpp
ParGCArrayScanChunkOpenJDK6intgc50
range(1, max_jint/3)
product
Scan a subset of object array and push remainder, if array is 
bigger than this
share/gc/shared/gc_globals.hpp
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 JDK24
size_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 JDK24
size_tgc80
range(0, 100)
product
The standard deviation used by the parallel compact dead wood 
limiter (a number between 0-100)
share/gc/parallel/parallel_globals.hpp
ParallelRefProcBalancingEnabledOpenJDK6boolgctrueproduct
Enable balancing of reference processing queues
share/gc/shared/gc_globals.hpp
ParallelRefProcEnabledOpenJDK6boolgcfalseproduct
Enable parallel reference processing whenever possible
share/gc/shared/gc_globals.hpp
PartialPeelAtUnsignedTestsOpenJDK6boolc2trueproduct
Partial peel at unsigned tests if no signed test exists
share/opto/c2_globals.hpp
PartialPeelLoopOpenJDK6boolc2trueproduct
Partial peel (rotate) loops
share/opto/c2_globals.hpp
PartialPeelNewPhiDeltaOpenJDK6intxc20
range(0, max_jint)
product
Additional phis that can be created by partial peeling
share/opto/c2_globals.hpp
PatchALotOpenJDK6boolc1falsedevelop
Marks all fields as having unloaded classes
share/c1/c1_globals.hpp
PauseAtExitOpenJDK6boolruntimefalseproduct
Pause and wait for keypress on exit if a debugger is attached
share/runtime/globals.hpp
PauseAtStartupFileOpenJDK6ccstrruntimeNULLproduct
The file to create and for whose removal to await when pausing 
at startup. (default: ./vm.paused.)
share/runtime/globals.hpp
PauseAtStartupOpenJDK6boolruntimefalseproduct
Causes the VM to pause at startup time and wait for the pause 
file to be removed (default: ./vm.paused.)
share/runtime/globals.hpp
PausePaddingOpenJDK6uintxgc1
range(0, max_juint)
product
How much buffer to keep for pause time
share/gc/shared/gc_globals.hpp
PerBytecodeRecompilationCutoffOpenJDK6intxruntime200
range(-1, max_intx)
product
Per-BCI limit on repeated recompilation (-1=>'Inf')
share/runtime/globals.hpp
PerBytecodeTrapLimitOpenJDK6intxruntime4
range(0, max_jint)
product
Limit on traps (of one kind) at a particular BCI
share/runtime/globals.hpp
PerMethodRecompilationCutoffOpenJDK6intxruntime400
range(-1, max_intx)
product
After recompiling N times, stay in the interpreter (-1=>'Inf')
share/runtime/globals.hpp
PerMethodSpecTrapLimitOpenJDK8intxruntime5000
range(0, max_jint)
product
Limit on speculative traps (of one kind) in a method 
(includes inlines)
share/runtime/globals.hpp
PerMethodTrapLimitOpenJDK6intxruntime100
range(0, max_jint)
product
Limit on traps (of one kind) in a method (includes inlines)
share/runtime/globals.hpp
PerfAllowAtExitRegistrationOpenJDK6boolruntimefalseproduct
Allow registration of atexit() methods
share/runtime/globals.hpp
PerfBypassFileSystemCheckOpenJDK6boolruntimefalseproduct
Bypass Win32 file system criteria checks (Windows Only)
share/runtime/globals.hpp
PerfDataMemorySizeOpenJDK6intxruntime32*K
range(128, 32*64*K)
product
Size of performance data memory region. Will be rounded 
up to a multiple of the native os page size.
share/runtime/globals.hpp
PerfDataSamplingIntervalOpenJDK6intxruntime50
range(PeriodicTask::min_interval, max_jint)
product
Data sampling interval (in milliseconds)
share/runtime/globals.hpp
PerfDataSaveFileOpenJDK6ccstrruntimeNULLproduct
Save PerfData memory to the specified absolute pathname. 
The string %p in the file name (if present) 
will be replaced by pid
share/runtime/globals.hpp
PerfDataSaveToFileOpenJDK6boolruntimefalseproduct
Save PerfData memory to hsperfdata_ file on exit
share/runtime/globals.hpp
PerfDisableSharedMemOpenJDK6boolruntimefalseproduct
Store performance data in standard memory
share/runtime/globals.hpp
PerfMaxStringConstLengthOpenJDK6intxruntime1024
range(32, 32*K)
product
Maximum PerfStringConstant string length before truncation
share/runtime/globals.hpp
PinAllInstructionsOpenJDK6boolc1falsedevelop
All instructions are pinned
share/c1/c1_globals.hpp
PoisonOSREntryOpenJDK6boolc2truedevelop
Detect abnormal calls to OSR code
share/opto/c2_globals.hpp
PostLoopMultiversioningOpenJDK9boolc2falseproduct
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_taix1 * Gdefine_pd_global
os/aix/globals_aix.hpp
PreTouchParallelChunkSizeOpenJDK9size_tbsd1 * Gdefine_pd_global
os/bsd/globals_bsd.hpp
PreTouchParallelChunkSizeOpenJDK9size_tlinux4 * Mdefine_pd_global
os/linux/globals_linux.hpp
PreTouchParallelChunkSizeOpenJDK9size_tgcproduct_pd
Per-thread chunk size for parallel memory pre-touch.
share/gc/shared/gc_globals.hpp
PreTouchParallelChunkSizeOpenJDK9size_twindows1 * Gdefine_pd_global
os/windows/globals_windows.hpp
PreallocatedOutOfMemoryErrorCountOpenJDK6uintxruntime4develop
Number of OutOfMemoryErrors preallocated with backtrace
share/runtime/globals.hpp
PreferContainerQuotaForCPUCountOpenJDK11Deprecated in JDK19
Obsoleted in JDK20
Expired in JDK21
boollinuxtrueproduct
Calculate the container CPU availability based on the value
 of quotas (if set), when true. Otherwise, use the CPU
 shares value, provided it is less than quota.
os/linux/globals_linux.hpp
PreferInterpreterNativeStubsOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
PreferInterpreterNativeStubsOpenJDK6boolarmfalsedefine_pd_global
cpu/arm/c2_globals_arm.hpp
PreferInterpreterNativeStubsOpenJDK6boolcompilertruedefine_pd_global
share/compiler/compiler_globals_pd.hpp
PreferInterpreterNativeStubsOpenJDK6boolruntimeproduct_pd
Use always interpreter stubs for native methods invoked via 
interpreter
share/runtime/globals.hpp
PreferInterpreterNativeStubsOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
PreferInterpreterNativeStubsOpenJDK6bools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
PreferInterpreterNativeStubsOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
PreferLAoverADDOpenJDK9bools390falseproduct
Use LA/LAY instructions over ADD instructions (z/Architecture).
cpu/s390/globals_s390.hpp
PrefetchCopyIntervalInBytesOpenJDK6intxgc-1
range(-1, max_jint)
product
How far ahead to prefetch destination area (<= 0 means off)
share/gc/shared/gc_globals.hpp
PrefetchFieldsAheadOpenJDK6Obsoleted in JDK19
Expired in JDK20
intxgc-1
range(-1, max_jint)
product
How many fields ahead to prefetch in oop scan (<= 0 means off)
share/gc/shared/gc_globals.hpp
PrefetchScanIntervalInBytesOpenJDK6intxgc-1
range(-1, max_jint)
product
How far ahead to prefetch scan area (<= 0 means off)
share/gc/shared/gc_globals.hpp
PreserveAllAnnotationsOpenJDK6Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolruntimefalseproduct
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
PreserveFramePointerOpenJDK8boolx86falsedefine_pd_global
cpu/x86/globals_x86.hpp
PreserveFramePointerOpenJDK8boolzerofalsedefine_pd_global
cpu/zero/globals_zero.hpp
PretenureSizeThresholdOpenJDK6size_tgc0
range(0, max_uintx)
product
Maximum size in bytes of objects allocated in DefNew 
generation; zero means no maximum
share/gc/shared/gc_globals.hpp
PrintAdapterHandlersOpenJDK6boolruntimefalseproduct
Print code generated for i2c/c2i adapters
share/runtime/globals.hpp
PrintAssemblyOptionsOpenJDK6ccstrruntimeNULLproduct
Print options string passed to disassembler.so
share/runtime/globals.hpp
PrintAssemblyOpenJDK6boolruntimefalseproduct
Print assembly code (using external disassembler.so)
share/runtime/globals.hpp
PrintBailoutsOpenJDK6boolc1falsedevelop
Print bailout and its reason
share/c1/c1_globals.hpp
PrintBlockEliminationOpenJDK6boolc1falsedevelop
Print basic block elimination
share/c1/c1_globals.hpp
PrintBootstrapOpenJDK9booljvmcitrueproduct
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
PrintClassHistogramOpenJDK6boolruntimefalseproduct
Print a histogram of class instances
share/runtime/globals.hpp
PrintClassLoaderDataGraphAtExitOpenJDK17boolruntimefalsenotproduct
Print the class loader data graph at exit
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
PrintCodeHeapAnalyticsOpenJDK12boolruntimefalseproduct
Print code heap usage statistics on exit and on full condition
share/runtime/globals.hpp
PrintCommandLineFlagsOpenJDK6boolruntimefalseproduct
Print flags specified on command line or set by ergonomics
share/runtime/globals.hpp
PrintCompilation2OpenJDK6boolruntimefalseproduct
Print additional statistics per compilation
share/runtime/globals.hpp
PrintCompilationOpenJDK6boolruntimefalseproduct
Print compilations
share/runtime/globals.hpp
PrintConcurrentLocksOpenJDK6boolruntimefalseproduct
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
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
PrintIdealIndentThresholdOpenJDK16uintxc20notproduct
A depth threshold of ideal graph. Indentation is disabled 
when users attempt to dump an ideal graph deeper than it.
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
PrintInliningOpenJDK6boolruntimefalseproduct
Print inlining optimizations
share/runtime/globals.hpp
PrintInterpreterOpenJDK6boolruntimefalseproduct
Print the generated interpreter code
share/runtime/globals.hpp
PrintIntrinsicsOpenJDK6boolc2falseproduct
prints attempted and successful inlining of intrinsics
share/opto/c2_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
PrintMetaspaceStatisticsAtExitOpenJDK11boolruntimefalseproduct
Print metaspace statistics upon VM exit.
share/runtime/globals.hpp
PrintMethodDataOpenJDK6boolruntimefalseproduct
Print the results of +ProfileInterpreter at end of run
share/runtime/globals.hpp
PrintMethodFlushingStatisticsOpenJDK8boolruntimefalseproduct
print statistics about method flushing
share/runtime/globals.hpp
PrintMethodFlushingOpenJDK6boolruntimefalsedevelop
Print the nmethods being flushed
share/runtime/globals.hpp
PrintMethodHandleStubsOpenJDK6boolruntimefalseproduct
Print generated stub code for method handles
share/runtime/globals.hpp
PrintMiscellaneousOpenJDK6boolruntimefalsedevelop
Print uncategorized debugging information (requires +Verbose)
share/runtime/globals.hpp
PrintNMTStatisticsOpenJDK7boolruntimefalseproduct
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
PrintNMethodsOpenJDK6boolruntimefalseproduct
Print assembly code for nmethods when generated
share/runtime/globals.hpp
PrintNativeNMethodsOpenJDK6boolruntimefalseproduct
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
PrintOptoAssemblyOpenJDK6boolc2falseproduct
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
PrintPreciseRTMLockingStatisticsOpenJDK8boolc2falseproduct
Print per-lock-site statistics of rtm locking in JVM
share/opto/c2_globals.hpp
PrintRelocationsOpenJDK6boolruntimefalsedevelop
Print relocation information for all nmethods when generated
share/runtime/globals.hpp
PrintRewritesOpenJDK6boolruntimefalsenotproduct
Print methods that are being rewritten
share/runtime/globals.hpp
PrintSharedArchiveAndExitOpenJDK8boolruntimefalseproduct
Print shared archive file contents
share/runtime/globals.hpp
PrintSharedDictionaryOpenJDK8Obsoleted in JDK20
Expired in JDK21
boolruntimefalseproduct
If PrintSharedArchiveAndExit is true, also print the shared 
dictionary
share/runtime/globals.hpp
PrintSignatureHandlersOpenJDK6boolruntimefalseproduct
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
PrintStubCodeOpenJDK6boolruntimefalseproduct
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
PrintTieredEventsOpenJDK6boolcompilerfalseproduct
Print tiered events notifications
share/compiler/compiler_globals.hpp
PrintTouchedMethodsAtExitOpenJDK9boolruntimefalseproduct
Print all methods that have been ever touched in runtime
share/runtime/globals.hpp
PrintVMOptionsOpenJDK6boolruntimefalseproduct
Print flags that appeared on the command line
share/runtime/globals.hpp
PrintValueNumberingOpenJDK6boolc1falsedevelop
Print Value Numbering
share/c1/c1_globals.hpp
PrintWarningsOpenJDK6boolruntimetrueproduct
Print JVM warnings to output stream
share/runtime/globals.hpp
ProcessDistributionStrideOpenJDK6Obsoleted in JDK23
Expired in JDK24
uintxruntime4
range(0, max_juint)
product
Stride through processors when distributing processes
share/runtime/globals.hpp
ProfileDynamicTypesOpenJDK6boolc2trueproduct
do extra type profiling and use it more aggressively
share/opto/c2_globals.hpp
ProfileInterpreterOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
ProfileInterpreterOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
ProfileInterpreterOpenJDK6boolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
ProfileInterpreterOpenJDK6boolruntimeproduct_pd
Profile at the bytecode level during interpretation
share/runtime/globals.hpp
ProfileInterpreterOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
ProfileInterpreterOpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
ProfileInterpreterOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
ProfileMaturityPercentageOpenJDK6intxruntime20
range(0, 100)
product
number of method invocations/branches (expressed as % of 
CompileThreshold) before using the method's profile
share/runtime/globals.hpp
ProfileTrapsOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
ProfileTrapsOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
ProfileTrapsOpenJDK6boolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
ProfileTrapsOpenJDK6boolruntimedevelop_pd
Profile deoptimization traps at the bytecode level
share/runtime/globals.hpp
ProfileTrapsOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
ProfileTrapsOpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
ProfileTrapsOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
ProfiledCodeHeapSizeOpenJDK9intxaarch6414*Mdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
ProfiledCodeHeapSizeOpenJDK9size_tarm14*Mdefine_pd_global
cpu/arm/c1_globals_arm.hpp
ProfiledCodeHeapSizeOpenJDK9uintxcompiler0define_pd_global
share/compiler/compiler_globals_pd.hpp
ProfiledCodeHeapSizeOpenJDK9uintxruntimeproduct_pd
Size of code heap with profiled methods (in bytes)
share/runtime/globals.hpp
ProfiledCodeHeapSizeOpenJDK9uintxppc14*Mdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
ProfiledCodeHeapSizeOpenJDK9uintxs39022*Mdefine_pd_global
cpu/s390/c2_globals_s390.hpp
ProfiledCodeHeapSizeOpenJDK9uintxx8614*Mdefine_pd_global
cpu/x86/c1_globals_x86.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 promotion 
attempts at 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
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 */
product
Lock abort ratio at which to stop use RTM lock eliding
cpu/ppc/globals_ppc.hpp
RTMAbortRatioOpenJDK8intx8650
range(0, 100) /* natural range */
product
Lock abort ratio at which to stop use RTM lock eliding
cpu/x86/globals_x86.hpp
RTMAbortThresholdOpenJDK8intppc1000
range(0, max_jint)
product
Calculate abort ratio after this number of aborts
cpu/ppc/globals_ppc.hpp
RTMAbortThresholdOpenJDK8intx861000
range(0, max_jint)
product
Calculate abort ratio after this number of aborts
cpu/x86/globals_x86.hpp
RTMLockingCalculationDelayOpenJDK8intxppc0product
Number of milliseconds to wait before start calculating aborts 
for RTM locking
cpu/ppc/globals_ppc.hpp
RTMLockingCalculationDelayOpenJDK8intxx860product
Number of milliseconds to wait before start calculating aborts 
for RTM locking
cpu/x86/globals_x86.hpp
RTMLockingThresholdOpenJDK8intppc10000
range(0, max_jint)
product
Lock count at which to do RTM lock eliding without 
abort ratio calculation
cpu/ppc/globals_ppc.hpp
RTMLockingThresholdOpenJDK8intx8610000
range(0, max_jint)
product
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 JDK25
intppc5
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 JDK25
intx865
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 */
product
Spin count for lock to become free before RTM retry
cpu/ppc/globals_ppc.hpp
RTMSpinLoopCountOpenJDK8intx86100
range(0, max_jint)
product
Spin count for lock to become free before RTM retry
cpu/x86/globals_x86.hpp
RTMTotalCountIncrRateOpenJDK8intppc64
range(1, 32767) /* immediate operand limit on ppc */
product
Increment total RTM attempted lock count once every n times
cpu/ppc/globals_ppc.hpp
RTMTotalCountIncrRateOpenJDK8intx8664
range(1, max_jint)
product
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
RecordDynamicDumpInfoOpenJDK17boolruntimefalseproduct
Record class info for jcmd VM.cds dynamic_dump
share/runtime/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
ReduceNumberOfCompilerThreadsOpenJDK11boolruntimetrueproduct
Reduce the number of parallel compiler threads when they 
are not used
share/runtime/globals.hpp
ReduceSignalUsageOpenJDK6boolruntimefalseproduct
Reduce the use of OS signals in Java and/or the VM
share/runtime/globals.hpp
RefDiscoveryPolicyOpenJDK6Obsoleted in JDK21
Expired in JDK24
intxgc0
range(ReferenceProcessor::DiscoveryPolicyMin,
product
Select type of reference discovery policy: 
reference-based(0) or referent-based(1)
share/gc/shared/gc_globals.hpp
ReferencesPerThreadOpenJDK11size_tgc1000product
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
RegisterCostAreaRatioOpenJDK6intxx8616000define_pd_global
cpu/x86/c2_globals_x86.hpp
RegisterFinalizersAtInitOpenJDK6Deprecated in JDK22
Obsoleted in JDK23
Expired in JDK24
boolruntimetrueproduct
Register finalizable objects at end of Object. or 
after allocation
share/runtime/globals.hpp
RegisterReferencesOpenJDK6boolruntimetruedevelop
Tell whether the VM should register soft/weak/final/phantom 
references
share/runtime/globals.hpp
RelaxAccessControlCheckOpenJDK6boolruntimefalseproduct
Relax the access control checks in the verifier
share/runtime/globals.hpp
RenumberLiveNodesOpenJDK8boolc2truedevelop
Renumber live nodes
share/opto/c2_globals.hpp
ReoptimizeCallSequencesOpenJDK7boolppctrueproduct
Reoptimize code-sequences of calls at runtime.
cpu/ppc/globals_ppc.hpp
ReoptimizeCallSequencesOpenJDK7bools390trueproduct
Reoptimize code-sequences of calls at runtime.
cpu/s390/globals_s390.hpp
RepeatCompilationOpenJDK16intxruntime0
range(0, max_jint)
product
Repeat compilation without installing code (number of times)
share/runtime/globals.hpp
ReplayCompilesOpenJDK8boolcompilerfalsedevelop
Enable replay of compilations from ReplayDataFile
share/compiler/compiler_globals.hpp
ReplayDataFileOpenJDK8ccstrcompilerNULLproduct
File containing compilation replay information
[default: ./replay_pid%p.log] (%p replaced with pid)
share/compiler/compiler_globals.hpp
ReplayIgnoreInitErrorsOpenJDK8boolcompilerfalsedevelop
Ignore exceptions thrown during initialization for replay
share/compiler/compiler_globals.hpp
ReplaySuppressInitializersOpenJDK8intxcompiler2
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/compiler/compiler_globals.hpp
RequireSharedSpacesOpenJDK6Deprecated in JDK18
Obsoleted in JDK19
boolruntimefalseproduct
(Deprecated) 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
ReservedCodeCacheSizeOpenJDK6uintxcompiler32*Mdefine_pd_global
share/compiler/compiler_globals_pd.hpp
ReservedCodeCacheSizeOpenJDK6uintxruntimeproduct_pd
Reserved code cache size (in bytes) - maximum code cache size
share/runtime/globals.hpp
ReservedCodeCacheSizeOpenJDK6uintxppc32*Mdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
ReservedCodeCacheSizeOpenJDK6uintxs39048*Mdefine_pd_global
cpu/s390/c2_globals_s390.hpp
ReservedCodeCacheSizeOpenJDK6uintxx8632*Mdefine_pd_global
cpu/x86/c1_globals_x86.hpp
ResizePLABOpenJDK6boolgctrueproduct
Dynamically resize (survivor space) promotion LAB's
share/gc/shared/gc_globals.hpp
ResizeTLABOpenJDK6boolgctrueproduct
Dynamically resize TLAB size for threads
share/gc/shared/tlab_globals.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
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
RewriteFrequentPairsOpenJDK6boolx86truedefine_pd_global
cpu/x86/globals_x86.hpp
RewriteFrequentPairsOpenJDK6boolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
SafepointALotOpenJDK6boolruntimefalseproduct
Generate a lot of safepoints. This works with 
GuaranteedSafepointInterval
share/runtime/globals.hpp
SafepointTimeoutDelayOpenJDK6intxruntime10000
range(0, max_intx LP64_ONLY(/MICROUNITS))
product
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 JDK24
boolgctrueproduct
Scavenge youngest generation before each full GC.
share/gc/shared/gc_globals.hpp
ScavengeRootsInCodeOpenJDK6intxruntime2
range(0, 2)
product
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
SerializeVMOutputOpenJDK6boolruntimetrueproduct
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
ShenandoahAdaptiveDecayFactorOpenJDK16doublegc0.5
range(0,1.0)
product
The decay factor (alpha) used for values in the weighted 
moving average of cycle time and allocation rate. 
Larger values give more weight to recent values.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAdaptiveInitialConfidenceOpenJDK16doublegc1.8product
The number of standard deviations used to determine an initial 
margin of error for the average cycle time and average 
allocation rate. Increasing this value will cause the 
heuristic to initiate more concurrent cycles.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAdaptiveInitialSpikeThresholdOpenJDK16doublegc1.8product
If the most recently sampled allocation rate is more than 
this many standard deviations away from the moving average, 
then a cycle is initiated. This value controls how sensitive 
the heuristic is to allocation spikes. Decreasing this number 
increases the sensitivity.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAdaptiveSampleFrequencyHzOpenJDK16uintxgc10product
The number of times per second to update the allocation rate 
moving average.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAdaptiveSampleSizeSecondsOpenJDK16uintxgc10product
The size of the moving window over which the average 
allocation rate is maintained. The total number of samples 
is the product of this number and the sample frequency.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocFailureALotOpenJDK11boolgcfalseproduct
Testing: make lots of artificial allocation failures.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocSpikeFactorOpenJDK11uintxgc5
range(0,100)
product
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)
product
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
ShenandoahAlwaysClearSoftRefsOpenJDK11boolgcfalseproduct
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
ShenandoahCASBarrierOpenJDK11boolgctrueproduct
Turn on/off CAS barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCloneBarrierOpenJDK11boolgctrueproduct
Turn on/off clone barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahControlIntervalAdjustPeriodOpenJDK11uintxgc1000product
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
ShenandoahControlIntervalMaxOpenJDK11uintxgc10product
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
ShenandoahControlIntervalMinOpenJDK11uintxgc1product
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)
product
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
ShenandoahDegeneratedGCOpenJDK11boolgctrueproduct
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
ShenandoahElasticTLABOpenJDK11boolgctrueproduct
Use Elastic TLABs with Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahEvacReserveOverflowOpenJDK11boolgctrueproduct
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)
product
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)
product
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
ShenandoahFullGCThresholdOpenJDK11uintxgc3product
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)
product
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*1000product
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
ShenandoahHumongousMovesOpenJDK11boolgctrueproduct
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)
product
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
ShenandoahIUBarrierOpenJDK11boolgcfalseproduct
Turn on/off I-U barriers barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahImmediateThresholdOpenJDK11uintxgc90
range(0,100)
product
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
ShenandoahImplicitGCInvokesConcurrentOpenJDK11boolgcfalseproduct
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)
product
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)
product
The number of cycles some heuristics take to collect in order 
to learn application and GC performance.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahLoadRefBarrierOpenJDK11boolgctrueproduct
Turn on/off load-reference barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahLoopOptsAfterExpansionOpenJDK11boolgctrueproduct
Attempt more loop opts after barrier expansion.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMarkLoopStrideOpenJDK11uintxgc1000product
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)
product
How many objects to prefetch ahead when traversing mark bitmaps.
Set to 0 to disable prefetching.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMaxRegionSizeOpenJDK11size_tgc32 * Mproduct
With automatic region sizing, the regions would be at most 
this large.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMaxSATBBufferFlushesOpenJDK11uintxgc5product
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)
product
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 * Kproduct
With automatic region sizing, the regions would be at least 
this large.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahNMethodBarrierOpenJDK17boolgctrueproduct
Turn on/off NMethod entry barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahOOMDuringEvacALotOpenJDK11boolgcfalseproduct
Testing: simulate OOM during evacuation.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingCycleSlackOpenJDK11uintxgc10
range(0, 100)
product
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)
product
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
ShenandoahPacingMaxDelayOpenJDK11uintxgc10product
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)
product
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
ShenandoahPacingOpenJDK11boolgctrueproduct
Pace application allocations to give GC chance to start 
and complete before allocation failure is reached.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahParallelRegionStrideOpenJDK11uintxgc1024product
How many regions to process at once during parallel region 
iteration. Affects heaps with lots of regions.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRegionSamplingRateOpenJDK11intgc40product
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
ShenandoahRegionSamplingOpenJDK11boolgcfalseproduct
Provide heap region sampling data via jvmstat.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRegionSizeOpenJDK11size_tgc0product
Static heap region size. Set zero to enable automatic sizing.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBarrierOpenJDK11boolgctrueproduct
Turn on/off SATB barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBufferSizeOpenJDK11size_tgc1 * K
range(1, max_uintx)
product
Number of entries in an SATB log buffer.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSelfFixingOpenJDK11boolgctrueproduct
Fix references with load reference barrier. Disabling this 
might degrade performance.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahStackWatermarkBarrierOpenJDK17boolgctrueproduct
Turn on/off stack watermark barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSuspendibleWorkersOpenJDK11boolgcfalseproduct
Suspend concurrent GC worker threads at safepoints
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahTargetNumRegionsOpenJDK11size_tgc2048product
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*1000product
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
ShenandoahUncommitOpenJDK11boolgctrueproduct
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
ShenandoahUnloadClassesFrequencyOpenJDK11uintxgc1product
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
ShenandoahVerifyLevelOpenJDK11intxgc4product
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
ShenandoahVerifyOpenJDK11boolgcfalseproduct
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
ShowCodeDetailsInExceptionMessagesOpenJDK14boolruntimetrueproduct
Show exception messages from RuntimeExceptions that contain 
snippets of the failing code. Disable this to improve privacy.
share/runtime/globals.hpp
ShowHiddenFramesOpenJDK7boolruntimefalseproduct
show method handle implementation frames (usually hidden)
share/runtime/globals.hpp
ShowMessageBoxOnErrorOpenJDK6boolruntimefalseproduct
Keep process alive on VM fatal error
share/runtime/globals.hpp
ShowRegistersOnAssertOpenJDK11boolruntimetrueproduct
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
SoftMaxHeapSizeOpenJDK13size_tgc0product
Soft limit for maximum heap size (in bytes)
share/gc/shared/gc_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
SpecTrapLimitExtraEntriesOpenJDK8intxruntime3product
Extra method data trap entries for speculation
share/runtime/globals.hpp
SpecialArraysEqualsOpenJDK6boolc2trueproduct
special version of Arrays.equals(char[],char[])
share/opto/c2_globals.hpp
SpecialEncodeISOArrayOpenJDK8boolc2trueproduct
special version of ISO_8859_1$Encoder.encodeISOArray
share/opto/c2_globals.hpp
SpecialStringCompareToOpenJDK6boolc2trueproduct
special version of string compareTo
share/opto/c2_globals.hpp
SpecialStringEqualsOpenJDK6boolc2trueproduct
special version of string equals
share/opto/c2_globals.hpp
SpecialStringIndexOfOpenJDK6boolc2trueproduct
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
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
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
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
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
StressCCPOpenJDK17boolc2falseproduct
Randomize worklist traversal in CCP
share/opto/c2_globals.hpp
StressCodeAgingOpenJDK9boolruntimefalseproduct
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
StressGCMOpenJDK8boolc2falseproduct
Randomize instruction scheduling in GCM
share/opto/c2_globals.hpp
StressIGVNOpenJDK16boolc2falseproduct
Randomize worklist traversal in IGVN
share/opto/c2_globals.hpp
StressLCMOpenJDK8boolc2falseproduct
Randomize instruction scheduling in LCM
share/opto/c2_globals.hpp
StressLdcRewriteOpenJDK6boolruntimefalseproduct
Force ldc -> ldc_w rewrite during RedefineClasses. 
This option can change an EMCP method into an obsolete method 
and can affect tests that expect specific methods to be EMCP. 
This option should be used with caution.
share/runtime/globals.hpp
StressLinearScanOpenJDK6boolc1falsedevelop
scramble block order used by LinearScan (stress test)
share/c1/c1_globals.hpp
StressLongCountedLoopOpenJDK16uintxc20
range(0, max_juint)
develop
if > 0, convert int counted loops to long counted loops
to stress handling of long counted loops: run inner loop
for at most jint_max / StressLongCountedLoop
share/opto/c2_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
StressSeedOpenJDK16uintc20
range(0, max_juint)
product
Seed for randomized stress testing (if unset, a random one is 
generated). The seed is recorded in the compilation log, if 
available.
share/opto/c2_globals.hpp
StringDeduplicationAgeThresholdOpenJDK8uintruntime3
range(1, markWord::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
StringDeduplicationCleanupDeadMinimumOpenJDK17size_truntime100product
Minimum number of dead table entries for cleaning the table
share/runtime/globals.hpp
StringDeduplicationCleanupDeadPercentOpenJDK17intruntime5
range(1, 100)
product
Minimum percentage of dead table entries for cleaning the table
share/runtime/globals.hpp
StringDeduplicationGrowTableLoadOpenJDK17doubleruntime14.0
range(0.1, 1000.0)
product
Entries per bucket above which the table should be expanded
share/runtime/globals.hpp
StringDeduplicationHashSeedOpenJDK17uint64_truntime0product
Seed for the table hashing function; 0 requests computed seed
share/runtime/globals.hpp
StringDeduplicationInitialTableSizeOpenJDK17size_truntime500
range(1, 1 * G)
product
Approximate initial number of buckets in the table
share/runtime/globals.hpp
StringDeduplicationResizeALotOpenJDK8boolruntimefalseproduct
Force more frequent table resizing
share/runtime/globals.hpp
StringDeduplicationShrinkTableLoadOpenJDK17doubleruntime1.0
range(0.01, 100.0)
product
Entries per bucket below which the table should be shrunk
share/runtime/globals.hpp
StringDeduplicationTargetTableLoadOpenJDK17doubleruntime7.0
range(0.01, 1000.0)
product
Desired entries per bucket when resizing the table
share/runtime/globals.hpp
StringTableSizeOpenJDK6uintxruntimedefaultStringTableSize
range(minimumStringTableSize, 16777216ul /* 2^24 */)
product
Number of buckets in the interned String table 
(will be rounded to nearest higher power of 2)
share/runtime/globals.hpp
SubsumeLoadsOpenJDK6boolc2truedevelop
Attempt to compile while subsuming loads into machine 
instructions.
share/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisOpenJDK9boolaarch64truedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
SuperWordLoopUnrollAnalysisOpenJDK9boolc2product_pd
Map number of unrolls for main loop via 
Superword Level Parallelism analysis
share/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisOpenJDK9boolppctruedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
SuperWordLoopUnrollAnalysisOpenJDK9bools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
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
SurvivorPaddingOpenJDK6uintxgc3
range(0, max_juint)
product
How much buffer to keep for survivor overflow
share/gc/shared/gc_globals.hpp
SurvivorRatioOpenJDK6uintxgc8
range(1, max_uintx-2)
product
Ratio of eden/survivor space size
share/gc/shared/gc_globals.hpp
SweeperLogEntriesOpenJDK6intxruntime1024notproduct
Number of records in the ring buffer of sweeper activity
share/runtime/globals.hpp
SweeperThresholdOpenJDK15doubleruntime0.5
range(0.0, 100.0)
product
Threshold controlling when code cache sweeper is invoked.
Value is percentage of ReservedCodeCacheSize.
share/runtime/globals.hpp
SymbolTableSizeOpenJDK8uintxruntimedefaultSymbolTableSize
range(minimumSymbolTableSize, 16777216ul /* 2^24 */)
product
Number of buckets in the JVM internal Symbol table
share/runtime/globals.hpp
TLABAllocationWeightOpenJDK6uintxgc35
range(0, 100)
product
Allocation averaging weight
share/gc/shared/tlab_globals.hpp
TLABRefillWasteFractionOpenJDK6uintxgc64
range(1, max_juint)
product
Maximum TLAB waste at a refill (internal fragmentation)
share/gc/shared/tlab_globals.hpp
TLABSizeOpenJDK6size_tgc0product
Starting TLAB size (in bytes); zero means set ergonomically
share/gc/shared/tlab_globals.hpp
TLABStatsOpenJDK6Deprecated in JDK12
Obsoleted in JDK23
Expired in JDK24
boolgctrueproduct
Provide more detailed and expensive TLAB statistics.
share/gc/shared/tlab_globals.hpp
TLABWasteIncrementOpenJDK6uintxgc4
range(0, max_jint)
product
Increment allowed waste at slow allocation
share/gc/shared/tlab_globals.hpp
TLABWasteTargetPercentOpenJDK6uintxgc1
range(1, 100)
product
Percentage of Eden that can be wasted
share/gc/shared/tlab_globals.hpp
TargetPLABWastePctOpenJDK6uintxgc10
range(1, 100)
product
Target wasted space in last buffer as percent of overall 
allocation
share/gc/shared/gc_globals.hpp
TargetSurvivorRatioOpenJDK6uintxgc50
range(0, 100)
product
Desired percentage of survivor space used after scavenge
share/gc/shared/gc_globals.hpp
TenuredGenerationSizeIncrementOpenJDK6uintxgc20
range(0, 100)
product
Adaptive size percentage change in tenured generation
share/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementDecayOpenJDK6uintxgc2
range(1, max_uintx)
product
Decay factor to TenuredGenerationSizeIncrement
share/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementOpenJDK6uintxgc80
range(0, 100)
product
Supplement to TenuredGenerationSizeIncrement used at startup
share/gc/shared/gc_globals.hpp
TestCrashInErrorHandlerOpenJDK9uintxruntime0
range(0, 17)
develop
If > 0, provokes an error inside VM error handler (a secondary 
crash). see controlled_crash() in vmError.cpp
share/runtime/globals.hpp
TestSafeFetchInErrorHandlerOpenJDK9boolruntimefalsedevelop
If true, tests SafeFetch inside error handler.
share/runtime/globals.hpp
TestUnresponsiveErrorHandlerOpenJDK10boolruntimefalsedevelop
If true, simulates an unresponsive error handler.
share/runtime/globals.hpp
ThreadPriorityPolicyOpenJDK6intxruntime0
range(0, 1)
product
0 : Normal. 
 VM chooses priorities that are appropriate for normal 
 applications. 
 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
ThreadStackSizeOpenJDK6intxlinuxaarch642048define_pd_global
// 0 => use system default
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
ThreadStackSizeOpenJDK6intxlinuxarm320define_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
ThreadStackSizeOpenJDK6intxlinuxppc2048define_pd_global
// 0 => use system default
os_cpu/linux_ppc/globals_linux_ppc.hpp
ThreadStackSizeOpenJDK6intxlinuxs3901024define_pd_global
// 0 => Use system default.
os_cpu/linux_s390/globals_linux_s390.hpp
ThreadStackSizeOpenJDK6intxlinuxx86320define_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
ThreadStackSizeOpenJDK6intxlinuxzero1536define_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
ThreadStackSizeOpenJDK6intxruntimeproduct_pd
Thread Stack Size (in Kbytes)
share/runtime/globals.hpp
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
Tier0BackedgeNotifyFreqLogOpenJDK6intxcompiler10
range(0, 30)
product
Interpreter (tier 0) invocation notification frequency
share/compiler/compiler_globals.hpp
Tier0DelayOpenJDK14intxcompiler20
range(0, max_jint)
product
If C2 queue size grows over this amount per compiler thread 
do not start profiling in the interpreter
share/compiler/compiler_globals.hpp
Tier0InvokeNotifyFreqLogOpenJDK6intxcompiler7
range(0, 30)
product
Interpreter (tier 0) invocation notification frequency
share/compiler/compiler_globals.hpp
Tier0ProfilingStartPercentageOpenJDK6intxcompiler200
range(0, max_jint)
product
Start profiling in interpreter if the counters exceed the 
specified percentage of tier 3 thresholds (tier 4 thresholds 
with CompilationMode=high-only|high-only-quick-internal)
share/compiler/compiler_globals.hpp
Tier23InlineeNotifyFreqLogOpenJDK6intxcompiler20
range(0, 30)
product
Inlinee invocation (tiers 2 and 3) notification frequency
share/compiler/compiler_globals.hpp
Tier2BackEdgeThresholdOpenJDK6intxcompiler0
range(0, max_jint)
product
Back edge threshold at which tier 2 compilation is invoked
share/compiler/compiler_globals.hpp
Tier2BackedgeNotifyFreqLogOpenJDK6intxcompiler14
range(0, 30)
product
C1 without MDO (tier 2) invocation notification frequency
share/compiler/compiler_globals.hpp
Tier2CompileThresholdOpenJDK6intxcompiler0
range(0, max_jint)
product
threshold at which tier 2 compilation is invoked
share/compiler/compiler_globals.hpp
Tier2InvokeNotifyFreqLogOpenJDK6intxcompiler11
range(0, 30)
product
C1 without MDO (tier 2) invocation notification frequency
share/compiler/compiler_globals.hpp
Tier3BackEdgeThresholdOpenJDK6intxcompiler60000
range(0, max_jint)
product
Back edge threshold at which tier 3 OSR compilation is invoked
share/compiler/compiler_globals.hpp
Tier3BackedgeNotifyFreqLogOpenJDK6intxcompiler13
range(0, 30)
product
C1 with MDO profiling (tier 3) invocation notification 
frequency
share/compiler/compiler_globals.hpp
Tier3CompileThresholdOpenJDK6intxcompiler2000
range(0, max_jint)
product
Threshold at which tier 3 compilation is invoked (invocation 
minimum must be satisfied)
share/compiler/compiler_globals.hpp
Tier3DelayOffOpenJDK6intxcompiler2
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/compiler/compiler_globals.hpp
Tier3DelayOnOpenJDK6intxcompiler5
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/compiler/compiler_globals.hpp
Tier3InvocationThresholdOpenJDK6intxcompiler200
range(0, max_jint)
product
Compile if number of method invocations crosses this 
threshold
share/compiler/compiler_globals.hpp
Tier3InvokeNotifyFreqLogOpenJDK6intxcompiler10
range(0, 30)
product
C1 with MDO profiling (tier 3) invocation notification 
frequency
share/compiler/compiler_globals.hpp
Tier3LoadFeedbackOpenJDK6intxcompiler5
range(0, max_jint)
product
Tier 3 thresholds will increase twofold when C1 queue size 
reaches this amount per compiler thread
share/compiler/compiler_globals.hpp
Tier3MinInvocationThresholdOpenJDK6intxcompiler100
range(0, max_jint)
product
Minimum invocation to compile at tier 3
share/compiler/compiler_globals.hpp
Tier4BackEdgeThresholdOpenJDK6intxcompiler40000
range(0, max_jint)
product
Back edge threshold at which tier 4 OSR compilation is invoked
share/compiler/compiler_globals.hpp
Tier4CompileThresholdOpenJDK6intxcompiler15000
range(0, max_jint)
product
Threshold at which tier 4 compilation is invoked (invocation 
minimum must be satisfied)
share/compiler/compiler_globals.hpp
Tier4InvocationThresholdOpenJDK6intxcompiler5000
range(0, max_jint)
product
Compile if number of method invocations crosses this 
threshold
share/compiler/compiler_globals.hpp
Tier4LoadFeedbackOpenJDK6intxcompiler3
range(0, max_jint)
product
Tier 4 thresholds will increase twofold when C2 queue size 
reaches this amount per compiler thread
share/compiler/compiler_globals.hpp
Tier4MinInvocationThresholdOpenJDK6intxcompiler600
range(0, max_jint)
product
Minimum invocation to compile at tier 4
share/compiler/compiler_globals.hpp
TieredCompilationOpenJDK6boolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
TieredCompilationOpenJDK6boolarmfalsedefine_pd_global
cpu/arm/c2_globals_arm.hpp
TieredCompilationOpenJDK6boolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
TieredCompilationOpenJDK6boolruntimeproduct_pd
Enable tiered compilation
share/runtime/globals.hpp
TieredCompilationOpenJDK6boolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
TieredCompilationOpenJDK6bools390COMPILER1_PRESENT(true) NOT_COMPILER1(false)define_pd_global
cpu/s390/c2_globals_s390.hpp
TieredCompilationOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
TieredCompileTaskTimeoutOpenJDK6intxcompiler50
range(0, max_intx)
product
Kill compile task if method was not used within 
given timeout in milliseconds
share/compiler/compiler_globals.hpp
TieredRateUpdateMaxTimeOpenJDK6intxcompiler25
range(0, max_intx)
product
Maximum rate sampling interval (in milliseconds)
share/compiler/compiler_globals.hpp
TieredRateUpdateMinTimeOpenJDK6intxcompiler1
range(0, max_intx)
product
Minimum rate sampling interval (in milliseconds)
share/compiler/compiler_globals.hpp
TieredStopAtLevelOpenJDK6intxcompiler4
range(0, 4)
product
Stop at given compilation level
share/compiler/compiler_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
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
TraceCompiledICOpenJDK6boolruntimefalsedevelop
Trace changes of compiled IC
share/runtime/globals.hpp
TraceCompilerThreadsOpenJDK11boolruntimefalseproduct
Trace creation and removal of compiler threads
share/runtime/globals.hpp
TraceCreateZombiesOpenJDK6boolruntimefalsedevelop
trace creation of zombie nmethods
share/runtime/globals.hpp
TraceDeoptimizationOpenJDK6boolruntimefalseproduct
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
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
TraceIterativeGVNOpenJDK6boolc2falsedevelop
Print progress during Iterative Global Value Numbering
share/opto/c2_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
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
TraceMemoryWritebackOpenJDK14boolruntimefalsedevelop
Trace memory writeback operations
share/runtime/globals.hpp
TraceMethodReplacementOpenJDK6boolruntimefalsedevelop
Print when methods are replaced do to recompilation
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 methods during oop map generation
share/runtime/globals.hpp
TraceOptimizeFillOpenJDK6boolc2falsedevelop
print detailed information about fill conversion
share/opto/c2_globals.hpp
TraceOptimizedUpcallStubsOpenJDK17boolruntimefalsedevelop
Trace optimized upcall stub generation
share/runtime/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
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
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
TraceSpillingOpenJDK6boolc2falseproduct
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
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
TraceTypeProfileOpenJDK6boolc2falseproduct
Trace type profile
share/opto/c2_globals.hpp
TrackedInitializationLimitOpenJDK6intxc250
range(0, 65535)
product
When initializing fields, track up to this many words
share/opto/c2_globals.hpp
TrapBasedICMissChecksOpenJDK7boolppctrueproduct
Raise and handle SIGTRAP if inline cache miss detected.
cpu/ppc/globals_ppc.hpp
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
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
TrapBasedRangeChecksOpenJDK7boolx86falsedefine_pd_global
// Not needed on x86.
cpu/x86/c2_globals_x86.hpp
TrustFinalNonStaticFieldsOpenJDK6boolruntimefalseproduct
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
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
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
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
UnlockDiagnosticVMOptionsOpenJDK6boolruntimetrueInDebugproduct
Enable normal processing of flags relating to field diagnostics
share/runtime/globals.hpp
UnlockExperimentalVMOptionsOpenJDK6boolruntimefalseproduct
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
Use64KPagesThresholdOpenJDK9uintxaix0develop
4K/64K page allocation threshold.
os/aix/globals_aix.hpp
Use64KPagesOpenJDK9boolaixtrueproduct
Use 64K pages if available.
os/aix/globals_aix.hpp
UseAESCTRIntrinsicsOpenJDK9boolruntimefalseproduct
Use intrinsics for the paralleled version of AES/CTR crypto
share/runtime/globals.hpp
UseAESIntrinsicsOpenJDK7boolruntimefalseproduct
Use intrinsics for AES versions of crypto
share/runtime/globals.hpp
UseAESOpenJDK7boolruntimefalseproduct
Control whether AES instructions are used when available
share/runtime/globals.hpp
UseAVXOpenJDK6intxx863
range(0, 99)
product
Highest supported AVX instructions set on x86/x64
cpu/x86/globals_x86.hpp
UseAdaptiveGenerationSizePolicyAtMajorCollectionOpenJDK6boolgctrueproduct
Use adaptive young-old sizing policies at major collections
share/gc/shared/gc_globals.hpp
UseAdaptiveGenerationSizePolicyAtMinorCollectionOpenJDK6boolgctrueproduct
Use adaptive young-old sizing policies at minor collections
share/gc/shared/gc_globals.hpp
UseAdaptiveNUMAChunkSizingOpenJDK6boolruntimetrueproduct
Enable adaptive chunk sizing for NUMA
share/runtime/globals.hpp
UseAdaptiveSizeDecayMajorGCCostOpenJDK6boolgctrueproduct
Adaptive size decays the major cost for long major intervals
share/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyFootprintGoalOpenJDK6boolgctrueproduct
Use adaptive minimum footprint as a goal
share/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyWithSystemGCOpenJDK6boolgcfalseproduct
Include statistics from System.gc() for adaptive size policy
share/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyOpenJDK6boolgctrueproduct
Use adaptive generation sizing policies
share/gc/shared/gc_globals.hpp
UseAddressNopOpenJDK6boolx86falseproduct
Use '0F 1F [addr]' NOP instructions on x86 cpus
cpu/x86/globals_x86.hpp
UseAdler32IntrinsicsOpenJDK9boolruntimefalseproduct
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
UseBimorphicInliningOpenJDK6boolc2trueproduct
Profiling based inlining for two receivers
share/opto/c2_globals.hpp
UseBlockZeroingOpenJDK6boolaarch64trueproduct
Use DC ZVA for block zeroing
cpu/aarch64/globals_aarch64.hpp
UseBootstrapCallInfoOpenJDK11intruntime1product
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
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
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
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
UseCMoveUnconditionallyOpenJDK9boolc2falseproduct
Use CMove (scalar and vector) ignoring profitability test.
share/opto/c2_globals.hpp
UseCRC32CIntrinsicsOpenJDK9boolruntimefalseproduct
use intrinsics for java.util.zip.CRC32C
share/runtime/globals.hpp
UseCRC32IntrinsicsOpenJDK8boolruntimefalseproduct
use intrinsics for java.util.zip.CRC32
share/runtime/globals.hpp
UseCRC32OpenJDK9boolaarch64falseproduct
Use CRC32 instructions for CRC32 computation
cpu/aarch64/globals_aarch64.hpp
UseCharacterCompareIntrinsicsOpenJDK11boolc2falseproduct
Enables intrinsification of java.lang.Character functions
share/opto/c2_globals.hpp
UseCodeAgingOpenJDK9Obsoleted in JDK20
Expired in JDK21
boolruntimetrueproduct
Insert counter to detect warm methods
share/runtime/globals.hpp
UseCodeCacheFlushingOpenJDK6boolruntimetrueproduct
Remove cold/old nmethods from the code cache
share/runtime/globals.hpp
UseCompilerOpenJDK6boolruntimetrueproduct
Use Just-In-Time compilation
share/runtime/globals.hpp
UseCompressedClassPointersOpenJDK8boolruntimefalseproduct
Use 32-bit class pointers in 64-bit VM. 
lp64_product means flag is always constant in 32 bit VM
share/runtime/globals.hpp
UseCompressedOopsOpenJDK6boolruntimefalseproduct
Use 32-bit object references in 64-bit VM. 
lp64_product means flag is always constant in 32 bit VM
share/runtime/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 JDK21
boollinuxfalseproduct
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
UseCopySignIntrinsicOpenJDK11boolruntimefalseproduct
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 JDK23
boolruntimetrueproduct
Adjust recompilation counters
share/runtime/globals.hpp
UseCpuAllocPathOpenJDK9boollinuxfalseproduct
Use CPU_ALLOC code path in os::active_processor_count
os/linux/globals_linux.hpp
UseCriticalCompilerThreadPriorityOpenJDK6boolruntimefalseproduct
Compiler thread(s) run at critical scheduling priority
share/runtime/globals.hpp
UseCriticalJavaThreadPriorityOpenJDK6boolruntimefalseproduct
Java thread priority 10 maps to critical scheduling priority
share/runtime/globals.hpp
UseDebuggerErgo1OpenJDK16boolruntimefalsenotproduct
Debugging Only: Enable workarounds for debugger induced 
os::processor_id() >= os::processor_count() problems
share/runtime/globals.hpp
UseDebuggerErgo2OpenJDK16boolruntimefalsenotproduct
Debugging Only: Limit the number of spawned JVM threads
share/runtime/globals.hpp
UseDebuggerErgoOpenJDK16boolruntimefalsenotproduct
Debugging Only: Adjust the VM to be more debugger-friendly. 
Turns on the other UseDebuggerErgo* flags
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
UseEmptySlotsInSupersOpenJDK15Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolruntimetrueproduct
Allow allocating fields in empty slots of super-classes
share/runtime/globals.hpp
UseEpsilonGCOpenJDK11boolgcfalseproduct
Use the Epsilon (no-op) garbage collector
share/gc/shared/gc_globals.hpp
UseExplicitCommitOpenJDK9boolaixfalseproduct
Explicit commit for virtual memory.
os/aix/globals_aix.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
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
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
UseFastUnorderedTimeStampsOpenJDK11boolruntimefalseproduct
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
UseGHASHIntrinsicsOpenJDK9boolruntimefalseproduct
Use intrinsics for GHASH versions of crypto
share/runtime/globals.hpp
UseGlobalValueNumberingOpenJDK6boolc1truedevelop
Use Global Value Numbering (separate phase)
share/c1/c1_globals.hpp
UseHeavyMonitorsOpenJDK6Deprecated in JDK18
Obsoleted in JDK19
Expired in JDK20
boolruntimefalseproduct
(Deprecated) Use heavyweight instead of lightweight Java 
monitors
share/runtime/globals.hpp
UseHugeTLBFSOpenJDK6Obsoleted in JDK22
Expired in JDK23
boollinuxfalseproduct
Use MAP_HUGETLB for large pages
os/linux/globals_linux.hpp
UseIncDecOpenJDK6boolx86trueproduct
Use INC, DEC instructions on x86
cpu/x86/globals_x86.hpp
UseInlineCachesOpenJDK6boolruntimetrueproduct
Use Inline Caches for virtual calls
share/runtime/globals.hpp
UseInlineDepthForSpeculativeTypesOpenJDK8boolc2trueproduct
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
UseJVMCICompilerOpenJDK9booljvmcifalseproduct
Use JVMCI as the default compiler. Defaults to true if 
EnableJVMCIProduct is true.
share/jvmci/jvmci_globals.hpp
UseJVMCINativeLibraryOpenJDK13booljvmcifalseproduct
Execute JVMCI Java code from a shared library 
instead of loading it from class files and executing it 
on the HotSpot heap. Defaults to true if EnableJVMCIProduct is 
true and a JVMCI native library is available.
share/jvmci/jvmci_globals.hpp
UseJumpTablesOpenJDK6boolc2trueproduct
Use JumpTables instead of a binary search tree for switches
share/opto/c2_globals.hpp
UseKNLSettingOpenJDK17boolx86falseproduct
Control whether Knights platform setting should be used
cpu/x86/globals_x86.hpp
UseLSEOpenJDK9boolaarch64falseproduct
Use LSE instructions
cpu/aarch64/globals_aarch64.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
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
UseLargePagesOpenJDK6boolwindowsfalsedefine_pd_global
os/windows/globals_windows.hpp
UseLibmIntrinsicOpenJDK9boolx86trueproduct
Use Libm Intrinsics
cpu/x86/globals_x86.hpp
UseLinuxPosixThreadCPUClocksOpenJDK6boollinuxtrueproduct
enable fast Linux Posix clocks where available
os/linux/globals_linux.hpp
UseLoadInstructionsForStackBangingPPC64OpenJDK7boolppcfalseproduct
Use load instructions for stack banging.
cpu/ppc/globals_ppc.hpp
UseLocalValueNumberingOpenJDK6boolc1truedevelop
Use Local Value Numbering (embedded in GraphBuilder)
share/c1/c1_globals.hpp
UseLoopCounterOpenJDK6boolruntimetrueproduct
Increment invocation counter on backward branch
share/runtime/globals.hpp
UseLoopInvariantCodeMotionOpenJDK8boolc1trueproduct
Simple loop invariant code motion for short loops during GVN
share/c1/c1_globals.hpp
UseLoopPredicateOpenJDK6boolc2trueproduct
Generate a predicate to select fast/slow loop versions
share/opto/c2_globals.hpp
UseMD5IntrinsicsOpenJDK15boolruntimefalseproduct
Use intrinsics for MD5 crypto hash function
share/runtime/globals.hpp
UseMallocOnlyOpenJDK6boolruntimefalsedevelop
Use only malloc/free for allocation (no resource area/arena). 
Used to help diagnose memory stomping bugs.
share/runtime/globals.hpp
UseMathExactIntrinsicsOpenJDK8boolc2trueproduct
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
UseMontgomeryMultiplyIntrinsicOpenJDK8boolc2falseproduct
Enables intrinsification of BigInteger.montgomeryMultiply()
share/opto/c2_globals.hpp
UseMontgomerySquareIntrinsicOpenJDK8boolc2falseproduct
Enables intrinsification of BigInteger.montgomerySquare()
share/opto/c2_globals.hpp
UseMulAddIntrinsicOpenJDK8boolc2falseproduct
Enables intrinsification of BigInteger.mulAdd()
share/opto/c2_globals.hpp
UseMultiplyToLenIntrinsicOpenJDK8boolc2falseproduct
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 JDK24
boolaarch64falseproduct
Use Neon for CRC32 computation
cpu/aarch64/globals_aarch64.hpp
UseNewCode2OpenJDK6boolruntimefalseproduct
Testing Only: Use the new version while testing
share/runtime/globals.hpp
UseNewCode3OpenJDK6boolruntimefalseproduct
Testing Only: Use the new version while testing
share/runtime/globals.hpp
UseNewCodeOpenJDK6boolruntimefalseproduct
Testing Only: Use the new version while testing
share/runtime/globals.hpp
UseNewLongLShiftOpenJDK6boolx86falseproduct
Use optimized bitwise shift left
cpu/x86/globals_x86.hpp
UseNotificationThreadOpenJDK14Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolruntimetrueproduct
Use Notification Thread
share/runtime/globals.hpp
UseOSErrorReportingOpenJDK6boolwindowsfalseproduct
Let VM fatal error propagate to the OS (ie. WER on Windows)
os/windows/globals_windows.hpp
UseOnStackReplacementOpenJDK6boolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
UseOnStackReplacementOpenJDK6boolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
UseOnStackReplacementOpenJDK6boolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
UseOnStackReplacementOpenJDK6boolruntimeproduct_pd
Use on stack replacement, calls runtime if invoc. counter 
overflows in loop
share/runtime/globals.hpp
UseOnStackReplacementOpenJDK6boolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
UseOnStackReplacementOpenJDK6bools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
UseOnStackReplacementOpenJDK6boolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
UseOnlyInlinedBimorphicOpenJDK6boolc2trueproduct
Don't use BimorphicInlining if can't inline a second method
share/opto/c2_globals.hpp
UseOprofileOpenJDK6Obsoleted in JDK16
Expired in JDK17
boollinuxfalseproduct
enable support for Oprofile profiler
os/linux/globals_linux.hpp
UsePSAdaptiveSurvivorSizePolicyOpenJDK6boolgctrueproduct
Use adaptive survivor sizing policies
share/gc/shared/gc_globals.hpp
UseParallelGCOpenJDK6boolgcfalseproduct
Use the Parallel 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
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
UseRTMDeoptOpenJDK8Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolppcfalseproduct
Perform deopt and recompilation based on RTM abort ratio
cpu/ppc/globals_ppc.hpp
UseRTMDeoptOpenJDK8Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolx86falseproduct
Perform deopt and recompilation based on RTM abort ratio
cpu/x86/globals_x86.hpp
UseRTMForStackLocksOpenJDK8boolppcfalseproduct
Enable RTM lock eliding for stack locks in compiled code
cpu/ppc/globals_ppc.hpp
UseRTMForStackLocksOpenJDK8boolx86falseproduct
Enable RTM lock eliding for stack locks in compiled code
cpu/x86/globals_x86.hpp
UseRTMLockingOpenJDK8Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolppcfalseproduct
Enable RTM lock eliding for inflated locks in compiled code
cpu/ppc/globals_ppc.hpp
UseRTMLockingOpenJDK8Deprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolx86falseproduct
Enable RTM lock eliding for inflated locks in compiled code
cpu/x86/globals_x86.hpp
UseRTMXendForLockBusyOpenJDK8boolppctrueproduct
Use RTM Xend instead of Xabort when lock busy
cpu/ppc/globals_ppc.hpp
UseRTMXendForLockBusyOpenJDK8boolx86trueproduct
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
UseSHA1IntrinsicsOpenJDK8boolruntimefalseproduct
Use intrinsics for SHA-1 crypto hash function. 
Requires that UseSHA is enabled.
share/runtime/globals.hpp
UseSHA256IntrinsicsOpenJDK8boolruntimefalseproduct
Use intrinsics for SHA-224 and SHA-256 crypto hash functions. 
Requires that UseSHA is enabled.
share/runtime/globals.hpp
UseSHA3IntrinsicsOpenJDK16boolruntimefalseproduct
Use intrinsics for SHA3 crypto hash function. 
Requires that UseSHA is enabled.
share/runtime/globals.hpp
UseSHA512IntrinsicsOpenJDK8boolruntimefalseproduct
Use intrinsics for SHA-384 and SHA-512 crypto hash functions. 
Requires that UseSHA is enabled.
share/runtime/globals.hpp
UseSHAOpenJDK8boolruntimefalseproduct
Control whether SHA instructions are used when available
share/runtime/globals.hpp
UseSHMOpenJDK6Obsoleted in JDK22
Expired in JDK23
boollinuxfalseproduct
Use SYSV shared memory for large pages
os/linux/globals_linux.hpp
UseSIGTRAPOpenJDK7boolppctrueproduct
Allow trap instructions that make use of SIGTRAP. Use this to 
switch off all optimizations requiring SIGTRAP.
cpu/ppc/globals_ppc.hpp
UseSIMDForArrayEqualsOpenJDK11boolaarch64trueproduct
Use SIMD instructions in generated array equals code
cpu/aarch64/globals_aarch64.hpp
UseSIMDForBigIntegerShiftIntrinsicsOpenJDK16boolaarch64trueproduct
Use SIMD instructions for left/right shift of BigInteger
cpu/aarch64/globals_aarch64.hpp
UseSIMDForMemoryOpsOpenJDK9boolaarch64falseproduct
Use SIMD instructions in generated memory move code
cpu/aarch64/globals_aarch64.hpp
UseSSE42IntrinsicsOpenJDK6boolx86falseproduct
SSE4.2 versions of intrinsics
cpu/x86/globals_x86.hpp
UseSSEOpenJDK6Obsoleted in JDK15
Expired in JDK16
intxx8699
range(0, 99)
product
Highest supported SSE instructions set on x86/x64
cpu/x86/globals_x86.hpp
UseSVEOpenJDK16uintaarch640
range(0, 2)
product
Highest supported SVE instruction set version
cpu/aarch64/globals_aarch64.hpp
UseSerialGCOpenJDK6boolgcfalseproduct
Use the Serial garbage collector
share/gc/shared/gc_globals.hpp
UseSharedSpacesOpenJDK6Deprecated in JDK18
Obsoleted in JDK19
boolruntimetrueproduct
(Deprecated) Use shared spaces for metadata
share/runtime/globals.hpp
UseShenandoahGCOpenJDK12boolgcfalseproduct
Use the Shenandoah garbage collector
share/gc/shared/gc_globals.hpp
UseSignalChainingOpenJDK6boolruntimetrueproduct
Use signal-chaining to invoke signal handlers installed 
by the application (Unix only)
share/runtime/globals.hpp
UseSignumIntrinsicOpenJDK11boolruntimefalseproduct
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
UseSquareToLenIntrinsicOpenJDK8boolc2falseproduct
Enables intrinsification of BigInteger.squareToLen()
share/opto/c2_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
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
UseSwitchProfilingOpenJDK11boolruntimetrueproduct
leverage profiling for table/lookup switch
share/runtime/globals.hpp
UseTLABOpenJDK6boolgctrueproduct
Use thread-local object allocation
share/gc/shared/tlab_globals.hpp
UseTableRangesOpenJDK6boolc1truedevelop
Faster versions of lookup table using ranges
share/c1/c1_globals.hpp
UseThreadPrioritiesOpenJDK6boolruntimeproduct_pd
Use native thread priorities
share/runtime/globals.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
UseTypeProfileOpenJDK6boolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.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
UseTypeProfileOpenJDK6boolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
UseTypeSpeculationOpenJDK8boolc2trueproduct
Speculatively propagate types from profiles
share/opto/c2_globals.hpp
UseUnalignedAccessesOpenJDK9boolruntimefalseproduct
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
UseVectorByteReverseInstructionsPPC64OpenJDK15boolppcfalseproduct
Use Power9 xxbr* vector byte reverse instructions.
cpu/ppc/globals_ppc.hpp
UseVectorCmovOpenJDK10boolc2falseproduct
Use Vectorized Cmov
share/opto/c2_globals.hpp
UseVectorMacroLogicOpenJDK15boolc2trueproduct
Use ternary macro logic instructions
share/opto/c2_globals.hpp
UseVectorStubsOpenJDK17boolc2falseproduct
Use stubs for vector transcendental operations
share/opto/c2_globals.hpp
UseVectorizedMismatchIntrinsicOpenJDK9boolruntimefalseproduct
Enables intrinsification of ArraysSupport.vectorizedMismatch()
share/runtime/globals.hpp
UseVtableBasedCHAOpenJDK17boolruntimetrueproduct
Use vtable information during CHA
share/runtime/globals.hpp
UseXMMForArrayCopyOpenJDK6boolruntimefalseproduct
Use SSE2 MOVQ instruction for Arraycopy
share/runtime/globals.hpp
UseXMMForObjInitOpenJDK11boolx86falseproduct
Use XMM/YMM MOVDQU instruction for Object Initialization
cpu/x86/globals_x86.hpp
UseXmmI2DOpenJDK6boolx86falseproduct
Use SSE2 CVTDQ2PD instruction to convert Integer to Double
cpu/x86/globals_x86.hpp
UseXmmI2FOpenJDK6boolx86falseproduct
Use SSE2 CVTDQ2PS instruction to convert Integer to Float
cpu/x86/globals_x86.hpp
UseXmmLoadAndClearUpperOpenJDK6boolx86trueproduct
Load low part of XMM register and clear upper part
cpu/x86/globals_x86.hpp
UseXmmRegToRegMoveAllOpenJDK6boolx86falseproduct
Copy all XMM register bits when moving value between registers
cpu/x86/globals_x86.hpp
UseZGCOpenJDK11boolgcfalseproduct
Use the Z garbage collector
share/gc/shared/gc_globals.hpp
VMThreadPriorityOpenJDK6intxruntime-1
range(-1, 127)
product
The native priority at which the VM thread should run 
(-1 means no change)
share/runtime/globals.hpp
VMThreadStackSizeOpenJDK6intxaixppc2048define_pd_global
os_cpu/aix_ppc/globals_aix_ppc.hpp
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
VMThreadStackSizeOpenJDK6intxlinuxaarch642048define_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
VMThreadStackSizeOpenJDK6intxlinuxarm512define_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
VMThreadStackSizeOpenJDK6intxlinuxppc2048define_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
VMThreadStackSizeOpenJDK6intxlinuxs3901024define_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
VMThreadStackSizeOpenJDK6intxlinuxx86512define_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
VMThreadStackSizeOpenJDK6intxlinuxzero512define_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
VMThreadStackSizeOpenJDK6intxruntimeproduct_pd
Non-Java Thread Stack Size (in Kbytes)
share/runtime/globals.hpp
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
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
VerifyAdapterCallsOpenJDK7boolruntimetrueInDebugproduct
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
VerifyAfterGCOpenJDK6boolgcfalseproduct
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
VerifyArchivedFieldsOpenJDK16intgc0
range(0, 2)
product
Verify memory when archived oop fields are loaded from CDS; 

0: No check; 

1: Basic verification with VM_Verify (no side effects); 

2: Detailed verification by forcing a GC (with side effects)
share/gc/shared/gc_globals.hpp
VerifyBeforeExitOpenJDK6boolgctrueInDebugproduct
Verify system before exiting
share/gc/shared/gc_globals.hpp
VerifyBeforeGCOpenJDK6boolgcfalseproduct
Verify memory system before GC
share/gc/shared/gc_globals.hpp
VerifyBeforeIterationOpenJDK6boolruntimefalseproduct
Verify memory system before JVMTI iteration
share/runtime/globals.hpp
VerifyCodeCacheOpenJDK9boolruntimefalsenotproduct
Verify code cache on memory allocation/deallocation
share/runtime/globals.hpp
VerifyConnectionGraphOpenJDK7boolc2truenotproduct
Verify Connection Graph construction in Escape Analysis
share/opto/c2_globals.hpp
VerifyCrossModifyFenceOpenJDK16boolruntimefalse AARCH64_ONLY(DEBUG_ONLY(||true))develop
Mark all threads after a safepoint, and clear on a modify 
fence. Add cleanliness checks.
share/runtime/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
VerifyDuringGCOpenJDK6boolgcfalseproduct
Verify memory system during GC (between phases)
share/gc/shared/gc_globals.hpp
VerifyDuringStartupOpenJDK7boolgcfalseproduct
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)
product
Generation level at which to start +VerifyBefore/AfterGC
share/gc/shared/gc_globals.hpp
VerifyGCStartAtOpenJDK6uintxgc0
range(0, max_uintx)
product
GC invoke count where +VerifyBefore/AfterGC kicks in
share/gc/shared/gc_globals.hpp
VerifyGCTypeOpenJDK10ccstrlistgc
product
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
VerifyHeavyMonitorsOpenJDK18boolruntimefalsedevelop
Checks that no stack locking happens when using 
+UseHeavyMonitors
share/runtime/globals.hpp
VerifyIdealNodeCountOpenJDK7boolc2falsenotproduct
Verify that tracked dead ideal node count is accurate
share/opto/c2_globals.hpp
VerifyIterativeGVNOpenJDK6boolc2falsedevelop
Verify Def-Use modifications during sparse Iterative Global 
Value Numbering
share/opto/c2_globals.hpp
VerifyJNIEnvThreadOpenJDK6boolruntimefalsenotproduct
Verify JNIEnv.thread == Thread::current() when entering VM 
from JNI
share/runtime/globals.hpp
VerifyJNIFieldsOpenJDK6boolruntimetrueInDebugdevelop
Verify jfieldIDs for instance fields
share/runtime/globals.hpp
VerifyLastFrameOpenJDK6boolruntimefalsenotproduct
Verify oops on last frame on entry to VM
share/runtime/globals.hpp
VerifyLoopOptimizationsOpenJDK6boolc2falsenotproduct
verify major loop optimizations
share/opto/c2_globals.hpp
VerifyMetaspaceIntervalOpenJDK13intruntimeDEBUG_ONLY(500) NOT_DEBUG(0)develop
Run periodic metaspace verifications (0 - none, 

1 - always, >1 every nth interval)
share/runtime/globals.hpp
VerifyMethodHandlesOpenJDK6boolruntimetrueInDebugproduct
perform extra checks when constructing method handles
share/runtime/globals.hpp
VerifyObjectStartArrayOpenJDK6boolgctrueproduct
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
VerifyReceiverTypesOpenJDK17boolc2trueInDebugproduct
Verify receiver types at runtime
share/opto/c2_globals.hpp
VerifyRegisterAllocatorOpenJDK6boolc2falsenotproduct
Verify Register Allocator
share/opto/c2_globals.hpp
VerifyRememberedSetsOpenJDK6boolgcfalseproduct
Verify GC remembered sets
share/gc/shared/gc_globals.hpp
VerifySharedSpacesOpenJDK8boolruntimefalseproduct
Verify integrity of shared spaces
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
VerifyStringTableAtExitOpenJDK8boolruntimefalseproduct
verify StringTable contents at exit
share/runtime/globals.hpp
VerifySubSetOpenJDK8ccstrlistgc
product
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, resolved_method_table, stringdedup
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
WhiteBoxAPIOpenJDK7boolruntimefalseproduct
Enable internal testing APIs
share/runtime/globals.hpp
WizardModeOpenJDK6boolruntimefalsedevelop
Print much more debugging information
share/runtime/globals.hpp
WorkStealingHardSpinsOpenJDK6uintxgc4096product
Number of iterations in a spin loop between checks on 
time out of hard spin
share/gc/shared/gc_globals.hpp
WorkStealingSleepMillisOpenJDK6uintxgc1product
Sleep time when sleep is used for yields
share/gc/shared/gc_globals.hpp
WorkStealingSpinToYieldRatioOpenJDK6uintxgc10product
Ratio of hard spins to calls to yield
share/gc/shared/gc_globals.hpp
WorkStealingYieldsBeforeSleepOpenJDK6uintxgc5000product
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/tlab_globals.hpp
ZAllocationSpikeToleranceOpenJDK11doublegc2.0product
Allocation spike tolerance factor
share/gc/z/z_globals.hpp
ZCollectionIntervalOpenJDK11doublegc0product
Force GC at a fixed time interval (in seconds)
share/gc/z/z_globals.hpp
ZFragmentationLimitOpenJDK11doublegc25.0product
Maximum allowed heap fragmentation
share/gc/z/z_globals.hpp
ZMarkStackSpaceLimitOpenJDK12size_tgc8*G
range(32*M, 1024*G)
product
Maximum number of bytes allocated for mark stacks
share/gc/z/z_globals.hpp
ZProactiveOpenJDK11boolgctrueproduct
Enable proactive GC cycles
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
ZStressRelocateInPlaceOpenJDK16boolgcfalseproduct
Always relocate pages in-place
share/gc/z/z_globals.hpp
ZUncommitDelayOpenJDK13uintxgc5 * 60product
Uncommit memory if it has been unused for the specified 
amount of time (in seconds)
share/gc/z/z_globals.hpp
ZUncommitOpenJDK13boolgctrueproduct
Uncommit unused memory
share/gc/z/z_globals.hpp
ZVerifyForwardingOpenJDK11boolgcfalseproduct
Verify forwarding tables
share/gc/z/z_globals.hpp
ZVerifyMarkingOpenJDK11boolgctrueInDebugproduct
Verify marking stacks
share/gc/z/z_globals.hpp
ZVerifyObjectsOpenJDK13boolgcfalseproduct
Verify objects
share/gc/z/z_globals.hpp
ZVerifyRootsOpenJDK13boolgctrueInDebugproduct
Verify roots
share/gc/z/z_globals.hpp
ZVerifyViewsOpenJDK13boolgcfalseproduct
Verify heap view accesses
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
ZapMemoryOpenJDK7boolppcfalsedevelop
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/tlab_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
launcher.properties
bootclasspath/aOpenJDK6<dirs/jars>
append to end of bootstrap class path
launcher.properties
check:jniOpenJDK6
perform additional checks for JNI functions
launcher.properties
compOpenJDK13
forces compilation of methods on first invocation
launcher.properties
debugOpenJDK13
does nothing. Provided for backward compatibility.
launcher.properties
diagOpenJDK13
show additional diagnostic messages
launcher.properties
futureOpenJDK6
enable strictest checks, anticipating future default.
This option is deprecated and may be removed in a
future release.
launcher.properties
hashCodeOpenJDK6intxruntime5product
(Unstable) select hashCode generation algorithm
share/runtime/globals.hpp
intOpenJDK6
interpreted mode execution only
launcher.properties
internalversionOpenJDK13
displays more detailed JVM version information than the
-version option
launcher.properties
logOpenJDK9<opts>
Configure or enable logging with the Java Virtual
Machine (JVM) unified logging framework. Use -Xlog:help
for details.
launcher.properties
loggcOpenJDK6<file>
log GC status to a file with time stamps.
This option is deprecated and may be removed in a
future release. It is replaced by -Xlog:gc:.
launcher.properties
mixedOpenJDK6
mixed mode execution (default)
launcher.properties
mnOpenJDK13<size>
sets the initial and maximum size (in bytes) of the heap
for the young generation (nursery)
launcher.properties
msOpenJDK6<size>
set initial Java heap size
launcher.properties
mxOpenJDK6<size>
set maximum Java heap size
launcher.properties
noclassgcOpenJDK6
disable class garbage collection
launcher.properties
rsOpenJDK6
reduce use of OS signals by Java/VM (see documentation)
launcher.properties
share:autoOpenJDK6
use shared class data if possible (default)
launcher.properties
share:offOpenJDK6
do not attempt to use shared class data
launcher.properties
share:onOpenJDK6
require using shared class data, otherwise fail.
This is a testing option and may lead to intermittent
failures. It should not be used in production environments.
launcher.properties
showSettings:allOpenJDK13
show all settings and continue
launcher.properties
showSettings:localeOpenJDK13
show all locale related settings and continue
launcher.properties
showSettings:propertiesOpenJDK13
show all property settings and continue
launcher.properties
showSettings:systemOpenJDK13
(Linux Only) show host system or container
configuration and continue
launcher.properties
showSettings:vmOpenJDK13
show all vm related settings and continue
launcher.properties
showSettingsOpenJDK13
show all settings and continue
launcher.properties
ssOpenJDK6<size>
set java thread stack size
launcher.properties
verifyOpenJDK13
sets the mode of the bytecode verifier
Note that option -Xverify:none is deprecated and
may be removed in a future release.
launcher.properties