VM Options Explorer - Corretto JDK21


NameSinceDeprecatedTypeOSCPUComponentDefaultAvailabilityDescriptionDefined in
SinceDeprecatedTypeOSCPUComponentAvailability
AVX3Thresholdintx864096
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
AbortVMOnCompilationFailureboolcompilerfalseproduct
Abort VM when method had failed to compile.
share/compiler/compiler_globals.hpp
AbortVMOnExceptionMessageccstrruntimenullptrproduct
Call fatal if the exception pointed by AbortVMOnException 
has this message
share/runtime/globals.hpp
AbortVMOnExceptionccstrruntimenullptrproduct
Call fatal if this exception is thrown. Example: 
java -XX:AbortVMOnException=java.lang.NullPointerException Foo
share/runtime/globals.hpp
AbortVMOnSafepointTimeoutboolruntimefalseproduct
Abort upon failure to reach safepoint (see SafepointTimeout)
share/runtime/globals.hpp
AbortVMOnVMOperationTimeoutDelayintxruntime1000
range(0, max_intx)
product
Delay in milliseconds for option AbortVMOnVMOperationTimeout
share/runtime/globals.hpp
AbortVMOnVMOperationTimeoutboolruntimefalseproduct
Abort upon failure to complete VM operation promptly
share/runtime/globals.hpp
ActiveProcessorCountintgc-1product
Specify the CPU count the VM should use and report as active
share/gc/shared/gc_globals.hpp
AdaptiveSizeDecrementScaleFactoruintxgc4
range(1, max_uintx)
product
Adaptive size scale down factor for shrinking
share/gc/shared/gc_globals.hpp
AdaptiveSizeMajorGCDecayTimeScaleuintxgc10
range(0, max_uintx)
product
Time scale over which major costs decay
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyCollectionCostMarginObsoleted 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
AdaptiveSizePolicyInitializingStepsuintxgc20
range(0, max_uintx)
product
Number of steps where heuristics is used before data is used
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyOutputIntervaluintxgc0
range(0, max_uintx)
product
Collection interval for printing information; zero means never
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyReadyThresholduintxgc5develop
Number of collections before the adaptive sizing is started
share/gc/shared/gc_globals.hpp
AdaptiveSizePolicyWeightuintxgc10
range(0, 100)
product
Weight given to exponential resizing, between 0 and 100
share/gc/shared/gc_globals.hpp
AdaptiveSizeThroughPutPolicyuintxgc0
range(0, 1)
product
Policy for changing generation size for throughput goals
share/gc/shared/gc_globals.hpp
AdaptiveTimeWeightuintxgc25
range(0, 100)
product
Weight given to time in adaptive policy, between 0 and 100
share/gc/shared/gc_globals.hpp
AdjustStackSizeForTLSboollinuxfalseproduct
Increase the thread stack size to include space for glibc 
static thread-local storage (TLS) if true
os/linux/globals_linux.hpp
AggressiveHeapboolgcfalseproduct
Optimize heap options for long-running memory intensive apps
share/gc/shared/gc_globals.hpp
AggressiveUnboxingboolc2trueproduct
Control optimizations for aggressive boxing elimination
share/opto/c2_globals.hpp
AlignVectorboolc2trueproduct
Perform vector store/load alignment in loop
share/opto/c2_globals.hpp
AllocateHeapAtccstrruntimenullptrproduct
Path to the directory where a temporary file will be created 
to use as the backing store for Java Heap.
share/runtime/globals.hpp
AllocateInstancePrefetchLinesintxruntime1
range(1, 64)
product
Number of lines to prefetch ahead of instance allocation 
pointer
share/runtime/globals.hpp
AllocatePrefetchDistanceintxruntime-1product
Distance to prefetch ahead of allocation pointer. 
-1: use system-specific value (automatically determined
share/runtime/globals.hpp
AllocatePrefetchInstrintxruntime0product
Select instruction to prefetch ahead of allocation pointer
share/runtime/globals.hpp
AllocatePrefetchLinesintxruntime3
range(1, 64)
product
Number of lines to prefetch ahead of array allocation pointer
share/runtime/globals.hpp
AllocatePrefetchStepSizeintxruntime16
range(1, 512)
product
Step size in bytes of sequential prefetch instructions
share/runtime/globals.hpp
AllocatePrefetchStyleintxruntime1
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
AllowArchivingWithJavaAgentboolcdsfalseproduct
Allow Java agent to be run with CDS dumping
share/cds/cds_globals.hpp
AllowExtshmboolaixfalseproduct
Allow VM to run with EXTSHM=ON.
os/aix/globals_aix.hpp
AllowParallelDefineClassboolruntimefalseproduct
Allow parallel defineClass requests for class loaders 
registering as parallel capable
share/runtime/globals.hpp
AllowRedefinitionToAddDeleteMethodsDeprecated in JDK13boolruntimefalseproduct
(Deprecated) Allow redefinition to add and delete private 
static or final methods for compatibility with old releases
share/runtime/globals.hpp
AllowUserSignalHandlersboolruntimefalseproduct
Application will install primary signal handlers for the JVM 
(Unix only)
share/runtime/globals.hpp
AllowVectorizeOnDemandboolc2trueproduct
Globally suppress vectorization set in VectorizeMethod
share/opto/c2_globals.hpp
AlwaysActAsServerClassMachineboolgcfalseproduct
Always act like a server-class machine
share/gc/shared/gc_globals.hpp
AlwaysAtomicAccessesboolruntimefalseproduct
Accesses to all variables should always be atomic
share/runtime/globals.hpp
AlwaysCompileLoopMethodsboolruntimefalseproduct
When using recompilation, never interpret methods 
containing loops
share/runtime/globals.hpp
AlwaysIncrementalInlineboolc2falsedevelop
do all inlining incrementally
share/opto/c2_globals.hpp
AlwaysPreTouchStacksboolgcfalseproduct
Force java thread stacks to be fully pre-touched
share/gc/shared/gc_globals.hpp
AlwaysPreTouchboolgcfalseproduct
Force all freshly committed pages to be pre-touched
share/gc/shared/gc_globals.hpp
AlwaysRestoreFPUboolruntimefalseproduct
Restore the FPU control word after every JNI call (expensive)
share/runtime/globals.hpp
AlwaysSafeConstructorsboolruntimefalseproduct
Force safe construction, as if all fields are final.
share/runtime/globals.hpp
AlwaysTenureboolgcfalseproduct
Always tenure objects in eden (ParallelGC only)
share/gc/shared/gc_globals.hpp
ArchiveClassesAtExitccstrcdsnullptrproduct
The path and name of the dynamic archive file
share/cds/cds_globals.hpp
ArchiveHeapTestClassccstrcdsnullptrdevelop
For JVM internal testing only. The static field named 
'archivedObjects' of the specified class is stored in the 
CDS archive heap
share/cds/cds_globals.hpp
ArchiveRelocationModeintcds1
range(0, 2)
product
(0) first map at preferred address, and if 
unsuccessful, map at alternative address; 
(1) always map at alternative address (default); 
(2) always map at preferred address, and if unsuccessful, 
do not map the archive
share/cds/cds_globals.hpp
ArrayAllocatorMallocLimitsize_truntimeSIZE_MAXproduct
Allocation less than this value will be allocated 
using malloc. Larger allocations will use mmap.
share/runtime/globals.hpp
ArrayCopyLoadStoreMaxElemintxc28
range(0, max_intx)
product
Maximum number of arraycopy elements inlined as a sequence of
loads/stores
share/opto/c2_globals.hpp
ArrayOperationPartialInlineSizeintxc20
range(0, 256)
product
Partial inline size used for small array operations
(e.g. copy,cmp) acceleration.
share/opto/c2_globals.hpp
AssertRangeCheckEliminationboolc1falsedevelop
Assert Range Check Elimination
share/c1/c1_globals.hpp
AsyncDeflationIntervalintxruntime250
range(0, max_jint)
product
Async deflate idle monitors every so many milliseconds when 
MonitorUsedDeflationThreshold is exceeded (0 is off).
share/runtime/globals.hpp
AsyncLogBufferSizesize_truntime2*M
range(100*K, 50*M)
product
Memory budget (in bytes) for the buffer of Asynchronous 
Logging (-Xlog:async).
share/runtime/globals.hpp
AutoBoxCacheMaxintxc2128
range(0, max_jint)
product
Sets max value cached by the java.lang.Integer autobox cache
share/opto/c2_globals.hpp
AutoCreateSharedArchiveboolcdsfalseproduct
Create shared archive at exit if cds mapping failed
share/cds/cds_globals.hpp
AvgMonitorsPerThreadEstimatesize_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
AvoidUnalignedAccessesboolaarch64falseproduct
Avoid generating unaligned memory accesses
cpu/aarch64/globals_aarch64.hpp
AvoidUnalignedAccessesboolriscvtrueproduct
Avoid generating unaligned memory accesses
cpu/riscv/globals_riscv.hpp
BCEATraceLevelintxcompiler0
range(0, 3)
product
How much tracing to do of bytecode escape analysis estimates 
(0-3)
share/compiler/compiler_globals.hpp
BackgroundCompilationboolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
BackgroundCompilationboolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
BackgroundCompilationboolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
BackgroundCompilationboolruntimeproduct_pd
A thread requesting compilation is not blocked during 
compilation
share/runtime/globals.hpp
BackgroundCompilationboolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
BackgroundCompilationboolriscvtruedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
BackgroundCompilationbools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
BackgroundCompilationboolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
BailoutAfterHIRboolc1falsedevelop
bailout of compilation after building of HIR
share/c1/c1_globals.hpp
BailoutAfterLIRboolc1falsedevelop
bailout of compilation after building of LIR
share/c1/c1_globals.hpp
BailoutOnExceptionHandlersboolc1falsedevelop
bailout of compilation for methods with exception handlers
share/c1/c1_globals.hpp
BailoutToInterpreterForThrowsboolc2falsedevelop
Compiled methods which throws/catches exceptions will be 
deopt and intp.
share/opto/c2_globals.hpp
BaseFootPrintEstimatesize_tgc256*M
range(0, max_uintx)
product
Estimate of footprint other than Java Heap
share/gc/shared/gc_globals.hpp
BciProfileWidthintxruntime2develop
Number of return bci's to record in ret profile
share/runtime/globals.hpp
BinarySwitchThresholdintxruntime5develop
Minimal number of lookupswitch entries for rewriting to binary 
switch
share/runtime/globals.hpp
BlockLayoutByFrequencyboolc2trueproduct
Use edge frequencies to drive block ordering
share/opto/c2_globals.hpp
BlockLayoutMinDiamondPercentageintxc220
range(0, 100)
product
Minimum %% of a successor (predecessor) for which block 
layout a will allow a fork (join) in a single chain
share/opto/c2_globals.hpp
BlockLayoutRotateLoopsboolc2trueproduct
Allow back branches to be fall throughs in the block layout
share/opto/c2_globals.hpp
BlockZeroingLowLimitintxaarch64256
range(wordSize, max_jint)
product
Minimum size in bytes when block zeroing will be used
cpu/aarch64/globals_aarch64.hpp
BlockZeroingLowLimitintxriscv256
range(1, max_jint)
product
Minimum size in bytes when block zeroing will be used
cpu/riscv/globals_riscv.hpp
BootstrapJVMCIbooljvmcifalseproduct
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
BreakAtNodeuint64_tc20notproduct
Break at construction of this Node (either _idx or _debug_idx)
share/opto/c2_globals.hpp
BytecodeVerificationLocalboolruntimefalseproduct
Enable the Java bytecode verifier for local classes
share/runtime/globals.hpp
BytecodeVerificationRemoteboolruntimetrueproduct
Enable the Java bytecode verifier for remote classes
share/runtime/globals.hpp
C1Breakpointboolc1falsedevelop
Sets a breakpoint at entry of each compiled method
share/c1/c1_globals.hpp
C1InlineStackLimitintxc110
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
C1MaxInlineLevelintxc19
range(0, max_jint)
product
The maximum number of nested calls that are inlined by C1
share/c1/c1_globals.hpp
C1MaxInlineSizeintxc135
range(0, max_jint)
product
The maximum bytecode size of a method to be inlined by C1
share/c1/c1_globals.hpp
C1MaxRecursiveInlineLevelintxc11
range(0, max_jint)
product
maximum number of nested recursive calls that are inlined by C1
share/c1/c1_globals.hpp
C1MaxTrivialSizeintxc16
range(0, max_jint)
product
The maximum bytecode size of a trivial method to be inlined by 
C1
share/c1/c1_globals.hpp
C1OptimizeVirtualCallProfilingboolc1trueproduct
Use CHA and exact type results at call sites when updating MDOs
share/c1/c1_globals.hpp
C1ProfileBranchesboolc1trueproduct
Profile branches when generating code for updating MDOs
share/c1/c1_globals.hpp
C1ProfileCallsboolc1trueproduct
Profile calls when generating code for updating MDOs
share/c1/c1_globals.hpp
C1ProfileCheckcastsboolc1trueproduct
Profile checkcasts when generating code for updating MDOs
share/c1/c1_globals.hpp
C1ProfileInlinedCallsboolc1trueproduct
Profile inlined calls when generating code for updating MDOs
share/c1/c1_globals.hpp
C1ProfileVirtualCallsboolc1trueproduct
Profile virtual calls when generating code for updating MDOs
share/c1/c1_globals.hpp
C1UpdateMethodDataboolc1trueproduct
Update MethodData*s in Tier 3 C1 generated code
share/c1/c1_globals.hpp
CIBreakAtOSRintxcompiler-1develop
The id of osr compilation to break at
share/compiler/compiler_globals.hpp
CIBreakAtintxcompiler-1develop
The id of compilation to break at
share/compiler/compiler_globals.hpp
CICompileNativesboolcompilertruedevelop
compile native methods if supported by the compiler
share/compiler/compiler_globals.hpp
CICompileOSRboolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CICompileOSRboolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
CICompileOSRboolcompilerdevelop_pd
compile on stack replacement methods if supported by the 
compiler
share/compiler/compiler_globals.hpp
CICompileOSRboolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
CICompileOSRboolriscvtruedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
CICompileOSRbools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
CICompileOSRboolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
CICompilerCountPerCPUboolcompilerfalseproduct
1 compiler thread for log(N CPUs)
share/compiler/compiler_globals.hpp
CICompilerCountintxruntimeCI_COMPILER_COUNT
range(0, max_jint)
product
Number of compiler threads to run
share/runtime/globals.hpp
CICountNativeboolcompilerfalsedevelop
use a separate counter when assigning ids to native 
compilations
share/compiler/compiler_globals.hpp
CICountOSRboolcompilerfalsedevelop
use a separate counter when assigning ids to osr compilations
share/compiler/compiler_globals.hpp
CICrashAtintxcompiler-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
CIObjectFactoryVerifyboolcompilerfalsenotproduct
enable potentially expensive verification in ciObjectFactory
share/compiler/compiler_globals.hpp
CIPrintCompileQueueboolcompilerfalseproduct
display the contents of the compile queue whenever a 
compilation is enqueued
share/compiler/compiler_globals.hpp
CIPrintCompilerNameboolcompilerfalseproduct
when CIPrint is active, print the name of the active compiler
share/compiler/compiler_globals.hpp
CIPrintMethodCodesboolcompilerfalsedevelop
print method bytecodes of the compiled code
share/compiler/compiler_globals.hpp
CIPrintRequestsboolcompilerfalsedevelop
display every request for compilation
share/compiler/compiler_globals.hpp
CIPrintTypeFlowboolcompilerfalsedevelop
print the results of ciTypeFlow analysis
share/compiler/compiler_globals.hpp
CIStartOSRintxcompiler0develop
The id of the first osr compilation to permit 
(CICountOSR must be on)
share/compiler/compiler_globals.hpp
CIStartintxcompiler0develop
The id of the first compilation to permit
share/compiler/compiler_globals.hpp
CIStopOSRintxcompilermax_jintdevelop
The id of the last osr compilation to permit 
(CICountOSR must be on)
share/compiler/compiler_globals.hpp
CIStopintxcompilermax_jintdevelop
The id of the last compilation to permit
share/compiler/compiler_globals.hpp
CITimeEachboolcompilerfalsedevelop
display timing information after each successful compilation
share/compiler/compiler_globals.hpp
CITimeVerboseboolcompilerfalsedevelop
be more verbose in compilation timings
share/compiler/compiler_globals.hpp
CITimeboolcompilerfalseproduct
collect timing information for compilation
share/compiler/compiler_globals.hpp
CITraceTypeFlowboolcompilerfalsedevelop
detailed per-bytecode tracing of ciTypeFlow analysis
share/compiler/compiler_globals.hpp
CSEArrayLengthboolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CSEArrayLengthboolarmtruedefine_pd_global
cpu/arm/c1_globals_arm.hpp
CSEArrayLengthboolc1develop_pd
Create separate nodes for length in array accesses
share/c1/c1_globals.hpp
CSEArrayLengthboolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
CSEArrayLengthboolriscvfalsedefine_pd_global
cpu/riscv/c1_globals_riscv.hpp
CSEArrayLengthbools390truedefine_pd_global
cpu/s390/c1_globals_s390.hpp
CSEArrayLengthboolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
CacheLineSizeintxriscvDEFAULT_CACHE_LINE_SIZE
range(wordSize, max_jint)
product
Size in bytes of a CPU cache line
cpu/riscv/globals_riscv.hpp
CanonicalizeNodesboolc1truedevelop
Canonicalize graph nodes
share/c1/c1_globals.hpp
CheckCompressedOopsboolruntimetruenotproduct
Generate checks in encoding/decoding code in debug VM
share/runtime/globals.hpp
CheckIntrinsicsboolruntimetrueproduct
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
CheckJNICallsboolruntimefalseproduct
Verify all arguments to JNI calls
share/runtime/globals.hpp
CheckUnhandledOopsboolruntimefalsedevelop
Check for unhandled oops in VM code
share/runtime/globals.hpp
CheckZapUnusedHeapAreaboolruntimefalsedevelop
Check zapping of unused heap space
share/runtime/globals.hpp
ClassUnloadingWithConcurrentMarkboolruntimetrueproduct
Do unloading of classes with a concurrent marking cycle
share/runtime/globals.hpp
ClassUnloadingboolruntimetrueproduct
Do unloading of classes
share/runtime/globals.hpp
ClipInliningboolruntimetrueproduct
Clip inlining if aggregate method exceeds DesiredMethodLimit
share/runtime/globals.hpp
CodeCacheExpansionSizeintxaarch6432*Kdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CodeCacheExpansionSizesize_tarm32*Kdefine_pd_global
cpu/arm/c1_globals_arm.hpp
CodeCacheExpansionSizeuintxcompiler32*Kdefine_pd_global
share/compiler/compiler_globals_pd.hpp
CodeCacheExpansionSizeuintxruntimeproduct_pd
Code cache expansion size (in bytes)
share/runtime/globals.hpp
CodeCacheExpansionSizeuintxppc32*Kdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
CodeCacheExpansionSizeintxriscv64*Kdefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
CodeCacheExpansionSizeuintxs39064*Kdefine_pd_global
cpu/s390/c2_globals_s390.hpp
CodeCacheExpansionSizeuintxx8632*Kdefine_pd_global
cpu/x86/c1_globals_x86.hpp
CodeCacheMinBlockLengthuintxaarch641define_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinBlockLengthuintxarm1define_pd_global
cpu/arm/c1_globals_arm.hpp
CodeCacheMinBlockLengthuintxcompiler1define_pd_global
share/compiler/compiler_globals_pd.hpp
CodeCacheMinBlockLengthuintxruntimeproduct_pd
Minimum number of segments in a code cache block
share/runtime/globals.hpp
CodeCacheMinBlockLengthuintxppc1define_pd_global
cpu/ppc/c1_globals_ppc.hpp
CodeCacheMinBlockLengthuintxriscv6define_pd_global
cpu/riscv/c2_globals_riscv.hpp
CodeCacheMinBlockLengthuintxs3904define_pd_global
cpu/s390/c2_globals_s390.hpp
CodeCacheMinBlockLengthuintxx861define_pd_global
cpu/x86/c1_globals_x86.hpp
CodeCacheMinimumUseSpaceuintxaarch64400*Kdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinimumUseSpacesize_tarm400*Kdefine_pd_global
cpu/arm/c1_globals_arm.hpp
CodeCacheMinimumUseSpaceuintxcompiler200*Kdefine_pd_global
share/compiler/compiler_globals_pd.hpp
CodeCacheMinimumUseSpaceuintxruntimedevelop_pd
Minimum code cache size (in bytes) required to start VM.
share/runtime/globals.hpp
CodeCacheMinimumUseSpaceuintxppc400*Kdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
CodeCacheMinimumUseSpaceuintxriscv400*Kdefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
CodeCacheMinimumUseSpaceuintxs390400*Kdefine_pd_global
cpu/s390/c2_globals_s390.hpp
CodeCacheMinimumUseSpaceuintxx86400*Kdefine_pd_global
cpu/x86/c1_globals_x86.hpp
CodeCacheSegmentSizeuintxaarch6464 COMPILER1_AND_COMPILER2_PRESENT(+64)define_pd_global
// Tiered compilation has large code-entry alignment.
cpu/aarch64/globals_aarch64.hpp
CodeCacheSegmentSizeuintxarm64 COMPILER1_AND_COMPILER2_PRESENT(+64)define_pd_global
// Tiered compilation has large code-entry alignment.
cpu/arm/globals_arm.hpp
CodeCacheSegmentSizeuintxruntimeproduct_pd
Code cache segment size (in bytes) - smallest unit of 
allocation
share/runtime/globals.hpp
CodeCacheSegmentSizeuintxppc128define_pd_global
cpu/ppc/globals_ppc.hpp
CodeCacheSegmentSizeuintxriscv64 COMPILER1_AND_COMPILER2_PRESENT(+64)define_pd_global
// Tiered compilation has large code-entry alignment.
cpu/riscv/globals_riscv.hpp
CodeCacheSegmentSizeuintxs390256define_pd_global
cpu/s390/globals_s390.hpp
CodeCacheSegmentSizeuintxx8664 COMPILER1_AND_COMPILER2_PRESENT(+64)define_pd_global
// Tiered compilation has large code-entry alignment.
cpu/x86/globals_x86.hpp
CodeCacheSegmentSizeuintxzero64 COMPILER1_AND_COMPILER2_PRESENT(+64)define_pd_global
// Tiered compilation has large code-entry alignment.
cpu/zero/globals_zero.hpp
CodeEntryAlignmentintxaarch6464define_pd_global
cpu/aarch64/globals_aarch64.hpp
CodeEntryAlignmentintxarm16define_pd_global
cpu/arm/globals_arm.hpp
CodeEntryAlignmentintxruntimeproduct_pd
Code entry alignment for generated code (in bytes)
share/runtime/globals.hpp
CodeEntryAlignmentintxppc128define_pd_global
cpu/ppc/globals_ppc.hpp
CodeEntryAlignmentintxriscv64define_pd_global
cpu/riscv/globals_riscv.hpp
CodeEntryAlignmentintxs39064define_pd_global
cpu/s390/globals_s390.hpp
CodeEntryAlignmentintxx8616define_pd_global
cpu/x86/globals_x86.hpp
CodeEntryAlignmentintxzero32define_pd_global
cpu/zero/globals_zero.hpp
CollectIndexSetStatisticsboolruntimefalsenotproduct
Collect information about IndexSets
share/runtime/globals.hpp
CommentedAssemblyboolc1trueInDebugdevelop
Show extra info in PrintNMethods output
share/c1/c1_globals.hpp
CompactStringsboolaarch64truedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
CompactStringsboolarmfalsedefine_pd_global
cpu/arm/globals_arm.hpp
CompactStringsboolruntimeproduct_pd
Enable Strings to use single byte chars in backing store
share/runtime/globals.hpp
CompactStringsboolppctruedefine_pd_global
cpu/ppc/globals_ppc.hpp
CompactStringsboolriscvtruedefine_pd_global
cpu/riscv/globals_riscv.hpp
CompactStringsbools390truedefine_pd_global
cpu/s390/globals_s390.hpp
CompactStringsboolx86truedefine_pd_global
cpu/x86/globals_x86.hpp
CompactStringsboolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
CompilationModeccstrcompilerdefaultproduct
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
CompileCommandFileccstrcompilernullptrproduct
Read compiler commands from this file [.hotspot_compiler]
share/compiler/compiler_globals.hpp
CompileCommandccstrlistcompiler
product
Prepend to .hotspot_compiler; e.g. log,java/lang/String.
share/compiler/compiler_globals.hpp
CompileOnlyccstrlistcompiler
product
List of methods (pkg/class.name) to restrict compilation to
share/compiler/compiler_globals.hpp
CompileThresholdScalingdoublecompiler1.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
CompileThresholdintxaarch641500define_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
CompileThresholdintxarm10000define_pd_global
cpu/arm/c2_globals_arm.hpp
CompileThresholdintxcompiler0define_pd_global
share/compiler/compiler_globals_pd.hpp
CompileThresholdintxruntimeproduct_pd
number of interpreted method invocations before (re-)compiling
share/runtime/globals.hpp
CompileThresholdintxppc1000define_pd_global
cpu/ppc/c1_globals_ppc.hpp
CompileThresholdintxriscv10000define_pd_global
cpu/riscv/c2_globals_riscv.hpp
CompileThresholdintxs39010000define_pd_global
cpu/s390/c2_globals_s390.hpp
CompileThresholdintxx861500define_pd_global
cpu/x86/c1_globals_x86.hpp
CompilerDirectivesFileccstrcompilernullptrproduct
Read compiler directives from this file
share/compiler/compiler_globals.hpp
CompilerDirectivesIgnoreCompileCommandsboolcompilerfalseproduct
Disable backwards compatibility for compile commands.
share/compiler/compiler_globals.hpp
CompilerDirectivesLimitintcompiler50product
Limit on number of compiler directives.
share/compiler/compiler_globals.hpp
CompilerDirectivesPrintboolcompilerfalseproduct
Print compiler directives on installation.
share/compiler/compiler_globals.hpp
CompilerThreadPriorityintruntime-1
range(min_jint, max_jint)
product
The native priority at which compiler threads should run 
(-1 means no change)
share/runtime/globals.hpp
CompilerThreadStackSizeintxaixppc4096define_pd_global
os_cpu/aix_ppc/globals_aix_ppc.hpp
CompilerThreadStackSizeintxbsdaarch642048define_pd_global
os_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
CompilerThreadStackSizeintxbsdx86512define_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
CompilerThreadStackSizeintxbsdzero0define_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
CompilerThreadStackSizeintxlinuxaarch642040define_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
CompilerThreadStackSizeintxlinuxarm512define_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
CompilerThreadStackSizeintxlinuxppc4096define_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
CompilerThreadStackSizeintxlinuxriscv2048define_pd_global
os_cpu/linux_riscv/globals_linux_riscv.hpp
CompilerThreadStackSizeintxlinuxs3902048define_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
CompilerThreadStackSizeintxlinuxx86512define_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
CompilerThreadStackSizeintxlinuxzero0define_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
CompilerThreadStackSizeintxruntimeproduct_pd
Compiler Thread Stack Size (in Kbytes)
share/runtime/globals.hpp
CompilerThreadStackSizeintxwindowsaarch640define_pd_global
os_cpu/windows_aarch64/globals_windows_aarch64.hpp
CompilerThreadStackSizeintxwindowsx860define_pd_global
os_cpu/windows_x86/globals_windows_x86.hpp
CompressedClassSpaceBaseAddresssize_truntime0develop
Force the class space to be allocated at this address or 
fails VM initialization (requires -Xshare=off.
share/runtime/globals.hpp
CompressedClassSpaceSizesize_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
ComputeExactFPURegisterUsageboolc1truedevelop
Compute additional live set for fpu registers to simplify fpu stack merge (Intel only)
share/c1/c1_globals.hpp
ConcGCThreadsuintgc0product
Number of threads concurrent gc will use
share/gc/shared/gc_globals.hpp
ConcGCYieldTimeoutintxgc0
range(0, max_intx)
develop
If non-zero, assert that GC threads yield within this 
number of milliseconds
share/gc/shared/gc_globals.hpp
ConditionalMoveLimitintxaarch643define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
ConditionalMoveLimitintxarm4define_pd_global
cpu/arm/c2_globals_arm.hpp
ConditionalMoveLimitintxc2product_pd
Limit of ops to make speculative when using CMOVE
share/opto/c2_globals.hpp
ConditionalMoveLimitintxppc3define_pd_global
cpu/ppc/c2_globals_ppc.hpp
ConditionalMoveLimitintxriscv0define_pd_global
cpu/riscv/c2_globals_riscv.hpp
ConditionalMoveLimitintxs3904define_pd_global
cpu/s390/c2_globals_s390.hpp
ConditionalMoveLimitintxx863define_pd_global
cpu/x86/c2_globals_x86.hpp
ContendedPaddingWidthintxruntime128
range(0, 8192)
product
How many bytes to pad the fields/classes marked @Contended with
share/runtime/globals.hpp
ControlIntrinsicccstrlistruntime
product
Control intrinsics using a list of +/- (internal) names, 
separated by commas
share/runtime/globals.hpp
ConvertCmpD2CmpFboolc2truedevelop
Convert cmpD to cmpF when one input is constant in float range
share/opto/c2_globals.hpp
ConvertFloat2IntClippingboolc2truedevelop
Convert float2int clipping idiom to integer clipping
share/opto/c2_globals.hpp
CountBytecodesboolruntimefalsedevelop
Count number of bytecodes executed
share/runtime/globals.hpp
CountCompiledCallsboolruntimefalsedevelop
Count method invocations
share/runtime/globals.hpp
CountLinearScanboolc1falsedevelop
collect statistic counters during LinearScan
share/c1/c1_globals.hpp
CounterDecayMinIntervalLengthintxruntime500develop
The minimum interval (in milliseconds) between invocation of 
CounterDecay
share/runtime/globals.hpp
CounterHalfLifeTimeintxruntime30develop
Half-life time of invocation counters (in seconds)
share/runtime/globals.hpp
CrashGCForDumpingJavaThreadboolruntimefalsenotproduct
Manually make GC thread crash then dump java stack trace; 
Test only
share/runtime/globals.hpp
CrashOnOutOfMemoryErrorboolruntimefalseproduct
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
CreateCoredumpOnCrashboolruntimetrueproduct
Create core/mini dump on VM fatal error
share/runtime/globals.hpp
DSCR_DPFD_PPC64uint64_tppc8product
Power8 or later: DPFD (default prefetch depth) value of the 
Data Stream Control Register.
 0: hardware default, 1: none, 2-7: min-max, 8: don't touch
cpu/ppc/globals_ppc.hpp
DSCR_PPC64uint64_tppc(uint64_t)-1product
Power8 or later: Specify encoded value for Data Stream Control 
Register
cpu/ppc/globals_ppc.hpp
DSCR_URG_PPC64uint64_tppc8product
Power8 or later: URG (depth attainment urgency) value of the 
Data Stream Control Register.
 0: hardware default, 1: none, 2-7: min-max, 8: don't touch
cpu/ppc/globals_ppc.hpp
DTraceAllocProbesboolruntimefalseproduct
Enable dtrace tool probes for object allocation
share/runtime/globals.hpp
DTraceMethodProbesboolruntimefalseproduct
Enable dtrace tool probes for method-entry and method-exit
share/runtime/globals.hpp
DTraceMonitorProbesboolruntimefalseproduct
Enable dtrace tool probes for monitor events
share/runtime/globals.hpp
DebugDeoptimizationboolruntimefalsedevelop
Tracing various information while debugging deoptimization
share/runtime/globals.hpp
DebugInlinedCallsboolc2trueproduct
If false, restricts profiled locations to the root method only
share/opto/c2_globals.hpp
DebugNonSafepointsboolruntimetrueInDebugproduct
Generate extra debugging information for non-safepoints in 
nmethods
share/runtime/globals.hpp
DebugVtablesboolruntimefalsedevelop
add debugging code to vtable dispatch
share/runtime/globals.hpp
DecodeErrorContextboolzerofalseproduct
Try to decode the architecture-specific context for better 
diagnostics
cpu/zero/globals_zero.hpp
DeferInitialCardMarkboolgcfalseproduct
When +ReduceInitialCardMarks, explicitly defer any that 
may arise from new_pre_store_barrier
share/gc/shared/gc_globals.hpp
DelayCompilerStubsGenerationboolaarch64COMPILER2_OR_JVMCIdefine_pd_global
cpu/aarch64/globals_aarch64.hpp
DelayCompilerStubsGenerationboolarmfalsedefine_pd_global
// No need - only few compiler's stubs
cpu/arm/globals_arm.hpp
DelayCompilerStubsGenerationboolruntimeproduct_pd
Use Compiler thread for compiler's stubs generation
share/runtime/globals.hpp
DelayCompilerStubsGenerationboolppcCOMPILER2_OR_JVMCIdefine_pd_global
cpu/ppc/globals_ppc.hpp
DelayCompilerStubsGenerationboolriscvCOMPILER2_OR_JVMCIdefine_pd_global
cpu/riscv/globals_riscv.hpp
DelayCompilerStubsGenerationbools390COMPILER2_OR_JVMCIdefine_pd_global
cpu/s390/globals_s390.hpp
DelayCompilerStubsGenerationboolx86COMPILER2_OR_JVMCIdefine_pd_global
cpu/x86/globals_x86.hpp
DelayCompilerStubsGenerationboolzerofalsedefine_pd_global
// Don't have compiler's stubs
cpu/zero/globals_zero.hpp
DelayThreadStartALotboollinuxfalsedevelop
Artificially delay thread starts randomly for testing.
os/linux/globals_linux.hpp
DeoptC1boolc1truedevelop
Use deoptimization in C1
share/c1/c1_globals.hpp
DeoptimizeALotIntervalintxruntime5notproduct
Number of exits until DeoptimizeALot kicks in
share/runtime/globals.hpp
DeoptimizeALotboolruntimefalsedevelop
Deoptimize at every exit from the runtime system
share/runtime/globals.hpp
DeoptimizeNMethodBarriersALotboolruntimefalseproduct
Make nmethod barriers deoptimise a lot.
share/runtime/globals.hpp
DeoptimizeObjectsALotIntervaluint64_truntime5
range(0, max_jlong)
develop
Interval for DeoptimizeObjectsALot.
share/runtime/globals.hpp
DeoptimizeObjectsALotThreadCountAllintruntime1
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
DeoptimizeObjectsALotThreadCountSingleintruntime1
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
DeoptimizeObjectsALotboolruntimefalsedevelop
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
DeoptimizeOnlyAtccstrlistruntime
notproduct
A comma separated list of bcis to deoptimize at
share/runtime/globals.hpp
DeoptimizeRandomboolruntimefalsedevelop
Deoptimize random frames on random exit from the runtime system
share/runtime/globals.hpp
DesiredMethodLimitintxcompiler8000develop
The desired maximum method size (in bytecodes) after inlining
share/compiler/compiler_globals.hpp
DiagnoseSyncOnValueBasedClassesintruntime0
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
DisableAttachMechanismboolruntimefalseproduct
Disable mechanism that allows tools to attach to this VM
share/runtime/globals.hpp
DisableExplicitGCboolgcfalseproduct
Ignore calls to System.gc()
share/gc/shared/gc_globals.hpp
DisableIntrinsicccstrlistruntime
product
do not expand intrinsics whose (internal) names appear here
share/runtime/globals.hpp
DisablePrimordialThreadGuardPagesboolruntimefalseproduct
Disable the use of stack guard pages if the JVM is loaded 
on the primordial process thread
share/runtime/globals.hpp
DisplayVMOutputToStderrboolruntimefalseproduct
If DisplayVMOutput is true, display all VM output to stderr
share/runtime/globals.hpp
DisplayVMOutputToStdoutboolruntimefalseproduct
If DisplayVMOutput is true, display all VM output to stdout
share/runtime/globals.hpp
DisplayVMOutputboolruntimetrueproduct
Display all VM output on the tty, independently of LogVMOutput
share/runtime/globals.hpp
DoCEEboolc1truedevelop
Do Conditional Expression Elimination to simplify CFG
share/c1/c1_globals.hpp
DoEscapeAnalysisboolc2trueproduct
Perform escape analysis
share/opto/c2_globals.hpp
DoJVMTIVirtualThreadTransitionsboolruntimetrueproduct
Do JVMTI virtual thread mount/unmount transitions 
(disabling this flag implies no JVMTI events are posted)
share/runtime/globals.hpp
DoReserveCopyInSuperWordObsoleted in JDK22
Expired in JDK23
boolc2trueproduct
Create reserve copy of graph in SuperWord.
share/opto/c2_globals.hpp
DominatorSearchLimitintxc21000
range(0, max_jint)
product
Iterations limit in Node::dominates
share/opto/c2_globals.hpp
DontCompileHugeMethodsboolcompilertrueproduct
Do not compile methods > HugeMethodLimit
share/compiler/compiler_globals.hpp
DontYieldALotIntervalintxruntime10develop
Interval between which yields will be dropped (milliseconds)
share/runtime/globals.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolaixppcfalsedefine_pd_global
os_cpu/aix_ppc/globals_aix_ppc.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolbsdaarch64falsedefine_pd_global
os_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolbsdx86falsedefine_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolbsdzerofalsedefine_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boollinuxaarch64falsedefine_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boollinuxarmfalsedefine_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boollinuxppcfalsedefine_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boollinuxriscvfalsedefine_pd_global
os_cpu/linux_riscv/globals_linux_riscv.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boollinuxs390falsedefine_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boollinuxx86falsedefine_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boollinuxzerofalsedefine_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolruntimeproduct_pd
Throw away obvious excess yield calls
share/runtime/globals.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolwindowsaarch64falsedefine_pd_global
os_cpu/windows_aarch64/globals_windows_aarch64.hpp
DontYieldALotDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolwindowsx86falsedefine_pd_global
os_cpu/windows_x86/globals_windows_x86.hpp
DummyManageableStringFlagccstrruntimenullptrproduct
Dummy flag for testing string handling in WriteableFlags
share/runtime/flags/debug_globals.hpp
DumpLoadedClassListccstrcdsnullptrproduct
Dump the names all loaded classes, that could be stored into 
the CDS archive, in the specified file
share/cds/cds_globals.hpp
DumpPerfMapAtExitboollinuxfalseproduct
Write map file for Linux perf tool at exit
os/linux/globals_linux.hpp
DumpPrivateMappingsInCoreboollinuxtrueproduct
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
DumpReplayDataOnErrorboolcompilertrueproduct
Record replay data for crashing compiler threads
share/compiler/compiler_globals.hpp
DumpSharedMappingsInCoreboollinuxtrueproduct
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
DuplicateBackedgeboolc2trueproduct
Transform loop with a merge point into 2 loops if inner loop is
expected to optimize better
share/opto/c2_globals.hpp
EagerJVMCIbooljvmcifalseproduct
Force eager JVMCI initialization
share/jvmci/jvmci_globals.hpp
EagerXrunInitboolruntimefalseproduct
Eagerly initialize -Xrun libraries; allows startup profiling, 
but not all -Xrun libraries may support the state of the VM 
at this time
share/runtime/globals.hpp
EliminateAllocationArraySizeLimitintxc264
range(0, max_jint)
product
Array size (number of elements) limit for scalar replacement
share/opto/c2_globals.hpp
EliminateAllocationFieldsLimitintxc2512
range(0, max_jint)
product
Number of fields in instance limit for scalar replacement
share/opto/c2_globals.hpp
EliminateAllocationsboolc2trueproduct
Use escape analysis to eliminate allocations
share/opto/c2_globals.hpp
EliminateAutoBoxboolc2trueproduct
Control optimizations for autobox elimination
share/opto/c2_globals.hpp
EliminateBlocksboolc1truedevelop
Eliminate unnecessary basic blocks
share/c1/c1_globals.hpp
EliminateFieldAccessboolc1truedevelop
Optimize field loads and stores
share/c1/c1_globals.hpp
EliminateLocksboolc2trueproduct
Coarsen locks when possible
share/opto/c2_globals.hpp
EliminateNestedLocksboolc2trueproduct
Eliminate nested locks of the same object when possible
share/opto/c2_globals.hpp
EliminateNullChecksboolc1truedevelop
Eliminate unnecessary null checks
share/c1/c1_globals.hpp
EnableContendedboolruntimetrueproduct
Enable @Contended annotation support
share/runtime/globals.hpp
EnableDynamicAgentLoadingboolruntimetrueproduct
Allow tools to load agents with the attach mechanism
share/runtime/globals.hpp
EnableJVMCIProductbooljvmcifalseproduct
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
EnableJVMCIbooljvmcifalseproduct
Enable JVMCI
share/jvmci/jvmci_globals.hpp
EnableJVMTIStackDepthAssertsboolruntimetruenotproduct
Enable JVMTI asserts related to stack depth checks
share/runtime/globals.hpp
EnableThreadSMRStatisticsboolruntimetrueInDebugproduct
Enable Thread SMR Statistics
share/runtime/globals.hpp
EnableVectorAggressiveReboxingboolc2falseproduct
Enables aggressive reboxing of vectors
share/opto/c2_globals.hpp
EnableVectorReboxingboolc2falseproduct
Enables reboxing of vectors
share/opto/c2_globals.hpp
EnableVectorSupportboolc2falseproduct
Enables VectorSupport intrinsics
share/opto/c2_globals.hpp
EpsilonElasticTLABDecayboolgctrueproduct
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
EpsilonElasticTLABboolgctrueproduct
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
EpsilonMaxTLABSizesize_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
EpsilonMinHeapExpandsize_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
EpsilonPrintHeapStepssize_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
EpsilonTLABDecayTimesize_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
EpsilonTLABElasticitydoublegc1.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
EpsilonUpdateCountersStepsize_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
ErgoHeapSizeLimitsize_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
ErrorFileToStderrboolruntimefalseproduct
If true, error data is printed to stderr instead of a file
share/runtime/globals.hpp
ErrorFileToStdoutboolruntimefalseproduct
If true, error data is printed to stdout instead of a file
share/runtime/globals.hpp
ErrorFileccstrruntimenullptrproduct
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
ErrorHandlerTestuintruntime0
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
ErrorLogPrintCodeLimitintruntime3
range(0, VMError::max_error_log_print_code)
product
max number of compiled code units to print in error log
share/runtime/globals.hpp
ErrorLogSecondaryErrorDetailsboolruntimefalseproduct
If enabled, show details on secondary crashes in the error log
share/runtime/globals.hpp
ErrorLogTimeoutuint64_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
EscapeAnalysisTimeoutdoublec220. DEBUG_ONLY(+40.)
range(0, DBL_MAX)
product
Abort EA when it reaches time limit (in sec)
share/opto/c2_globals.hpp
EstimateArgEscapeboolcompilertrueproduct
Analyze bytecodes to estimate escape state of arguments
share/compiler/compiler_globals.hpp
ExecutingUnitTestsboolruntimefalseproduct
Whether the JVM is running unit tests or not
share/runtime/globals.hpp
ExitEscapeAnalysisOnTimeoutboolc2truedevelop
Exit or throw assert in EA when it reaches time limit
share/opto/c2_globals.hpp
ExitOnFullCodeCacheboolruntimefalsenotproduct
Exit the VM if we fill the code cache
share/runtime/globals.hpp
ExitOnOutOfMemoryErrorboolruntimefalseproduct
JVM exits on the first occurrence of an out-of-memory error 
thrown from JVM
share/runtime/globals.hpp
ExpandLoadingBaseDecode_NNbools390trueproduct
Expand the assembler instruction required to load the base from 
DecodeN_NN nodes during matching.
cpu/s390/globals_s390.hpp
ExpandLoadingBaseDecodebools390trueproduct
Expand the assembler instruction required to load the base from 
DecodeN nodes during matching.
cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncode_NNbools390trueproduct
Expand the assembler instruction required to load the base from 
EncodeP_NN nodes during matching.
cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncodebools390trueproduct
Expand the assembler instruction required to load the base from 
EncodeP nodes during matching.
cpu/s390/globals_s390.hpp
ExpandSubTypeCheckAtParseTimeboolc2falseproduct
Do not use subtype check macro node
share/opto/c2_globals.hpp
ExplicitGCInvokesConcurrentboolgcfalseproduct
A System.gc() request invokes a concurrent collection; 
(effective only when using concurrent collectors)
share/gc/shared/gc_globals.hpp
ExtensiveErrorReportsboolruntimePRODUCT_ONLY(false) NOT_PRODUCT(true)product
Error reports are more extensive.
share/runtime/globals.hpp
ExtraSharedClassListFileccstrcdsnullptrproduct
Extra classlist for building the CDS archive file
share/cds/cds_globals.hpp
FLOATPRESSUREintxc2-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
FLSVerifyDictionaryboolruntimefalsedevelop
Do lots of (expensive) FLS dictionary verification
share/runtime/globals.hpp
FastAllocateSizeLimitintxruntime128*Kdevelop
/* Note: This value is zero mod 1<<13 for a cheap sparc set. */Inline allocations larger than this in doublewords must go slow
share/runtime/globals.hpp
FlightRecorderOptionsccstrruntimenullptrproduct
Flight Recorder options
share/runtime/globals.hpp
FlightRecorderDeprecated in JDK13boolruntimefalseproduct
(Deprecated) Enable Flight Recorder
share/runtime/globals.hpp
FoldStableValuesboolruntimetrueproduct
Optimize loads from stable fields (marked w/ @Stable)
share/runtime/globals.hpp
ForceTimeHighResolutionboolruntimefalseproduct
Using high time resolution (for Win32 only)
share/runtime/globals.hpp
ForceUnreachableboolruntimefalseproduct
Make all non code cache addresses to be unreachable by 
forcing use of 64bit literal fixups
share/runtime/globals.hpp
FreqCountInvocationsintxc21
range(1, max_intx)
develop
Scaling factor for branch frequencies (deprecated)
share/opto/c2_globals.hpp
FreqInlineSizeintxaarch64325define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
FreqInlineSizeintxarm175define_pd_global
cpu/arm/c2_globals_arm.hpp
FreqInlineSizeintxc2product_pd
The maximum bytecode size of a frequent method to be inlined
share/opto/c2_globals.hpp
FreqInlineSizeintxppc175define_pd_global
cpu/ppc/c2_globals_ppc.hpp
FreqInlineSizeintxriscv325define_pd_global
cpu/riscv/c2_globals_riscv.hpp
FreqInlineSizeintxs390175define_pd_global
cpu/s390/c2_globals_s390.hpp
FreqInlineSizeintxx86325define_pd_global
cpu/x86/c2_globals_x86.hpp
FullGCALotDummiesintxgc32*Knotproduct
Dummy object allocated with +FullGCALot, forcing all objects 
to move
share/gc/shared/gc_globals.hpp
FullGCALotIntervalintxgc1notproduct
Interval between which full gc will occur with +FullGCALot
share/gc/shared/gc_globals.hpp
FullGCALotStartintxgc0notproduct
For which invocation to start FullGCAlot
share/gc/shared/gc_globals.hpp
FullGCALotboolgcfalsedevelop
Force full gc at every Nth exit from the runtime system 
(N=FullGCALotInterval)
share/gc/shared/gc_globals.hpp
G1AdaptiveIHOPNumInitialSamplessize_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
G1ConcMarkStepDurationMillisdoublegc10.0
range(1.0, DBL_MAX)
product
Target duration of individual concurrent marking steps 
in milliseconds.
share/gc/g1/g1_globals.hpp
G1ConcRefinementThreadsuintgc0
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
G1ConfidencePercentuintxgc50
range(0, 100)
product
Confidence level for MMU/pause predictions
share/gc/g1/g1_globals.hpp
G1EagerReclaimRemSetThresholduintgc0product
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
G1EvacuationFailureALotCSetPercentuintgc100
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
G1EvacuationFailureALotCountuintxgc1000product
Number of successful evacuations between evacuation failures 
occurring at object copying per thread
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringConcMarkboolgctrueproduct
Force use of evacuation failure handling during evacuation 
pauses when marking is in progress
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringConcurrentStartboolgctrueproduct
Force use of evacuation failure handling during concurrent 
start evacuation pauses
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringMixedGCboolgctrueproduct
Force use of evacuation failure handling during mixed 
evacuation pauses
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringYoungGCboolgctrueproduct
Force use of evacuation failure handling during young 
evacuation pauses
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotIntervaluintxgc5product
Total collections between forced triggering of evacuation 
failures
share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotboolgcfalseproduct
Force use of evacuation failure handling during certain 
evacuation pauses
share/gc/g1/g1_globals.hpp
G1ExpandByPercentOfAvailableintxgc20
range(0, 100)
product
When expanding, % of uncommitted space to claim.
share/gc/g1/g1_globals.hpp
G1HeapRegionSizesize_tgc0
range(0, NOT_LP64(32*M) LP64_ONLY(512*M))
product
Size of the G1 regions.
share/gc/g1/g1_globals.hpp
G1HeapWastePercentuintxgc5
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
G1LastPLABAverageOccupancydoublegc50.0
range(0.001, 100.0)
product
The expected average occupancy of the last PLAB in 
percent.
share/gc/g1/g1_globals.hpp
G1MaxNewSizePercentuintxgc60
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
G1MaxVerifyFailuressize_tgcSIZE_MAX
range(1, SIZE_MAX)
develop
The maximum number of liveness and remembered set verification 
failures to print per thread.
share/gc/g1/g1_globals.hpp
G1MixedGCCountTargetuintxgc8
range(0, max_uintx)
product
The target number of mixed GCs after a marking cycle.
share/gc/g1/g1_globals.hpp
G1MixedGCLiveThresholdPercentuintxgc85
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
G1NewSizePercentuintxgc5
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
G1NumCardsCostSampleThresholduintgc1000product
Threshold for the number of cards when reporting card cost 
related prediction sample. That sample must involve the same or 
more than that number of cards to be used.
share/gc/g1/g1_globals.hpp
G1OldCSetRegionThresholdPercentuintxgc10
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
G1PeriodicGCIntervaluintxgc0product
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
G1PeriodicGCInvokesConcurrentboolgctrueproduct
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
G1PeriodicGCSystemLoadThresholddoublegc0.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
G1RSetUpdatingPauseTimePercentintxgc10
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
G1RebuildRemSetChunkSizesize_tgc256 * K
range(4 * K, 32 * M)
product
Chunk size used for rebuilding the remembered set.
share/gc/g1/g1_globals.hpp
G1RefProcDrainIntervaluintgc1000
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
G1RemSetArrayOfCardsEntriesBaseuintgc8
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
G1RemSetArrayOfCardsEntriesuintgc0
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
G1RemSetCoarsenHowlBitmapToHowlFullPercentuintgc90
range(1, 100)
product
Percentage at which to coarsen a Howl bitmap to Howl full card 
set container.
share/gc/g1/g1_globals.hpp
G1RemSetCoarsenHowlToFullPercentuintgc90
range(1, 100)
product
Percentage at which to coarsen a Howl card set to Full card 
set container.
share/gc/g1/g1_globals.hpp
G1RemSetFreeMemoryKeepExcessRatiodoublegc0.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
G1RemSetFreeMemoryRescheduleDelayMillisuintgc10
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
G1RemSetFreeMemoryStepDurationMillisdoublegc1
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
G1RemSetHowlMaxNumBucketsuintgc8
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
G1RemSetHowlNumBucketsuintgc0
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
G1ReservePercentuintxgc10
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
G1RestoreRetainedRegionChunksPerWorkeruintgc16
range(1, 256)
product
The number of chunks assigned per worker thread for 
retained region restore purposes.
share/gc/g1/g1_globals.hpp
G1SATBBufferEnqueueingThresholdPercentuintxgc60
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
G1SATBBufferSizesize_tgc1*K
range(1, max_uintx)
product
Number of entries in an SATB log buffer.
share/gc/g1/g1_globals.hpp
G1SATBProcessCompletedThresholdintxgc20
range(0, max_jint)
develop
Number of completed buffers that triggers log processing.
share/gc/g1/g1_globals.hpp
G1SummarizeRSetStatsPeriodintxgc0
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
G1UpdateBufferSizesize_tgc256
range(1, NOT_LP64(32*M) LP64_ONLY(1*G))
product
Size of an update buffer
share/gc/g1/g1_globals.hpp
G1UseAdaptiveIHOPboolgctrueproduct
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
G1UseConcRefinementboolgctrueproduct
Control whether concurrent refinement is performed. 
Disabling effectively ignores G1RSetUpdatingPauseTimePercent
share/gc/g1/g1_globals.hpp
G1UseReferencePrecleaningboolgctrueproduct
Concurrently preclean java.lang.ref.references instances 
before the Remark pause.
share/gc/g1/g1_globals.hpp
G1VerifyBitmapsboolgcfalsedevelop
Verifies the consistency of the marking bitmaps
share/gc/g1/g1_globals.hpp
G1VerifyHeapRegionCodeRootsboolgcfalseproduct
Verify the code root lists attached to each heap region.
share/gc/g1/g1_globals.hpp
GCALotAtAllSafepointsboolgcfalsenotproduct
Enforce ScavengeALot/GCALot at all potential safepoints
share/gc/shared/gc_globals.hpp
GCCardSizeInBytesuintgc512
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
GCDrainStackTargetSizeuintxgc64
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
GCExpandToAllocateDelayMillisuintxgc0develop
Delay between expansion and allocation (in milliseconds)
share/gc/shared/gc_globals.hpp
GCHeapFreeLimituintxgc2
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
GCLockerEdenExpansionPercentObsoleted 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
GCLockerRetryAllocationCountuintxgc2
range(0, max_uintx)
product
Number of times to retry allocations when 
blocked by the GC locker
share/gc/shared/gc_globals.hpp
GCOverheadLimitThresholduintxgc5
range(1, max_uintx)
develop
Number of consecutive collections before gc time limit fires
share/gc/shared/gc_globals.hpp
GCPauseIntervalMillisuintxgc0product
Time slice for MMU specification
share/gc/shared/gc_globals.hpp
GCTimeLimituintxgc98
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
GCTimeRatiouintxgc99
range(0, max_juint)
product
Adaptive size policy application time to GC time ratio
share/gc/shared/gc_globals.hpp
GenerateArrayStoreCheckboolc1truedevelop
Generates code for array store checks
share/c1/c1_globals.hpp
GenerateSynchronizationCodeboolruntimetruedevelop
generate locking/unlocking code for synchronized methods and 
monitors
share/runtime/globals.hpp
GuaranteedAsyncDeflationIntervalintxruntime60000
range(0, max_jint)
product
Async deflate idle monitors every so many milliseconds even 
when MonitorUsedDeflationThreshold is NOT exceeded (0 is off).
share/runtime/globals.hpp
GuaranteedSafepointIntervalintxruntime1000
range(0, max_jint)
product
Guarantee a safepoint (at least) every so many milliseconds 
(0 means none)
share/runtime/globals.hpp
HandshakeALotboolruntimefalseproduct
Generate a lot of handshakes. This works with 
GuaranteedSafepointInterval
share/runtime/globals.hpp
HandshakeTimeoutuintruntime0product
If nonzero set a timeout in milliseconds for handshakes
share/runtime/globals.hpp
HeapBaseMinAddresssize_taixppc2*Gdefine_pd_global
os_cpu/aix_ppc/globals_aix_ppc.hpp
HeapBaseMinAddressuintxbsdaarch642*Gdefine_pd_global
os_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
HeapBaseMinAddresssize_tbsdx862*Gdefine_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
HeapBaseMinAddresssize_tbsdzero2*Gdefine_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
HeapBaseMinAddressuintxlinuxaarch642*Gdefine_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
HeapBaseMinAddresssize_tlinuxarm2*Gdefine_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
HeapBaseMinAddresssize_tlinuxppc2*Gdefine_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
HeapBaseMinAddressuintxlinuxriscv2 * Gdefine_pd_global
os_cpu/linux_riscv/globals_linux_riscv.hpp
HeapBaseMinAddresssize_tlinuxs3902*Gdefine_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
HeapBaseMinAddresssize_tlinuxx862*Gdefine_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
HeapBaseMinAddresssize_tlinuxzero2*Gdefine_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
HeapBaseMinAddresssize_tgcproduct_pd
OS specific low limit for heap base address
share/gc/shared/gc_globals.hpp
HeapBaseMinAddressuintxwindowsaarch642*Gdefine_pd_global
os_cpu/windows_aarch64/globals_windows_aarch64.hpp
HeapBaseMinAddresssize_twindowsx862*Gdefine_pd_global
os_cpu/windows_x86/globals_windows_x86.hpp
HeapDumpAfterFullGCboolruntimefalseproduct
Dump heap to file after any major stop-the-world GC
share/runtime/globals.hpp
HeapDumpBeforeFullGCboolruntimefalseproduct
Dump heap to file before any major stop-the-world GC
share/runtime/globals.hpp
HeapDumpGzipLevelintxruntime0
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
HeapDumpOnOutOfMemoryErrorboolruntimefalseproduct
Dump heap to file when java.lang.OutOfMemoryError is thrown 
from JVM
share/runtime/globals.hpp
HeapDumpPathccstrruntimenullptrproduct
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
HeapFirstMaximumCompactionCountuintxgc3
range(0, max_uintx)
product
The collection count for the first maximum compaction
share/gc/parallel/parallel_globals.hpp
HeapMaximumCompactionIntervaluintxgc20
range(0, max_uintx)
product
How often should we maximally compact the heap (not allowing 
any dead space)
share/gc/parallel/parallel_globals.hpp
HeapSearchStepsuintxruntime3 PPC64_ONLY(+17)
range(1, max_uintx)
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
HeapSizePerGCThreadsize_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
HugeMethodLimitintxcompiler8000develop
Don't compile methods larger than this if 
+DontCompileHugeMethods
share/compiler/compiler_globals.hpp
ICMissHistogramboolruntimefalsenotproduct
Produce histogram of IC misses
share/runtime/globals.hpp
IEEEPrecisionboolx86truedevelop
Enables IEEE precision (for INTEL only)
cpu/x86/globals_x86.hpp
INTPRESSUREintxc2-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
IdealizeClearArrayNodeboolaarch64truedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
IdealizeClearArrayNodeboolc2product_pd
Replace ClearArrayNode by subgraph of basic operations.
share/opto/c2_globals.hpp
IdealizeClearArrayNodeboolppctruedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
IdealizeClearArrayNodeboolriscvtruedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
IdealizeClearArrayNodebools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
IdealizeClearArrayNodeboolx86truedefine_pd_global
cpu/x86/c2_globals_x86.hpp
IgnoreEmptyClassPathsboolruntimefalseproduct
Ignore empty path elements in -classpath
share/runtime/globals.hpp
IgnoreUnrecognizedVMOptionsboolruntimefalseproduct
Ignore unrecognized VM options
share/runtime/globals.hpp
ImplicitDiv0Checksboolc1truedevelop
Use implicit division by zero checks
share/c1/c1_globals.hpp
ImplicitNullCheckThresholdintxc23
range(0, max_jint)
develop
Don't do implicit null checks if NPE's in a method exceeds 
limit
share/opto/c2_globals.hpp
ImplicitNullChecksboolaarch64truedefine_pd_global
// Generate code for implicit null checks
cpu/aarch64/globals_aarch64.hpp
ImplicitNullChecksboolarmtruedefine_pd_global
// Generate code for implicit null checks
cpu/arm/globals_arm.hpp
ImplicitNullChecksboolruntimeproduct_pd
Generate code for implicit null checks
share/runtime/globals.hpp
ImplicitNullChecksboolppctruedefine_pd_global
// Generate code for implicit null checks.
cpu/ppc/globals_ppc.hpp
ImplicitNullChecksboolriscvtruedefine_pd_global
// Generate code for implicit null checks
cpu/riscv/globals_riscv.hpp
ImplicitNullChecksbools390truedefine_pd_global
// Generate code for implicit null checks.
cpu/s390/globals_s390.hpp
ImplicitNullChecksboolx86truedefine_pd_global
// Generate code for implicit null checks
cpu/x86/globals_x86.hpp
ImplicitNullChecksboolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
IncreaseFirstTierCompileThresholdAtuintxcompiler50
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
IncrementalInlineForceCleanupboolc2falseproduct
do cleanup after every iteration of incremental inlining
share/opto/c2_globals.hpp
IncrementalInlineMHboolc2trueproduct
do post parse inlining of method handle calls
share/opto/c2_globals.hpp
IncrementalInlineVirtualboolc2trueproduct
do post parse inlining of virtual calls
share/opto/c2_globals.hpp
IncrementalInlineboolc2trueproduct
do post parse inlining
share/opto/c2_globals.hpp
IndexSetWatchintxc20
range(-1, 0)
notproduct
Trace all operations on this IndexSet (-1 means all, 0 none)
share/opto/c2_globals.hpp
InitArrayShortSizeintxaarch64BytesPerLongdefine_pd_global
cpu/aarch64/globals_aarch64.hpp
InitArrayShortSizeintxarm8*BytesPerLongdefine_pd_global
cpu/arm/globals_arm.hpp
InitArrayShortSizeintxruntimeproduct_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
InitArrayShortSizeintxppc9*BytesPerLongdefine_pd_global
cpu/ppc/globals_ppc.hpp
InitArrayShortSizeintxriscvBytesPerLongdefine_pd_global
cpu/riscv/globals_riscv.hpp
InitArrayShortSizeintxs3901*BytesPerLongdefine_pd_global
cpu/s390/globals_s390.hpp
InitArrayShortSizeintxx868*BytesPerLongdefine_pd_global
cpu/x86/globals_x86.hpp
InitArrayShortSizeintxzero0define_pd_global
cpu/zero/globals_zero.hpp
InitialCodeCacheSizeintxaarch64160*Kdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
InitialCodeCacheSizesize_tarm160*Kdefine_pd_global
cpu/arm/c1_globals_arm.hpp
InitialCodeCacheSizeuintxcompiler160*Kdefine_pd_global
share/compiler/compiler_globals_pd.hpp
InitialCodeCacheSizeuintxruntimeproduct_pd
Initial code cache size (in bytes)
share/runtime/globals.hpp
InitialCodeCacheSizeuintxppc160*Kdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
InitialCodeCacheSizeintxriscv2496*Kdefine_pd_global
// Integral multiple of CodeCacheExpansionSize
cpu/riscv/c2_globals_riscv.hpp
InitialCodeCacheSizeuintxs3902048*Kdefine_pd_global
// Integral multiple of CodeCacheExpansionSize
cpu/s390/c2_globals_s390.hpp
InitialCodeCacheSizeuintxx86160*Kdefine_pd_global
cpu/x86/c1_globals_x86.hpp
InitialHeapSizesize_tgc0product
Initial heap size (in bytes); zero means use ergonomics
share/gc/shared/gc_globals.hpp
InitialRAMFractionDeprecated 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
InitialRAMPercentagedoublegc1.5625
range(0.0, 100.0)
product
Percentage of real memory used for initial heap size
share/gc/shared/gc_globals.hpp
InitialSurvivorRatiouintxgc8
range(0, max_uintx)
product
Initial ratio of young generation/survivor space size
share/gc/shared/gc_globals.hpp
InitialTenuringThresholduintxgc7
range(0, markWord::max_age + 1)
product
Initial value for tenuring threshold
share/gc/shared/gc_globals.hpp
InitiatingHeapOccupancyPercentuintxgc45
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
InjectCompilerCreationFailureboolruntimefalsedevelop
Inject thread creation failures for 
UseDynamicNumberOfCompilerThreads
share/runtime/globals.hpp
InjectGCWorkerCreationFailureboolgcfalseproduct
Inject thread creation failures for 
UseDynamicNumberOfGCThreads
share/gc/shared/gc_globals.hpp
InlineAccessorsboolc2truedevelop
inline accessor methods (get/set)
share/opto/c2_globals.hpp
InlineArrayCopyboolruntimetrueproduct
Inline arraycopy native that is known to be part of 
base library DLL
share/runtime/globals.hpp
InlineCacheBufferSizesize_truntime10*Kproduct
InlineCacheBuffer size
share/runtime/globals.hpp
InlineClassNativesboolcompilertruedefine_pd_global
share/compiler/compiler_globals_pd.hpp
InlineClassNativesboolruntimetrueproduct
Inline Class.isInstance, etc
share/runtime/globals.hpp
InlineDataFileccstrcompilernullptrproduct
File containing inlining replay information
[default: ./inline_pid%p.log] (%p replaced with pid)
share/compiler/compiler_globals.hpp
InlineFrequencyRatiodoubleruntime0.25product
Ratio of call site execution to caller method invocation
share/runtime/globals.hpp
InlineIntrinsicsboolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
InlineIntrinsicsboolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
InlineIntrinsicsboolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
InlineIntrinsicsboolruntimedevelop_pd
Use intrinsics in Interpreter that can be statically resolved
share/runtime/globals.hpp
InlineIntrinsicsboolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
InlineIntrinsicsboolriscvtruedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
InlineIntrinsicsbools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
InlineIntrinsicsboolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
InlineMathNativesboolruntimetrueproduct
Inline SinD, CosD, etc.
share/runtime/globals.hpp
InlineMethodsWithExceptionHandlersboolc1truedevelop
Inline methods containing exception handlers 
(NOTE: does not work with current backend)
share/c1/c1_globals.hpp
InlineNativesboolruntimetrueproduct
Inline natives that are known to be part of base library DLL
share/runtime/globals.hpp
InlineObjectCopyboolc2trueproduct
inline Object.clone and Arrays.copyOf[Range] intrinsics
share/opto/c2_globals.hpp
InlineObjectHashboolruntimetrueproduct
Inline Object::hashCode() native that is known to be part 
of base library DLL
share/runtime/globals.hpp
InlineReflectionGetCallerClassboolc2trueproduct
inline sun.reflect.Reflection.getCallerClass(), known to be 
part of base library DLL
share/opto/c2_globals.hpp
InlineSmallCodeintxaarch641000define_pd_global
cpu/aarch64/globals_aarch64.hpp
InlineSmallCodeintxarm1500define_pd_global
cpu/arm/globals_arm.hpp
InlineSmallCodeintxc2product_pd
Only inline already compiled methods if their code size is 
less than this
share/opto/c2_globals.hpp
InlineSmallCodeintxppc1500define_pd_global
cpu/ppc/globals_ppc.hpp
InlineSmallCodeintxriscv1000define_pd_global
cpu/riscv/globals_riscv.hpp
InlineSmallCodeintxs3902000define_pd_global
cpu/s390/globals_s390.hpp
InlineSmallCodeintxx861000define_pd_global
cpu/x86/globals_x86.hpp
InlineSmallCodeintxzero1000define_pd_global
cpu/zero/globals_zero.hpp
InlineSynchronizedMethodsboolc1trueproduct
Inline synchronized methods
share/c1/c1_globals.hpp
InlineThreadNativesboolruntimetrueproduct
Inline Thread.currentThread, etc
share/runtime/globals.hpp
InlineThrowCountintxruntime50
range(0, max_jint)
develop
Force inlining of interpreted methods that throw this often
share/runtime/globals.hpp
InlineThrowMaxSizeintxruntime200
range(0, max_jint)
develop
Force inlining of throwing methods smaller than this
share/runtime/globals.hpp
InlineUnsafeOpsboolcompilertruedefine_pd_global
share/compiler/compiler_globals_pd.hpp
InlineUnsafeOpsboolruntimetrueproduct
Inline memory ops (native methods) from Unsafe
share/runtime/globals.hpp
Inlineboolruntimetrueproduct
Enable inlining
share/runtime/globals.hpp
InstallMethodsboolc1truedevelop
Install methods at the end of successful compilations
share/c1/c1_globals.hpp
InstructionCountCutoffintxc137000
range(0, max_jint)
develop
If GraphBuilder adds this many instructions, bails out
share/c1/c1_globals.hpp
IntelJccErratumMitigationboolx86trueproduct
Turn off JVM mitigations related to Intel micro code 
mitigations for the Intel JCC erratum
cpu/x86/globals_x86.hpp
InterceptOSExceptionboolruntimefalsedevelop
Start debugger when an implicit OS (e.g. null pointer) 
exception happens
share/runtime/globals.hpp
InteriorEntryAlignmentintxaarch6416define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
InteriorEntryAlignmentintxarm16define_pd_global
// = CodeEntryAlignment
cpu/arm/c2_globals_arm.hpp
InteriorEntryAlignmentintxc2product_pd
Code alignment for interior entry points 
in generated code (in bytes)
share/opto/c2_globals.hpp
InteriorEntryAlignmentintxppc16define_pd_global
cpu/ppc/c2_globals_ppc.hpp
InteriorEntryAlignmentintxriscv16define_pd_global
cpu/riscv/c2_globals_riscv.hpp
InteriorEntryAlignmentintxs3902define_pd_global
cpu/s390/c2_globals_s390.hpp
InteriorEntryAlignmentintxx864define_pd_global
cpu/x86/c2_globals_x86.hpp
InterpreterProfilePercentageintxcompiler33
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
JVMCICompilerIdleDelayuintjvmciDEFAULT_COMPILER_IDLE_DELAY
range(0, max_jint)
product
Number of milliseconds a JVMCI compiler queue should wait for 
a compilation task before being considered idle. When a JVMCI 
compiler queue becomes idle, it is detached from its JVMCIRuntime. 
Once the last thread is detached from a JVMCIRuntime, all 
resources associated with the runtime are reclaimed. To use a 
new runtime for every JVMCI compilation, set this value to 0 
and set JVMCIThreadsPerNativeLibraryRuntime to 1.
share/jvmci/jvmci_globals.hpp
JVMCICounterSizeintxjvmci0
range(0, 1000000)
product
Reserved size for benchmark counters
share/jvmci/jvmci_globals.hpp
JVMCICountersExcludeCompilerbooljvmcitrueproduct
Exclude JVMCI compiler threads from benchmark counters
share/jvmci/jvmci_globals.hpp
JVMCIEventLogLevelintxjvmci1
range(0, 4)
product
Event log level for JVMCI
share/jvmci/jvmci_globals.hpp
JVMCIHostThreadsintxjvmci1
range(0, max_jint))
product
Force number of C1 compiler threads. Ignored if 
UseJVMCICompiler is false.
share/jvmci/jvmci_globals.hpp
JVMCILibDumpJNIConfigccstrjvmcinullptrproduct
Dumps to the given file a description of the classes, fields 
and methods the JVMCI shared library must provide
share/jvmci/jvmci_globals.hpp
JVMCILibPathccstrjvmcinullptrproduct
LD path for loading the JVMCI shared library
share/jvmci/jvmci_globals.hpp
JVMCINMethodSizeLimitintxjvmci(80*K)*wordSize
range(0, max_jint)
product
Maximum size of a compiled method.
share/jvmci/jvmci_globals.hpp
JVMCINativeLibraryErrorFileccstrjvmcinullptrproduct
If an error in the JVMCI native library occurs, save the 
error data to this file
[default: ./
share/jvmci/jvmci_globals.hpp
JVMCINativeLibraryThreadFractiondoublejvmci0.33
range(0.0, 1.0)
product
The fraction of compiler threads used by libjvmci. 
The remaining compiler threads are used by C1.
share/jvmci/jvmci_globals.hpp
JVMCIPrintPropertiesbooljvmcifalseproduct
Prints properties used by the JVMCI compiler and exits
share/jvmci/jvmci_globals.hpp
JVMCIThreadsPerNativeLibraryRuntimeuintjvmci1
range(0, max_jint)
product
Max number of threads per JVMCI native runtime. 
Specify 0 to force use of a single JVMCI native runtime. 
Specify 1 to force a single JVMCI native runtime per thread.
share/jvmci/jvmci_globals.hpp
JVMCIThreadsintxjvmci1
range(1, max_jint)
product
Force number of JVMCI compiler threads to use. Ignored if 
UseJVMCICompiler is false.
share/jvmci/jvmci_globals.hpp
JVMCITraceLevelintxjvmci0
range(0, 4)
product
Trace level for JVMCI
share/jvmci/jvmci_globals.hpp
JVMCIUseFastLockingbooljvmcitruedevelop
Use fast inlined locking code
share/jvmci/jvmci_globals.hpp
JVMInvokeMethodSlacksize_taixppc8192define_pd_global
os_cpu/aix_ppc/globals_aix_ppc.hpp
JVMInvokeMethodSlackuintxbsdaarch648192define_pd_global
os_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
JVMInvokeMethodSlacksize_tbsdx868192define_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
JVMInvokeMethodSlacksize_tbsdzero8192define_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
JVMInvokeMethodSlackuintxlinuxaarch648192define_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
JVMInvokeMethodSlacksize_tlinuxarm8192define_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
JVMInvokeMethodSlacksize_tlinuxppc8192define_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
JVMInvokeMethodSlackuintxlinuxriscv8192define_pd_global
os_cpu/linux_riscv/globals_linux_riscv.hpp
JVMInvokeMethodSlacksize_tlinuxs3908192define_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
JVMInvokeMethodSlacksize_tlinuxx868192define_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
JVMInvokeMethodSlacksize_tlinuxzero8192define_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
JVMInvokeMethodSlacksize_truntimedevelop_pd
Stack space (bytes) required for JVM_InvokeMethod to complete
share/runtime/globals.hpp
JVMInvokeMethodSlackuintxwindowsaarch648192define_pd_global
os_cpu/windows_aarch64/globals_windows_aarch64.hpp
JVMInvokeMethodSlacksize_twindowsx868192define_pd_global
os_cpu/windows_x86/globals_windows_x86.hpp
JavaMonitorsInStackTraceboolruntimetrueproduct
Print information about Java monitor locks when the stacks are 
dumped
share/runtime/globals.hpp
JavaPriority10_To_OSPriorityintruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority1_To_OSPriorityintruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority2_To_OSPriorityintruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority3_To_OSPriorityintruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority4_To_OSPriorityintruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority5_To_OSPriorityintruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority6_To_OSPriorityintruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority7_To_OSPriorityintruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority8_To_OSPriorityintruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
JavaPriority9_To_OSPriorityintruntime-1
range(-1, 127)
product
Map Java priorities to OS priorities
share/runtime/globals.hpp
LIRTraceExecutionboolc1falsedevelop
add LIR code which logs the execution of blocks
share/c1/c1_globals.hpp
LargePageHeapSizeThresholdsize_truntime128*M
range(0, max_uintx)
product
Use large pages if maximum heap is at least this big
share/runtime/globals.hpp
LargePageSizeInBytessize_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
LargePagesIndividualAllocationInjectErrorboolruntimefalsedevelop
Fail large pages individual allocation
share/runtime/globals.hpp
LiveNodeCountInliningCutoffintxc240000
range(0, max_juint / 8)
product
max number of live nodes in a method
share/opto/c2_globals.hpp
LoadExecStackDllInVMThreadboollinuxtrueproduct
Load DLLs with executable-stack attribute in the VM Thread
os/linux/globals_linux.hpp
LoadLineNumberTablesboolruntimetruedevelop
Tell whether the class file parser loads line number tables
share/runtime/globals.hpp
LoadLocalVariableTablesboolruntimetruedevelop
Tell whether the class file parser loads local variable tables
share/runtime/globals.hpp
LoadLocalVariableTypeTablesboolruntimetruedevelop
Tell whether the class file parser loads local variable type
tables
share/runtime/globals.hpp
LockingModeintruntimeLM_LEGACY
range(0, 2)
product
Select locking mode: 

0: monitors only (LM_MONITOR), 

1: monitors & legacy stack-locking (LM_LEGACY, default), 

2: monitors & new lightweight locking (LM_LIGHTWEIGHT)
share/runtime/globals.hpp
LogCompilationboolruntimefalseproduct
Log compilation activity in detail to LogFile
share/runtime/globals.hpp
LogEventsBufferEntriesuintxruntime20
range(1, NOT_LP64(1*K) LP64_ONLY(1*M))
product
Number of ring buffer event logs
share/runtime/globals.hpp
LogEventsboolruntimetrueproduct
Enable the various ring buffer event logs
share/runtime/globals.hpp
LogFileccstrruntimenullptrproduct
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
LogVMOutputboolruntimefalseproduct
Save VM output to LogFile
share/runtime/globals.hpp
LoomDeoptAfterThawboolruntimefalsedevelop
Deopt stack after thaw
share/runtime/globals.hpp
LoomVerifyAfterThawboolruntimefalsedevelop
Verify stack after thaw
share/runtime/globals.hpp
LoopMaxUnrollintxc216
range(0, max_jint)
product
Maximum number of unrolls for main loop
share/opto/c2_globals.hpp
LoopOptsCountintxc243
range(5, 43)
product
Set level of loop optimization for tier 1 compiles
share/opto/c2_globals.hpp
LoopPercentProfileLimitintxaarch6410define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
LoopPercentProfileLimitintxc2product_pd
Unroll loop bodies with % node count of profile limit
share/opto/c2_globals.hpp
LoopPercentProfileLimitintxppc10define_pd_global
cpu/ppc/c2_globals_ppc.hpp
LoopPercentProfileLimitintxriscv10define_pd_global
cpu/riscv/c2_globals_riscv.hpp
LoopPercentProfileLimitintxs39010define_pd_global
cpu/s390/c2_globals_s390.hpp
LoopPercentProfileLimitintxx8610define_pd_global
cpu/x86/c2_globals_x86.hpp
LoopStripMiningIterShortLoopuintxc20
range(0, max_juint)
product
Loop with fewer iterations are not strip mined
share/opto/c2_globals.hpp
LoopStripMiningIteruintxc20
range(0, max_juint)
product
Number of iterations in strip mined loop
share/opto/c2_globals.hpp
LoopUnrollLimitintxaarch6460define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
LoopUnrollLimitintxc2product_pd
Unroll loop bodies with node count less than this
share/opto/c2_globals.hpp
LoopUnrollLimitintxppc60define_pd_global
cpu/ppc/c2_globals_ppc.hpp
LoopUnrollLimitintxriscv60define_pd_global
cpu/riscv/c2_globals_riscv.hpp
LoopUnrollLimitintxs39060define_pd_global
cpu/s390/c2_globals_s390.hpp
LoopUnrollLimitintxx8650define_pd_global
// Design center runs on 1.3.1
cpu/x86/c2_globals_x86.hpp
LoopUnrollMinintxc24
range(0, max_jint)
product
Minimum number of unroll loop bodies before checking progress
of rounds of unroll,optimize,..
share/opto/c2_globals.hpp
LoopUnswitchingboolc2trueproduct
Enable loop unswitching (a form of invariant test hoisting)
share/opto/c2_globals.hpp
MVCLEThresholdsize_ts390+2*(4*K)product
Threshold above which page-aligned MVCLE copy/init is used.
cpu/s390/globals_s390.hpp
MallocCatchPtrintxruntime-1develop
Hit breakpoint when mallocing/freeing this pointer
share/runtime/globals.hpp
MallocLimitccstrruntimenullptrproduct
Limit malloc allocation size from VM. Reaching a limit will 
trigger an action (see flag). This feature requires 
NativeMemoryTracking=summary or NativeMemoryTracking=detail.
Usage:
'-XX:MallocLimit=[:]' sets a total limit.
'-XX:MallocLimit=:[:][,:[:] ...]'
sets one or more category-specific limits.
 defines the action upon reaching the limit:
'fatal': end VM with a fatal error at the allocation site
'oom' : will mimic a native OOM
If  is omitted, 'fatal' is the default.
Examples:n
-XX:MallocLimit=2g
-XX:MallocLimit=2g:oom
-XX:MallocLimit=compiler:200m:oom,code:100m
share/runtime/globals.hpp
ManagementServerboolruntimefalseproduct
Create JMX Management Server
share/runtime/globals.hpp
MarkStackSizeMaxsize_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
MarkStackSizesize_tgcNOT_LP64(64*K) LP64_ONLY(4*M)
range(1, (max_jint - 1))
product
Size of marking stack
share/gc/shared/gc_globals.hpp
MarkSweepAlwaysCompactCountuintgc4
range(1, max_juint)
product
How often should we fully compact the heap (ignoring the dead 
space parameters)
share/gc/shared/gc_globals.hpp
MarkSweepDeadRatiouintxgc5
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
MaxBCEAEstimateLevelintxcompiler5
range(0, max_jint)
product
Maximum number of nested calls that are analyzed by BC EA
share/compiler/compiler_globals.hpp
MaxBCEAEstimateSizeintxcompiler150
range(0, max_jint)
product
Maximum bytecode size of a method to be analyzed by BC EA
share/compiler/compiler_globals.hpp
MaxDirectMemorySizeuint64_truntime0
range(0, max_jlong)
product
Maximum total size of NIO direct-buffer allocations. 
Ignored if not explicitly set.
share/runtime/globals.hpp
MaxElementPrintSizeintxruntime256notproduct
maximum number of elements to print
share/runtime/globals.hpp
MaxExpectedDataSegmentSizeuintxaix8*Gproduct
Maximum expected Data Segment Size.
os/aix/globals_aix.hpp
MaxFDLimitboolruntimetrueproduct
Bump the number of file descriptors to maximum (Unix only)
share/runtime/globals.hpp
MaxForceInlineLevelintxruntime100
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
MaxGCMinorPauseMillisDeprecated 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
MaxGCPauseMillisuintxgcmax_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
MaxHeapFreeRatiouintxruntime70
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
MaxHeapSizesize_tgcScaleForWordSize(96*M)product
Maximum heap size (in bytes)
share/gc/shared/gc_globals.hpp
MaxInlineLevelintxc215
range(0, max_jint)
product
maximum number of nested calls that are inlined by high tier 
compiler
share/opto/c2_globals.hpp
MaxInlineSizeintxc235
range(0, max_jint)
product
The maximum bytecode size of a method to be inlined by high 
tier compiler
share/opto/c2_globals.hpp
MaxJNILocalCapacityintxruntime65536
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
MaxJavaStackTraceDepthintxruntime1024
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
MaxJumpTableSizeintxc265000
range(0, max_intx)
product
Maximum number of targets in a generated jump table
share/opto/c2_globals.hpp
MaxJumpTableSparsenessintxc25
range(0, max_intx / 4)
product
Maximum sparseness for jumptables
share/opto/c2_globals.hpp
MaxLabelRootDepthintxc21100
range(100, max_jint)
product
Maximum times call Label_Root to prevent stack overflow
share/opto/c2_globals.hpp
MaxLoopPadintxc2(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
MaxMetaspaceExpansionsize_truntimeScaleForWordSize(4*M)
range(0, max_uintx)
product
The maximum expansion of Metaspace without full GC (in bytes)
share/runtime/globals.hpp
MaxMetaspaceFreeRatiouintxruntime70
range(0, 100)
product
The maximum percentage of Metaspace free after GC to avoid 
shrinking
share/runtime/globals.hpp
MaxMetaspaceSizesize_truntimemax_uintxproduct
Maximum size of Metaspaces (in bytes)
share/runtime/globals.hpp
MaxNewSizesize_tgcmax_uintx
range(0, max_uintx)
product
Maximum new generation size (in bytes), max_uintx means set 
ergonomically
share/gc/shared/gc_globals.hpp
MaxNodeLimitintxc280000
range(1000, max_jint / 3)
product
Maximum number of nodes
share/opto/c2_globals.hpp
MaxRAMFractionDeprecated 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
MaxRAMPercentagedoublegc25.0
range(0.0, 100.0)
product
Maximum percentage of real memory used for maximum heap size
share/gc/shared/gc_globals.hpp
MaxRAMuint64_taarch641ULL*Gdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
MaxRAMuint64_tarm1ULL*Gdefine_pd_global
cpu/arm/c1_globals_arm.hpp
MaxRAMuint64_tcompiler128ULL*Gdefine_pd_global
share/compiler/compiler_globals_pd.hpp
MaxRAMuint64_tgcproduct_pd
Real memory size (in bytes) used to set maximum heap size
share/gc/shared/gc_globals.hpp
MaxRAMuint64_tppc1ULL*Gdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
MaxRAMuint64_triscv128ULL*Gdefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
MaxRAMuint64_ts390128ULL*Gdefine_pd_global
cpu/s390/c2_globals_s390.hpp
MaxRAMuint64_tx861ULL*Gdefine_pd_global
cpu/x86/c1_globals_x86.hpp
MaxRecursiveInlineLevelintxc21
range(0, max_jint)
product
maximum number of nested recursive calls that are inlined by 
high tier compiler
share/opto/c2_globals.hpp
MaxSubklassPrintSizeintxruntime4notproduct
maximum number of subklasses to print when printing klass
share/runtime/globals.hpp
MaxTenuringThresholduintxgc15
range(0, markWord::max_age + 1)
product
Maximum value for tenuring threshold
share/gc/shared/gc_globals.hpp
MaxTrivialSizeintxc26
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
MaxVectorSizeintxc264
range(0, max_jint)
product
Max vector size in bytes, 
actual size could be less depending on elements type
share/opto/c2_globals.hpp
MaxVirtMemFractionuintxgc2
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
MetadataAllocationFailALotIntervaluintxgc1000develop
Metadata allocation failure a lot interval
share/gc/shared/gc_globals.hpp
MetadataAllocationFailALotboolgcfalsedevelop
Fail metadata allocations at intervals controlled by 
MetadataAllocationFailALotInterval
share/gc/shared/gc_globals.hpp
MetaspaceGuardAllocationsboolruntimefalsedevelop
Metapace allocations are guarded.
share/runtime/globals.hpp
MetaspaceSizesize_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
MethodFlushingboolruntimetrueproduct
Reclamation of compiled methods
share/runtime/globals.hpp
MethodHistogramCutoffintxruntime100develop
The cutoff value for method invocation histogram (+CountCalls)
share/runtime/globals.hpp
MinHeapDeltaBytessize_truntimeScaleForWordSize(128*K)
range(0, max_uintx)
product
The minimum change in heap space due to GC (in bytes)
share/runtime/globals.hpp
MinHeapFreeRatiouintxruntime40
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
MinHeapSizesize_tgc0product
Minimum heap size (in bytes); zero means use ergonomics
share/gc/shared/gc_globals.hpp
MinInlineFrequencyRatiodoubleruntime0.0085product
Minimum ratio of call site execution to caller method
invocation to be considered for inlining
share/runtime/globals.hpp
MinJumpTableSizeintxaarch6410define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
MinJumpTableSizeintxc2product_pd
Minimum number of targets in a generated jump table
share/opto/c2_globals.hpp
MinJumpTableSizeintxppc10define_pd_global
cpu/ppc/c2_globals_ppc.hpp
MinJumpTableSizeintxriscv10define_pd_global
cpu/riscv/c2_globals_riscv.hpp
MinJumpTableSizeintxs39018define_pd_global
cpu/s390/c2_globals_s390.hpp
MinJumpTableSizeintxx8610define_pd_global
cpu/x86/c2_globals_x86.hpp
MinMetaspaceExpansionsize_truntimeScaleForWordSize(256*K)
range(0, max_uintx)
product
The minimum expansion of Metaspace (in bytes)
share/runtime/globals.hpp
MinMetaspaceFreeRatiouintxruntime40
range(0, 99)
product
The minimum percentage of Metaspace free after GC to avoid 
expansion
share/runtime/globals.hpp
MinOopMapAllocationintxruntime8develop
Minimum number of OopMap entries in an OopMapSet
share/runtime/globals.hpp
MinPassesBeforeFlushintxruntime10
range(0, max_intx)
product
Minimum number of sweeper passes before an nmethod 
can be flushed
share/runtime/globals.hpp
MinRAMFractionDeprecated 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
MinRAMPercentagedoublegc50.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
MinSurvivorRatiouintxgc3
range(3, max_uintx)
product
Minimum ratio of young generation/survivor space size
share/gc/shared/gc_globals.hpp
MinTLABSizesize_tgc2*K
range(1, max_uintx/2)
product
Minimum allowed TLAB size (in bytes)
share/gc/shared/tlab_globals.hpp
MonitorDeflationMaxintxruntime1000000
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
MonitorUnlinkBatchintxruntime500
range(1, max_jint)
product
The maximum number of monitors to unlink in one batch.
share/runtime/globals.hpp
MonitorUsedDeflationThresholdintxruntime90
range(0, 100)
product
Percentage of used monitors before triggering deflation (0 is 
off). The check is performed on GuaranteedSafepointInterval, 
AsyncDeflationInterval or GuaranteedAsyncDeflationInterval, 
whichever is lower.
share/runtime/globals.hpp
MonomorphicArrayCheckboolc2truedevelop
Uncommon-trap array store checks that require full type check
share/opto/c2_globals.hpp
MultiArrayExpandLimitintxc26
range(0, max_jint)
product
Maximum number of individual allocations in an inline-expanded 
multianewarray instruction
share/opto/c2_globals.hpp
NMethodSizeLimitintxc1(64*K)*wordSize
range(0, 1*M)
develop
Maximum size of a compiled method.
share/c1/c1_globals.hpp
NUMAChunkResizeWeightuintxruntime20
range(0, 100)
product
Percentage (0-100) used to weight the current sample when 
computing exponentially decaying average for 
AdaptiveNUMAChunkSizing
share/runtime/globals.hpp
NUMAInterleaveGranularitysize_truntime2*Mproduct
Granularity to use for NUMA interleaving on Windows OS
share/runtime/globals.hpp
NUMAPageScanRateObsoleted 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
NUMASpaceResizeRatesize_truntime1*G
range(0, max_uintx)
product
Do not reallocate more than this amount per collection
share/runtime/globals.hpp
NUMAStatsboolruntimefalseproduct
Print NUMA stats in detailed heap information
share/runtime/globals.hpp
NativeMemoryTrackingccstrruntimeDEBUG_ONLY(summaryproduct
share/runtime/globals.hpp
NearCpoolboolaarch64trueproduct
constant pool is close to instructions
cpu/aarch64/globals_aarch64.hpp
NearCpoolboolriscvtrueproduct
constant pool is close to instructions
cpu/riscv/globals_riscv.hpp
NestedInliningSizeRatiointxc190
range(0, 100)
develop
Percentage of prev. allowed inline size in recursive inlining
share/c1/c1_globals.hpp
NeverActAsServerClassMachineboolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
NeverActAsServerClassMachineboolarmtruedefine_pd_global
cpu/arm/c1_globals_arm.hpp
NeverActAsServerClassMachineboolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
NeverActAsServerClassMachineboolgcproduct_pd
Never act like a server-class machine
share/gc/shared/gc_globals.hpp
NeverActAsServerClassMachineboolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
NeverActAsServerClassMachineboolriscvfalsedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
NeverActAsServerClassMachinebools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
NeverActAsServerClassMachineboolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
NeverTenureboolgcfalseproduct
Never tenure objects in eden, may tenure on overflow 
(ParallelGC only)
share/gc/shared/gc_globals.hpp
NewCodeParameterintxruntime0develop
Testing Only: Create a dedicated integer parameter before 
putback
share/runtime/globals.hpp
NewRatiouintxgc2
range(0, max_uintx-1)
product
Ratio of old/new generation sizes
share/gc/shared/gc_globals.hpp
NewSizeThreadIncreaseintxaarch644*Kdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
NewSizeThreadIncreasesize_tarmScaleForWordSize(4*K)define_pd_global
cpu/arm/c2_globals_arm.hpp
NewSizeThreadIncreasesize_tcompiler4*Kdefine_pd_global
share/compiler/compiler_globals_pd.hpp
NewSizeThreadIncreasesize_tgcproduct_pd
Additional size added to desired new generation size per 
non-daemon thread (in bytes)
share/gc/shared/gc_globals.hpp
NewSizeThreadIncreasesize_tppc16*Kdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
NewSizeThreadIncreaseintxriscvScaleForWordSize(4*K)define_pd_global
cpu/riscv/c2_globals_riscv.hpp
NewSizeThreadIncreasesize_ts390ScaleForWordSize(4*K)define_pd_global
cpu/s390/c2_globals_s390.hpp
NewSizeThreadIncreasesize_tx864*Kdefine_pd_global
cpu/x86/c1_globals_x86.hpp
NewSizesize_tgcScaleForWordSize(1*M)product
Initial new generation size (in bytes)
share/gc/shared/gc_globals.hpp
NmethodSweepActivityintxruntime4
range(0, 2000)
product
Removes cold nmethods from code cache if > 0. Higher values 
result in more aggressive sweeping
share/runtime/globals.hpp
NoAsyncDeflationProgressMaxuintxruntime3
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
NodeCountInliningCutoffintxc218000
range(0, max_jint)
develop
If parser node generation exceeds limit stop inlining
share/opto/c2_globals.hpp
NodeLimitFudgeFactorintxc22000product
Fudge Factor for certain optimizations
share/opto/c2_globals.hpp
NonNMethodCodeHeapSizeintxaarch645*Mdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
NonNMethodCodeHeapSizesize_tarm5*Mdefine_pd_global
cpu/arm/c1_globals_arm.hpp
NonNMethodCodeHeapSizeuintxcompiler32*Mdefine_pd_global
share/compiler/compiler_globals_pd.hpp
NonNMethodCodeHeapSizeuintxruntimeproduct_pd
Size of code heap with non-nmethods (in bytes)
share/runtime/globals.hpp
NonNMethodCodeHeapSizeuintxppc5*Mdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
NonNMethodCodeHeapSizeintxriscv5*Mdefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
NonNMethodCodeHeapSizeuintxs3905*Mdefine_pd_global
cpu/s390/c2_globals_s390.hpp
NonNMethodCodeHeapSizeuintxx865*Mdefine_pd_global
cpu/x86/c1_globals_x86.hpp
NonProfiledCodeHeapSizeintxaarch6413*Mdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
NonProfiledCodeHeapSizesize_tarm13*Mdefine_pd_global
cpu/arm/c1_globals_arm.hpp
NonProfiledCodeHeapSizeuintxcompiler0define_pd_global
share/compiler/compiler_globals_pd.hpp
NonProfiledCodeHeapSizeuintxruntimeproduct_pd
Size of code heap with non-profiled methods (in bytes)
share/runtime/globals.hpp
NonProfiledCodeHeapSizeuintxppc13*Mdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
NonProfiledCodeHeapSizeintxriscv21*Mdefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
NonProfiledCodeHeapSizeuintxs39021*Mdefine_pd_global
cpu/s390/c2_globals_s390.hpp
NonProfiledCodeHeapSizeuintxx8613*Mdefine_pd_global
cpu/x86/c1_globals_x86.hpp
NumberOfLoopInstrToAlignintxc24
range(0, max_jint)
product
Number of first instructions in a loop to align
share/opto/c2_globals.hpp
OSROnlyBCIintxcompiler-1develop
OSR only at this bci. Negative values mean exclude that bci
share/compiler/compiler_globals.hpp
ObjArrayMarkingStrideuintxgc2048develop
Number of object array elements to push onto the marking stack 
before pushing a continuation entry
share/gc/shared/gc_globals.hpp
ObjectAlignmentInBytesintruntime8
range(8, 256)
product
Default object alignment in bytes, 8 is minimum
share/runtime/globals.hpp
ObjectCountCutOffPercentdoubleruntime0.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
OldPLABSizesize_tgc1024product
Size of old gen promotion LAB's (in HeapWords)
share/gc/shared/tlab_globals.hpp
OldSizeDeprecated 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
OmitStackTraceInFastThrowboolruntimetrueproduct
Omit backtraces for some 'hot' exceptions in optimized code
share/runtime/globals.hpp
OnErrorccstrlistruntime
product
Run user-defined commands on fatal error; see VMError.cpp 
for examples
share/runtime/globals.hpp
OnOutOfMemoryErrorccstrlistruntime
product
Run user-defined commands on first java.lang.OutOfMemoryError 
thrown from JVM
share/runtime/globals.hpp
OnSpinWaitInstCountuintaarch641
range(1, 99)
product
The number of OnSpinWaitInst instructions to generate.
It cannot be used with OnSpinWaitInst=none.
cpu/aarch64/globals_aarch64.hpp
OnSpinWaitInstccstraarch64noneproduct
The instruction to use to implement 
java.lang.Thread.onSpinWait().
Options: none, nop, isb, yield.
cpu/aarch64/globals_aarch64.hpp
OnStackReplacePercentageintxaarch64933define_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
OnStackReplacePercentageintxarm140define_pd_global
cpu/arm/c2_globals_arm.hpp
OnStackReplacePercentageintxcompilerproduct_pd
NON_TIERED number of method invocations/branches (expressed as 
% of CompileThreshold) before (re-)compiling OSR code
share/compiler/compiler_globals.hpp
OnStackReplacePercentageintxppc1400define_pd_global
cpu/ppc/c1_globals_ppc.hpp
OnStackReplacePercentageintxriscv140define_pd_global
cpu/riscv/c2_globals_riscv.hpp
OnStackReplacePercentageintxs390140define_pd_global
cpu/s390/c2_globals_s390.hpp
OnStackReplacePercentageintxx86933define_pd_global
cpu/x86/c1_globals_x86.hpp
OptimizeExpensiveOpsboolc2trueproduct
Find best control for expensive operations
share/opto/c2_globals.hpp
OptimizeFillboolc2true PPC64_ONLY(&& false)product
convert fill/copy loops into intrinsic
share/opto/c2_globals.hpp
OptimizeIfOpsboolc1truedevelop
Optimize multiple IfOps
share/c1/c1_globals.hpp
OptimizePollingPageLocationboolaixtrueproduct
Optimize the location of the polling page used for Safepoints
os/aix/globals_aix.hpp
OptimizePtrCompareboolc2trueproduct
Use escape analysis to optimize pointers compare
share/opto/c2_globals.hpp
OptimizeSinglePrecisionboolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
OptimizeSinglePrecisionboolarmtruedefine_pd_global
cpu/arm/c1_globals_arm.hpp
OptimizeSinglePrecisionboolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
OptimizeSinglePrecisionboolriscvtruedefine_pd_global
cpu/riscv/c1_globals_riscv.hpp
OptimizeSinglePrecisionbools390falsedefine_pd_global
cpu/s390/c1_globals_s390.hpp
OptimizeSinglePrecisionboolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
OptimizeStringConcatboolc2trueproduct
Optimize the construction of Strings by StringBuilder
share/opto/c2_globals.hpp
OptimizeUnstableIfboolc2trueproduct
Optimize UnstableIf traps
share/opto/c2_globals.hpp
OptoBlockListSizeintxc28
range(1, max_jint)
develop
Starting allocation size of Block_List data structures
share/opto/c2_globals.hpp
OptoBreakpointC2Rboolc2falsenotproduct
insert breakpoint at runtime stub entry
share/opto/c2_globals.hpp
OptoBreakpointOSRboolc2falsenotproduct
insert breakpoint at osr method entry
share/opto/c2_globals.hpp
OptoBreakpointboolc2falsedevelop
insert breakpoint at method entry
share/opto/c2_globals.hpp
OptoBundlingboolaarch64falsedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
OptoBundlingboolc2product_pd
Generate nops to fill i-cache lines
share/opto/c2_globals.hpp
OptoBundlingboolppcfalsedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
OptoBundlingboolriscvfalsedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
OptoBundlingbools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
OptoBundlingboolx86falsedefine_pd_global
cpu/x86/c2_globals_x86.hpp
OptoCoalesceboolc2truedevelop
Use Conservative Copy Coalescing in the Register Allocator
share/opto/c2_globals.hpp
OptoLoopAlignmentintxaarch6416define_pd_global
cpu/aarch64/globals_aarch64.hpp
OptoLoopAlignmentintxarm16define_pd_global
cpu/arm/globals_arm.hpp
OptoLoopAlignmentintxruntimeproduct_pd
Align inner loops to zero relative to this modulus
share/runtime/globals.hpp
OptoLoopAlignmentintxppc16define_pd_global
cpu/ppc/globals_ppc.hpp
OptoLoopAlignmentintxriscv16define_pd_global
cpu/riscv/globals_riscv.hpp
OptoLoopAlignmentintxs3902define_pd_global
cpu/s390/globals_s390.hpp
OptoLoopAlignmentintxx8616define_pd_global
cpu/x86/globals_x86.hpp
OptoLoopAlignmentintxzero16define_pd_global
cpu/zero/globals_zero.hpp
OptoNoExecuteboolc2falsenotproduct
Attempt to parse and compile but do not execute generated code
share/opto/c2_globals.hpp
OptoNodeListSizeintxc24
range(1, max_jint)
develop
Starting allocation size of Node_List data structures
share/opto/c2_globals.hpp
OptoPeepholeAtintxc2-1develop
Apply peephole optimizations to this peephole rule
share/opto/c2_globals.hpp
OptoPeepholeboolaarch64falsedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
OptoPeepholeboolc2develop_pd
Apply peephole optimizations after register allocation
share/opto/c2_globals.hpp
OptoPeepholeboolppcfalsedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
OptoPeepholeboolriscvfalsedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
OptoPeepholebools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
OptoPeepholeboolx86truedefine_pd_global
cpu/x86/c2_globals_x86.hpp
OptoPrologueNopsintxc20
range(0, 128)
develop
Insert this many extra nop instructions 
in the prologue of every nmethod
share/opto/c2_globals.hpp
OptoRegSchedulingboolaarch64falsedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
OptoRegSchedulingboolc2product_pd
Instruction Scheduling before register allocation for pressure
share/opto/c2_globals.hpp
OptoRegSchedulingboolppcfalsedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
OptoRegSchedulingboolriscvfalsedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
OptoRegSchedulingbools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
OptoRegSchedulingboolx86truedefine_pd_global
cpu/x86/c2_globals_x86.hpp
OptoSchedulingboolaarch64falsedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
OptoSchedulingboolc2product_pd
Instruction Scheduling after register allocation
share/opto/c2_globals.hpp
OptoSchedulingboolppcfalsedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
OptoSchedulingboolriscvtruedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
OptoSchedulingbools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
OptoSchedulingboolx86falsedefine_pd_global
cpu/x86/c2_globals_x86.hpp
PLABWeightuintxgc75
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
PSAdaptiveSizePolicyResizeVirtualSpaceAlotintxgc-1
range(-1, 1)
develop
Resize the virtual spaces of the young or old generations
share/gc/shared/gc_globals.hpp
PSChunkLargeArraysboolgctrueproduct
Process large arrays in chunks
share/gc/parallel/parallel_globals.hpp
ParGCArrayScanChunkintgc50
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
ParallelGCBufferWastePctuintxgc10
range(0, 100)
product
Wasted fraction of parallel allocation buffer
share/gc/shared/gc_globals.hpp
ParallelGCThreadsuintgc0product
Number of parallel threads parallel gc will use
share/gc/shared/gc_globals.hpp
ParallelOldDeadWoodLimiterMeanObsoleted 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
ParallelOldDeadWoodLimiterStdDevObsoleted 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
ParallelRefProcBalancingEnabledboolgctrueproduct
Enable balancing of reference processing queues
share/gc/shared/gc_globals.hpp
ParallelRefProcEnabledboolgcfalseproduct
Enable parallel reference processing whenever possible
share/gc/shared/gc_globals.hpp
PartialPeelAtUnsignedTestsboolc2trueproduct
Partial peel at unsigned tests if no signed test exists
share/opto/c2_globals.hpp
PartialPeelLoopboolc2trueproduct
Partial peel (rotate) loops
share/opto/c2_globals.hpp
PartialPeelNewPhiDeltaintxc20
range(0, max_jint)
product
Additional phis that can be created by partial peeling
share/opto/c2_globals.hpp
PatchALotboolc1falsedevelop
Marks all fields as having unloaded classes
share/c1/c1_globals.hpp
PauseAtExitboolruntimefalseproduct
Pause and wait for keypress on exit if a debugger is attached
share/runtime/globals.hpp
PauseAtStartupFileccstrruntimenullptrproduct
The file to create and for whose removal to await when pausing 
at startup. (default: ./vm.paused.)
share/runtime/globals.hpp
PauseAtStartupboolruntimefalseproduct
Causes the VM to pause at startup time and wait for the pause 
file to be removed (default: ./vm.paused.)
share/runtime/globals.hpp
PausePaddinguintxgc1
range(0, max_juint)
product
How much buffer to keep for pause time
share/gc/shared/gc_globals.hpp
PerBytecodeRecompilationCutoffintxruntime200
range(-1, max_intx)
product
Per-BCI limit on repeated recompilation (-1=>'Inf')
share/runtime/globals.hpp
PerBytecodeTrapLimitintxruntime4
range(0, max_jint)
product
Limit on traps (of one kind) at a particular BCI
share/runtime/globals.hpp
PerMethodRecompilationCutoffintxruntime400
range(-1, max_intx)
product
After recompiling N times, stay in the interpreter (-1=>'Inf')
share/runtime/globals.hpp
PerMethodSpecTrapLimitintxruntime5000
range(0, max_jint)
product
Limit on speculative traps (of one kind) in a method 
(includes inlines)
share/runtime/globals.hpp
PerMethodTrapLimitintxruntime100
range(0, max_jint)
product
Limit on traps (of one kind) in a method (includes inlines)
share/runtime/globals.hpp
PerfAllowAtExitRegistrationboolruntimefalseproduct
Allow registration of atexit() methods
share/runtime/globals.hpp
PerfBypassFileSystemCheckboolruntimefalseproduct
Bypass Win32 file system criteria checks (Windows Only)
share/runtime/globals.hpp
PerfDataMemorySizeintruntime32*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
PerfDataSamplingIntervalintxruntime50
range(PeriodicTask::min_interval, max_jint)
product
Data sampling interval (in milliseconds)
share/runtime/globals.hpp
PerfDataSaveFileccstrruntimenullptrproduct
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
PerfDataSaveToFileboolruntimefalseproduct
Save PerfData memory to hsperfdata_ file on exit
share/runtime/globals.hpp
PerfDisableSharedMemboolruntimefalseproduct
Store performance data in standard memory
share/runtime/globals.hpp
PerfMaxStringConstLengthintruntime1024
range(32, 32*K)
product
Maximum PerfStringConstant string length before truncation
share/runtime/globals.hpp
PinAllInstructionsboolc1falsedevelop
All instructions are pinned
share/c1/c1_globals.hpp
PoisonOSREntryboolc2truedevelop
Detect abnormal calls to OSR code
share/opto/c2_globals.hpp
PostLoopMultiversioningboolc2falseproduct
Multi versioned post loops to eliminate range checks
share/opto/c2_globals.hpp
PowerArchitecturePPC64uintxppc0product
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
PreTouchParallelChunkSizesize_taix1 * Gdefine_pd_global
os/aix/globals_aix.hpp
PreTouchParallelChunkSizesize_tbsd1 * Gdefine_pd_global
os/bsd/globals_bsd.hpp
PreTouchParallelChunkSizesize_tlinux4 * Mdefine_pd_global
os/linux/globals_linux.hpp
PreTouchParallelChunkSizesize_tgcproduct_pd
Per-thread chunk size for parallel memory pre-touch.
share/gc/shared/gc_globals.hpp
PreTouchParallelChunkSizesize_twindows1 * Gdefine_pd_global
os/windows/globals_windows.hpp
PreallocatedOutOfMemoryErrorCountuintxruntime4develop
Number of OutOfMemoryErrors preallocated with backtrace
share/runtime/globals.hpp
PreferInterpreterNativeStubsboolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
PreferInterpreterNativeStubsboolarmfalsedefine_pd_global
cpu/arm/c2_globals_arm.hpp
PreferInterpreterNativeStubsboolcompilertruedefine_pd_global
share/compiler/compiler_globals_pd.hpp
PreferInterpreterNativeStubsboolruntimeproduct_pd
Use always interpreter stubs for native methods invoked via 
interpreter
share/runtime/globals.hpp
PreferInterpreterNativeStubsboolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
PreferInterpreterNativeStubsboolriscvfalsedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
PreferInterpreterNativeStubsbools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
PreferInterpreterNativeStubsboolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
PreferLAoverADDbools390falseproduct
Use LA/LAY instructions over ADD instructions (z/Architecture).
cpu/s390/globals_s390.hpp
PrefetchCopyIntervalInBytesintxgc-1
range(-1, max_jint)
product
How far ahead to prefetch destination area (<= 0 means off)
share/gc/shared/gc_globals.hpp
PrefetchScanIntervalInBytesintxgc-1
range(-1, max_jint)
product
How far ahead to prefetch scan area (<= 0 means off)
share/gc/shared/gc_globals.hpp
PreserveAllAnnotationsDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolruntimefalseproduct
Preserve RuntimeInvisibleAnnotations as well 
as RuntimeVisibleAnnotations
share/runtime/globals.hpp
PreserveFramePointerboolaarch64falsedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
PreserveFramePointerboolarmfalsedefine_pd_global
cpu/arm/globals_arm.hpp
PreserveFramePointerboolruntimeproduct_pd
Use the FP register for holding the frame pointer 
and not as a general purpose register.
share/runtime/globals.hpp
PreserveFramePointerboolppcfalsedefine_pd_global
cpu/ppc/globals_ppc.hpp
PreserveFramePointerboolriscvfalsedefine_pd_global
cpu/riscv/globals_riscv.hpp
PreserveFramePointerbools390falsedefine_pd_global
cpu/s390/globals_s390.hpp
PreserveFramePointerboolx86falsedefine_pd_global
cpu/x86/globals_x86.hpp
PreserveFramePointerboolzerofalsedefine_pd_global
cpu/zero/globals_zero.hpp
PretenureSizeThresholdsize_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
PrintAdapterHandlersboolruntimefalseproduct
Print code generated for i2c/c2i adapters
share/runtime/globals.hpp
PrintAssemblyOptionsccstrruntimenullptrproduct
Print options string passed to disassembler.so
share/runtime/globals.hpp
PrintAssemblyboolruntimefalseproduct
Print assembly code (using external disassembler.so)
share/runtime/globals.hpp
PrintBailoutsboolc1falsedevelop
Print bailout and its reason
share/c1/c1_globals.hpp
PrintBlockEliminationboolc1falsedevelop
Print basic block elimination
share/c1/c1_globals.hpp
PrintBootstrapbooljvmcitrueproduct
Print JVMCI bootstrap progress and summary
share/jvmci/jvmci_globals.hpp
PrintBytecodeHistogramboolruntimefalsedevelop
Print histogram of the executed bytecodes
share/runtime/globals.hpp
PrintBytecodePairHistogramboolruntimefalsedevelop
Print histogram of the executed bytecode pairs
share/runtime/globals.hpp
PrintC1Statisticsboolc1falsenotproduct
Print Compiler1 statistics
share/c1/c1_globals.hpp
PrintCEEboolc1falsedevelop
Print Conditional Expression Elimination
share/c1/c1_globals.hpp
PrintCFG0boolc1falsenotproduct
Print control flow graph after construction
share/c1/c1_globals.hpp
PrintCFG1boolc1falsenotproduct
Print control flow graph after optimizations
share/c1/c1_globals.hpp
PrintCFG2boolc1falsenotproduct
Print control flow graph before code generation
share/c1/c1_globals.hpp
PrintCFGBlockFreqboolc2falsedevelop
Print CFG block frequencies
share/opto/c2_globals.hpp
PrintCFGToFileboolc1falsedevelop
print control flow graph to a separate file during compilation
share/c1/c1_globals.hpp
PrintCFGboolc1falsenotproduct
Print control flow graph after each change
share/c1/c1_globals.hpp
PrintCanonicalizationboolc1falsedevelop
Print graph node canonicalization
share/c1/c1_globals.hpp
PrintClassHistogramboolruntimefalseproduct
Print a histogram of class instances
share/runtime/globals.hpp
PrintClassLoaderDataGraphAtExitboolruntimefalsenotproduct
Print the class loader data graph at exit
share/runtime/globals.hpp
PrintCodeCache2boolruntimefalsedevelop
Print detailed usage information on the code cache when exiting
share/runtime/globals.hpp
PrintCodeCacheExtensionboolruntimefalsedevelop
Print extension of code cache
share/runtime/globals.hpp
PrintCodeCacheOnCompilationboolruntimefalseproduct
Print the code cache memory usage each time a method is 
compiled
share/runtime/globals.hpp
PrintCodeCacheboolruntimefalseproduct
Print the code cache memory usage when exiting
share/runtime/globals.hpp
PrintCodeHeapAnalyticsboolruntimefalseproduct
Print code heap usage statistics on exit and on full condition
share/runtime/globals.hpp
PrintCommandLineFlagsboolruntimefalseproduct
Print flags specified on command line or set by ergonomics
share/runtime/globals.hpp
PrintCompilation2boolruntimefalseproduct
Print additional statistics per compilation
share/runtime/globals.hpp
PrintCompilationboolruntimefalseproduct
Print compilations
share/runtime/globals.hpp
PrintConcurrentLocksboolruntimefalseproduct
Print java.util.concurrent locks in thread dump
share/runtime/globals.hpp
PrintDebugInfoboolruntimefalsedevelop
Print debug information for all nmethods when generated
share/runtime/globals.hpp
PrintDeoptimizationDetailsboolruntimefalsedevelop
Print more information about deoptimization
share/runtime/globals.hpp
PrintDependenciesboolruntimefalsedevelop
Print dependency information for all nmethods when generated
share/runtime/globals.hpp
PrintDominatorsboolc2falsedevelop
Print out dominator trees for GVN
share/opto/c2_globals.hpp
PrintEliminateAllocationsboolc2falsenotproduct
Print out when allocations are eliminated
share/opto/c2_globals.hpp
PrintEliminateLocksboolc2falsenotproduct
Print out when locks are eliminated
share/opto/c2_globals.hpp
PrintEscapeAnalysisboolc2falsenotproduct
Print the results of escape analysis
share/opto/c2_globals.hpp
PrintExceptionHandlersboolruntimefalsedevelop
Print exception handler tables for all nmethods when generated
share/runtime/globals.hpp
PrintExtendedThreadInfoboolruntimefalseproduct
Print more information in thread dump
share/runtime/globals.hpp
PrintFieldLayoutboolruntimefalsenotproduct
Print field layout for each class
share/runtime/globals.hpp
PrintFlagsFinalboolruntimefalseproduct
Print all VM flags after argument and ergonomic processing
share/runtime/globals.hpp
PrintFlagsInitialboolruntimefalseproduct
Print all VM flags before argument processing and exit VM
share/runtime/globals.hpp
PrintFlagsRangesboolruntimefalseproduct
Print VM flags and their ranges
share/runtime/globals.hpp
PrintFlagsWithCommentsboolruntimefalsenotproduct
Print all VM flags with default values and descriptions and 
exit
share/runtime/globals.hpp
PrintFrameConverterAssemblyboolc2falsenotproduct
Print New compiler assembly output for frame converters
share/opto/c2_globals.hpp
PrintGCDetailsboolgcfalseproduct
Print more details at garbage collection. 
Deprecated, use -Xlog:gc* instead.
share/gc/shared/gc_globals.hpp
PrintGCboolgcfalseproduct
Print message at garbage collection. 
Deprecated, use -Xlog:gc instead.
share/gc/shared/gc_globals.hpp
PrintHeapAtSIGBREAKboolruntimetrueproduct
Print heap layout in response to SIGBREAK
share/runtime/globals.hpp
PrintIR0boolc1falsenotproduct
Print full intermediate representation after construction
share/c1/c1_globals.hpp
PrintIR1boolc1falsenotproduct
Print full intermediate representation after optimizations
share/c1/c1_globals.hpp
PrintIR2boolc1falsenotproduct
Print full intermediate representation before code generation
share/c1/c1_globals.hpp
PrintIRDuringConstructionboolc1falsenotproduct
Print IR as it's being constructed (helpful for debugging frontend)
share/c1/c1_globals.hpp
PrintIRWithLIRboolc1falsenotproduct
Print IR instructions with generated LIR
share/c1/c1_globals.hpp
PrintIRboolc1falsenotproduct
Print full intermediate representation after each change
share/c1/c1_globals.hpp
PrintIdealGraphAddressccstrc2127.0.0.1notproduct
IP address to connect to visualizer
share/opto/c2_globals.hpp
PrintIdealGraphFileccstrc2nullptrnotproduct
File to dump ideal graph to. If set overrides the 
use of the network
share/opto/c2_globals.hpp
PrintIdealGraphLevelintxc20
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
PrintIdealGraphPortintxc24444
range(0, SHRT_MAX)
notproduct
Ideal graph printer to network port
share/opto/c2_globals.hpp
PrintIdealGraphboolc2falsenotproduct
Print ideal graph to XML file / network interface. 
By default attempts to connect to the visualizer on a socket.
share/opto/c2_globals.hpp
PrintIdealNodeCountboolc2falsenotproduct
Print liveness counts of ideal nodes
share/opto/c2_globals.hpp
PrintIdealboolc2falsenotproduct
Print ideal graph before code generation
share/opto/c2_globals.hpp
PrintInitialBlockListboolc1falsenotproduct
Print block list of BlockListBuilder
share/c1/c1_globals.hpp
PrintInliningboolruntimefalseproduct
Print inlining optimizations
share/runtime/globals.hpp
PrintInterpreterboolruntimefalseproduct
Print the generated interpreter code
share/runtime/globals.hpp
PrintIntrinsicsboolc2falseproduct
prints attempted and successful inlining of intrinsics
share/opto/c2_globals.hpp
PrintLIRWithAssemblyboolc1falsenotproduct
Show LIR instruction with generated assembly
share/c1/c1_globals.hpp
PrintLIRboolc1falsedevelop
print low-level IR
share/c1/c1_globals.hpp
PrintLockStatisticsboolc2falsenotproduct
Print precise statistics on the dynamic lock usage
share/opto/c2_globals.hpp
PrintMetaspaceStatisticsAtExitboolruntimefalseproduct
Print metaspace statistics upon VM exit.
share/runtime/globals.hpp
PrintMethodDataboolruntimefalseproduct
Print the results of +ProfileInterpreter at end of run
share/runtime/globals.hpp
PrintMethodFlushingStatisticsboolruntimefalseproduct
print statistics about method flushing
share/runtime/globals.hpp
PrintMethodHandleStubsboolruntimefalseproduct
Print generated stub code for method handles
share/runtime/globals.hpp
PrintMiscellaneousboolruntimefalsedevelop
Print uncategorized debugging information (requires +Verbose)
share/runtime/globals.hpp
PrintNMTStatisticsboolruntimefalseproduct
Print native memory tracking summary data if it is on
share/runtime/globals.hpp
PrintNMethodStatisticsboolruntimefalsenotproduct
Print a summary statistic for the generated nmethods
share/runtime/globals.hpp
PrintNMethodsboolruntimefalseproduct
Print assembly code for nmethods when generated
share/runtime/globals.hpp
PrintNativeNMethodsboolruntimefalseproduct
Print assembly code for native nmethods when generated
share/runtime/globals.hpp
PrintNotLoadedboolc1falsedevelop
Prints where classes are not loaded during code generation
share/c1/c1_globals.hpp
PrintNullCheckEliminationboolc1falsedevelop
Print null check elimination
share/c1/c1_globals.hpp
PrintOptimizePtrCompareboolc2falsenotproduct
Print information about optimized pointers compare
share/opto/c2_globals.hpp
PrintOptimizeStringConcatboolc2falsenotproduct
Print information about transformations performed on Strings
share/opto/c2_globals.hpp
PrintOptoAssemblyboolc2falseproduct
Print New compiler assembly output
share/opto/c2_globals.hpp
PrintOptoInliningboolc2falsenotproduct
Print compiler2 inlining decisions
share/opto/c2_globals.hpp
PrintOptoPeepholeboolc2falsenotproduct
Print New compiler peephole replacements
share/opto/c2_globals.hpp
PrintOptoStatisticsboolc2falsenotproduct
Print New compiler statistics
share/opto/c2_globals.hpp
PrintOptoboolc2falsenotproduct
Print compiler2 attempts
share/opto/c2_globals.hpp
PrintParseStatisticsboolc2falsenotproduct
Print nodes, transforms and new values made per bytecode parsed
share/opto/c2_globals.hpp
PrintPhiFunctionsboolc1falsenotproduct
Print phi functions when they are created and simplified
share/c1/c1_globals.hpp
PrintPreciseRTMLockingStatisticsboolc2falseproduct
Print per-lock-site statistics of rtm locking in JVM
share/opto/c2_globals.hpp
PrintRelocationsboolruntimefalsedevelop
Print relocation information for all nmethods when generated
share/runtime/globals.hpp
PrintRewritesboolruntimefalsenotproduct
Print methods that are being rewritten
share/runtime/globals.hpp
PrintSharedArchiveAndExitboolcdsfalseproduct
Print shared archive file contents
share/cds/cds_globals.hpp
PrintSignatureHandlersboolruntimefalseproduct
Print code generated for native method signature handlers
share/runtime/globals.hpp
PrintSimpleStubsboolc1falsenotproduct
Print SimpleStubs
share/c1/c1_globals.hpp
PrintStringTableStatisticsboolruntimefalseproduct
print statistics about the StringTable and SymbolTable
share/runtime/globals.hpp
PrintStubCodeboolruntimefalseproduct
Print generated stub code
share/runtime/globals.hpp
PrintSymbolTableSizeHistogramboolruntimefalsenotproduct
print histogram of the symbol table
share/runtime/globals.hpp
PrintSystemDictionaryAtExitboolruntimefalsenotproduct
Print the system dictionary at exit
share/runtime/globals.hpp
PrintTieredEventsboolcompilerfalseproduct
Print tiered events notifications
share/compiler/compiler_globals.hpp
PrintVMOptionsboolruntimefalseproduct
Print flags that appeared on the command line
share/runtime/globals.hpp
PrintValueNumberingboolc1falsedevelop
Print Value Numbering
share/c1/c1_globals.hpp
PrintWarningsboolruntimetrueproduct
Print JVM warnings to output stream
share/runtime/globals.hpp
ProcessDistributionStrideObsoleted in JDK23
Expired in JDK24
uintxruntime4
range(0, max_juint)
product
Stride through processors when distributing processes
share/runtime/globals.hpp
ProfileDynamicTypesboolc2trueproduct
do extra type profiling and use it more aggressively
share/opto/c2_globals.hpp
ProfileInterpreterboolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
ProfileInterpreterboolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
ProfileInterpreterboolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
ProfileInterpreterboolruntimeproduct_pd
Profile at the bytecode level during interpretation
share/runtime/globals.hpp
ProfileInterpreterboolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
ProfileInterpreterboolriscvtruedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
ProfileInterpreterbools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
ProfileInterpreterboolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
ProfileMaturityPercentageintxruntime20
range(0, 100)
product
number of method invocations/branches (expressed as % of 
CompileThreshold) before using the method's profile
share/runtime/globals.hpp
ProfileTrapsboolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
ProfileTrapsboolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
ProfileTrapsboolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
ProfileTrapsboolruntimedevelop_pd
Profile deoptimization traps at the bytecode level
share/runtime/globals.hpp
ProfileTrapsboolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
ProfileTrapsboolriscvtruedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
ProfileTrapsbools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
ProfileTrapsboolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
ProfiledCodeHeapSizeintxaarch6414*Mdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
ProfiledCodeHeapSizesize_tarm14*Mdefine_pd_global
cpu/arm/c1_globals_arm.hpp
ProfiledCodeHeapSizeuintxcompiler0define_pd_global
share/compiler/compiler_globals_pd.hpp
ProfiledCodeHeapSizeuintxruntimeproduct_pd
Size of code heap with profiled methods (in bytes)
share/runtime/globals.hpp
ProfiledCodeHeapSizeuintxppc14*Mdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
ProfiledCodeHeapSizeintxriscv22*Mdefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
ProfiledCodeHeapSizeuintxs39022*Mdefine_pd_global
cpu/s390/c2_globals_s390.hpp
ProfiledCodeHeapSizeuintxx8614*Mdefine_pd_global
cpu/x86/c1_globals_x86.hpp
PromotedPaddinguintxgc3
range(0, max_juint)
product
How much buffer to keep for promotion failure
share/gc/shared/gc_globals.hpp
PromotionFailureALotCountuintxgc1000develop
Number of promotion failures occurring at PLAB promotion 
attempts at young collectors
share/gc/shared/gc_globals.hpp
PromotionFailureALotIntervaluintxgc5develop
Total collections between promotion failures a lot
share/gc/shared/gc_globals.hpp
PromotionFailureALotboolgcfalsenotproduct
Use promotion failure handling on every youngest generation 
collection
share/gc/shared/gc_globals.hpp
QueuedAllocationWarningCountuintxgc0
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
RTMAbortRatiointppc50
range(0, 100) /* natural range */
product
Lock abort ratio at which to stop use RTM lock eliding
cpu/ppc/globals_ppc.hpp
RTMAbortRatiointx8650
range(0, 100) /* natural range */
product
Lock abort ratio at which to stop use RTM lock eliding
cpu/x86/globals_x86.hpp
RTMAbortThresholdintppc1000
range(0, max_jint)
product
Calculate abort ratio after this number of aborts
cpu/ppc/globals_ppc.hpp
RTMAbortThresholdintx861000
range(0, max_jint)
product
Calculate abort ratio after this number of aborts
cpu/x86/globals_x86.hpp
RTMLockingCalculationDelayintxppc0product
Number of milliseconds to wait before start calculating aborts 
for RTM locking
cpu/ppc/globals_ppc.hpp
RTMLockingCalculationDelayintxx860product
Number of milliseconds to wait before start calculating aborts 
for RTM locking
cpu/x86/globals_x86.hpp
RTMLockingThresholdintppc10000
range(0, max_jint)
product
Lock count at which to do RTM lock eliding without 
abort ratio calculation
cpu/ppc/globals_ppc.hpp
RTMLockingThresholdintx8610000
range(0, max_jint)
product
Lock count at which to do RTM lock eliding without 
abort ratio calculation
cpu/x86/globals_x86.hpp
RTMRetryCountDeprecated 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
RTMRetryCountDeprecated 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
RTMSpinLoopCountintppc100
range(0, 32767) /* immediate operand limit on ppc */
product
Spin count for lock to become free before RTM retry
cpu/ppc/globals_ppc.hpp
RTMSpinLoopCountintx86100
range(0, max_jint)
product
Spin count for lock to become free before RTM retry
cpu/x86/globals_x86.hpp
RTMTotalCountIncrRateintppc64
range(1, 32767) /* immediate operand limit on ppc */
product
Increment total RTM attempted lock count once every n times
cpu/ppc/globals_ppc.hpp
RTMTotalCountIncrRateintx8664
range(1, max_jint)
product
Increment total RTM attempted lock count once every n times
cpu/x86/globals_x86.hpp
RangeCheckEliminationboolruntimetrueproduct
Eliminate range checks
share/runtime/globals.hpp
ReassociateInvariantsboolc2trueproduct
Enable reassociation of expressions with loop invariants.
share/opto/c2_globals.hpp
RecordDynamicDumpInfoboolcdsfalseproduct
Record class info for jcmd VM.cds dynamic_dump
share/cds/cds_globals.hpp
ReduceBulkZeroingboolc2trueproduct
When bulk-initializing, try to avoid needless zeroing
share/opto/c2_globals.hpp
ReduceFieldZeroingboolc2trueproduct
When initializing fields, try to avoid needless zeroing
share/opto/c2_globals.hpp
ReduceInitialCardMarksboolc2trueproduct
When initializing fields, try to avoid needless card marks
share/opto/c2_globals.hpp
ReduceNumberOfCompilerThreadsboolruntimetrueproduct
Reduce the number of parallel compiler threads when they 
are not used
share/runtime/globals.hpp
ReduceSignalUsageboolruntimefalseproduct
Reduce the use of OS signals in Java and/or the VM
share/runtime/globals.hpp
ReferencesPerThreadsize_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
RegisterCostAreaRatiointxaarch6416000define_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
RegisterCostAreaRatiointxc2develop_pd
Spill selection in reg allocator: scale area by (X/64K) before 
adding cost
share/opto/c2_globals.hpp
RegisterCostAreaRatiointxppc16000define_pd_global
cpu/ppc/c2_globals_ppc.hpp
RegisterCostAreaRatiointxriscv16000define_pd_global
cpu/riscv/c2_globals_riscv.hpp
RegisterCostAreaRatiointxs39012000define_pd_global
cpu/s390/c2_globals_s390.hpp
RegisterCostAreaRatiointxx8616000define_pd_global
cpu/x86/c2_globals_x86.hpp
RegisterFinalizersAtInitDeprecated in JDK22
Obsoleted in JDK23
Expired in JDK24
boolruntimetrueproduct
Register finalizable objects at end of Object. or 
after allocation
share/runtime/globals.hpp
RegisterReferencesboolruntimetruedevelop
Tell whether the VM should register soft/weak/final/phantom 
references
share/runtime/globals.hpp
RelaxAccessControlCheckboolruntimefalseproduct
Relax the access control checks in the verifier
share/runtime/globals.hpp
RenumberLiveNodesboolc2truedevelop
Renumber live nodes
share/opto/c2_globals.hpp
ReoptimizeCallSequencesboolppctrueproduct
Reoptimize code-sequences of calls at runtime.
cpu/ppc/globals_ppc.hpp
ReoptimizeCallSequencesbools390trueproduct
Reoptimize code-sequences of calls at runtime.
cpu/s390/globals_s390.hpp
RepeatCompilationintxruntime0
range(0, max_jint)
product
Repeat compilation without installing code (number of times)
share/runtime/globals.hpp
ReplayCompilesboolcompilerfalseproduct
Enable replay of compilations from ReplayDataFile
share/compiler/compiler_globals.hpp
ReplayDataFileccstrcompilernullptrproduct
File containing compilation replay information
[default: ./replay_pid%p.log] (%p replaced with pid)
share/compiler/compiler_globals.hpp
ReplayIgnoreInitErrorsboolcompilerfalseproduct
Ignore exceptions thrown during initialization for replay
share/compiler/compiler_globals.hpp
ReplayReduceboolcompilerfalseproduct
Enable features to facilitate replay file reduction
share/compiler/compiler_globals.hpp
ReplaySuppressInitializersintxcompiler2
range(0, 3)
product
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
ReservedCodeCacheSizeintxaarch6432*Mdefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
ReservedCodeCacheSizesize_tarm32*Mdefine_pd_global
cpu/arm/c1_globals_arm.hpp
ReservedCodeCacheSizeuintxcompiler32*Mdefine_pd_global
share/compiler/compiler_globals_pd.hpp
ReservedCodeCacheSizeuintxruntimeproduct_pd
Reserved code cache size (in bytes) - maximum code cache size
share/runtime/globals.hpp
ReservedCodeCacheSizeuintxppc32*Mdefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
ReservedCodeCacheSizeintxriscv48*Mdefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
ReservedCodeCacheSizeuintxs39048*Mdefine_pd_global
cpu/s390/c2_globals_s390.hpp
ReservedCodeCacheSizeuintxx8632*Mdefine_pd_global
cpu/x86/c1_globals_x86.hpp
ResizePLABboolgctrueproduct
Dynamically resize (survivor space) promotion LAB's
share/gc/shared/gc_globals.hpp
ResizeTLABboolgctrueproduct
Dynamically resize TLAB size for threads
share/gc/shared/tlab_globals.hpp
RestoreMXCSROnJNICallsboolruntimefalseproduct
Restore MXCSR when returning from JNI calls
share/runtime/globals.hpp
RestrictContendedboolruntimetrueproduct
Restrict @Contended to trusted classes
share/runtime/globals.hpp
RestrictReservedStackboolruntimetrueproduct
Restrict @ReservedStackAccess to trusted classes
share/runtime/globals.hpp
RewriteBytecodesboolaarch64truedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
RewriteBytecodesboolarmtruedefine_pd_global
cpu/arm/globals_arm.hpp
RewriteBytecodesboolruntimeproduct_pd
Allow rewriting of bytecodes (bytecodes are not immutable)
share/runtime/globals.hpp
RewriteBytecodesboolppctruedefine_pd_global
cpu/ppc/globals_ppc.hpp
RewriteBytecodesboolriscvtruedefine_pd_global
cpu/riscv/globals_riscv.hpp
RewriteBytecodesbools390truedefine_pd_global
cpu/s390/globals_s390.hpp
RewriteBytecodesboolx86truedefine_pd_global
cpu/x86/globals_x86.hpp
RewriteBytecodesboolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
RewriteFrequentPairsboolaarch64truedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
RewriteFrequentPairsboolarmtruedefine_pd_global
cpu/arm/globals_arm.hpp
RewriteFrequentPairsboolruntimeproduct_pd
Rewrite frequently used bytecode pairs into a single bytecode
share/runtime/globals.hpp
RewriteFrequentPairsboolppctruedefine_pd_global
cpu/ppc/globals_ppc.hpp
RewriteFrequentPairsboolriscvtruedefine_pd_global
cpu/riscv/globals_riscv.hpp
RewriteFrequentPairsbools390truedefine_pd_global
cpu/s390/globals_s390.hpp
RewriteFrequentPairsboolx86truedefine_pd_global
cpu/x86/globals_x86.hpp
RewriteFrequentPairsboolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
SafepointALotboolruntimefalseproduct
Generate a lot of safepoints. This works with 
GuaranteedSafepointInterval
share/runtime/globals.hpp
SafepointTimeoutDelayintxruntime10000
range(0, max_intx LP64_ONLY(/MICROUNITS))
product
Delay in milliseconds for option SafepointTimeout
share/runtime/globals.hpp
SafepointTimeoutboolruntimefalseproduct
Time out and warn or fail after SafepointTimeoutDelay 
milliseconds if failed to reach safepoint
share/runtime/globals.hpp
ScavengeALotIntervalintxgc1notproduct
Interval between which scavenge will occur with +ScavengeALot
share/gc/shared/gc_globals.hpp
ScavengeALotboolgcfalsenotproduct
Force scavenge at every Nth exit from the runtime system 
(N=ScavengeALotInterval)
share/gc/shared/gc_globals.hpp
ScavengeBeforeFullGCObsoleted in JDK23
Expired in JDK24
boolgctrueproduct
Scavenge youngest generation before each full GC.
share/gc/shared/gc_globals.hpp
ScavengeRootsInCodeintxruntime2
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
SegmentedCodeCacheboolruntimefalseproduct
Use a segmented code cache
share/runtime/globals.hpp
SelectivePhiFunctionsboolc1truedevelop
create phi functions at loop headers only when necessary
share/c1/c1_globals.hpp
SelfDestructTimerdoubleruntime0.0
range(0.0, (double)max_intx)
product
Will cause VM to terminate after a given time 
(in fractional minutes) 
(0.0 means off)
share/runtime/globals.hpp
SerializeVMOutputboolruntimetrueproduct
Use a mutex to serialize output to tty and LogFile
share/runtime/globals.hpp
SharedArchiveConfigFileccstrcdsnullptrproduct
Data to add to the CDS archive file
share/cds/cds_globals.hpp
SharedArchiveFileccstrcdsnullptrproduct
Override the default location of the CDS archive file
share/cds/cds_globals.hpp
SharedBaseAddresssize_tcdsLP64_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/cds/cds_globals.hpp
SharedClassListFileccstrcdsnullptrproduct
Override the default CDS class list
share/cds/cds_globals.hpp
SharedSymbolTableBucketSizeuintcds4
range(2, 246)
product
Average number of symbols per bucket in shared table
share/cds/cds_globals.hpp
ShenandoahAdaptiveDecayFactordoublegc0.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
ShenandoahAdaptiveInitialConfidencedoublegc1.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
ShenandoahAdaptiveInitialSpikeThresholddoublegc1.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
ShenandoahAdaptiveSampleFrequencyHzuintxgc10product
The number of times per second to update the allocation rate 
moving average.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAdaptiveSampleSizeSecondsuintxgc10product
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
ShenandoahAllocFailureALotboolgcfalseproduct
Testing: make lots of artificial allocation failures.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocSpikeFactoruintxgc5
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
ShenandoahAllocationThresholduintxgc0
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
ShenandoahAlwaysClearSoftRefsboolgcfalseproduct
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
ShenandoahCASBarrierboolgctrueproduct
Turn on/off CAS barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCloneBarrierboolgctrueproduct
Turn on/off clone barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahControlIntervalAdjustPerioduintxgc1000product
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
ShenandoahControlIntervalMaxuintxgc10product
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
ShenandoahControlIntervalMinuintxgc1product
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
ShenandoahCriticalFreeThresholduintxgc1
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
ShenandoahDegeneratedGCboolgctrueproduct
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
ShenandoahEvacReserveOverflowboolgctrueproduct
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
ShenandoahEvacReserveuintxgc5
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
ShenandoahEvacWastedoublegc1.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
ShenandoahFullGCThresholduintxgc3product
How many back-to-back Degenerated GCs should happen before 
going to a Full GC.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahGCHeuristicsccstrgcadaptiveproduct
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
ShenandoahGCModeccstrgcsatbproduct
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
ShenandoahGarbageThresholduintxgc25
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
ShenandoahGuaranteedGCIntervaluintxgc5*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
ShenandoahHumongousMovesboolgctrueproduct
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
ShenandoahHumongousThresholdintxgc100
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
ShenandoahIUBarrierboolgcfalseproduct
Turn on/off I-U barriers barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahImmediateThresholduintxgc90
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
ShenandoahImplicitGCInvokesConcurrentboolgcfalseproduct
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
ShenandoahInitFreeThresholduintxgc70
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
ShenandoahLearningStepsuintxgc5
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
ShenandoahLoadRefBarrierboolgctrueproduct
Turn on/off load-reference barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMarkLoopStrideuintxgc1000product
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
ShenandoahMarkScanPrefetchintxgc32
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
ShenandoahMaxRegionSizesize_tgc32 * Mproduct
With automatic region sizing, the regions would be at most 
this large.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMaxSATBBufferFlushesuintxgc5product
How many times to maximum attempt to flush SATB buffers at the 
end of concurrent marking.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMinFreeThresholduintxgc10
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
ShenandoahMinRegionSizesize_tgc256 * Kproduct
With automatic region sizing, the regions would be at least 
this large.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahOOMDuringEvacALotboolgcfalseproduct
Testing: simulate OOM during evacuation.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingCycleSlackuintxgc10
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
ShenandoahPacingIdleSlackuintxgc2
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
ShenandoahPacingMaxDelayuintxgc10product
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
ShenandoahPacingSurchargedoublegc1.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
ShenandoahPacingboolgctrueproduct
Pace application allocations to give GC chance to start 
and complete before allocation failure is reached.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahParallelRegionStrideuintxgc1024product
How many regions to process at once during parallel region 
iteration. Affects heaps with lots of regions.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRegionSamplingRateintgc40product
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
ShenandoahRegionSamplingboolgcfalseproduct
Provide heap region sampling data via jvmstat.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRegionSizesize_tgc0product
Static heap region size. Set zero to enable automatic sizing.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBarrierboolgctrueproduct
Turn on/off SATB barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBufferSizesize_tgc1 * K
range(1, max_uintx)
product
Number of entries in an SATB log buffer.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahStackWatermarkBarrierboolgctrueproduct
Turn on/off stack watermark barriers in Shenandoah
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahTargetNumRegionssize_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
ShenandoahUncommitDelayuintxgc5*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
ShenandoahUncommitboolgctrueproduct
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
ShenandoahVerifyLevelintxgc4product
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
ShenandoahVerifyOptoBarriersboolgctrueInDebugdevelop
Verify no missing barriers in C2.
share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahVerifyboolgcfalseproduct
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
ShowCarrierFramesboolruntimefalseproduct
show virtual threads' carrier frames in exceptions
share/runtime/globals.hpp
ShowCodeDetailsInExceptionMessagesboolruntimetrueproduct
Show exception messages from RuntimeExceptions that contain 
snippets of the failing code. Disable this to improve privacy.
share/runtime/globals.hpp
ShowHiddenFramesboolruntimefalseproduct
show method handle implementation frames (usually hidden)
share/runtime/globals.hpp
ShowMessageBoxOnErrorboolruntimefalseproduct
Keep process alive on VM fatal error
share/runtime/globals.hpp
ShowRegistersOnAssertboolruntimetrueproduct
On internal errors, include registers in error report.
share/runtime/globals.hpp
ShrinkHeapInStepsboolruntimetrueproduct
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
SoftMatchFailureboolc2trueInProductdevelop
If the DFA fails to match a node, print a message and bail out
share/opto/c2_globals.hpp
SoftMaxHeapSizesize_tgc0product
Soft limit for maximum heap size (in bytes)
share/gc/shared/gc_globals.hpp
SoftRefLRUPolicyMSPerMBintxruntime1000
range(0, max_intx)
product
Number of milliseconds per MB of free space in the heap
share/runtime/globals.hpp
SoftwarePrefetchHintDistanceintaarch64-1
range(-1, 4096)
product
Use prfm hint with specified distance in compiled code.
Value -1 means off.
cpu/aarch64/globals_aarch64.hpp
SpecTrapLimitExtraEntriesintxruntime3product
Extra method data trap entries for speculation
share/runtime/globals.hpp
SpecialArraysEqualsboolc2trueproduct
special version of Arrays.equals(char[],char[])
share/opto/c2_globals.hpp
SpecialEncodeISOArrayboolc2trueproduct
special version of ISO_8859_1$Encoder.encodeISOArray
share/opto/c2_globals.hpp
SpecialStringCompareToboolc2trueproduct
special version of string compareTo
share/opto/c2_globals.hpp
SpecialStringEqualsboolc2trueproduct
special version of string equals
share/opto/c2_globals.hpp
SpecialStringIndexOfboolc2trueproduct
special version of string indexOf
share/opto/c2_globals.hpp
SplitIfBlocksboolc2trueproduct
Clone compares and control flow through merge points to fold 
some branches
share/opto/c2_globals.hpp
StackPrintLimitintxruntime100develop
number of stack frames to print in VM-level stack dump
share/runtime/globals.hpp
StackRedPagesintxaarch64DEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/aarch64/globals_aarch64.hpp
StackRedPagesintxarmDEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/arm/globals_arm.hpp
StackRedPagesintxruntimeproduct_pd
Number of red zone (unrecoverable overflows) pages of size 

4KB. If pages are bigger red zone is aligned up.
share/runtime/globals.hpp
StackRedPagesintxppcDEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/ppc/globals_ppc.hpp
StackRedPagesintxriscvDEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/riscv/globals_riscv.hpp
StackRedPagesintxs390DEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/s390/globals_s390.hpp
StackRedPagesintxx86DEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/x86/globals_x86.hpp
StackRedPagesintxzeroDEFAULT_STACK_RED_PAGESdefine_pd_global
cpu/zero/globals_zero.hpp
StackReservedPagesintxaarch64DEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/aarch64/globals_aarch64.hpp
StackReservedPagesintxarmDEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/arm/globals_arm.hpp
StackReservedPagesintxruntimeproduct_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
StackReservedPagesintxppcDEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/ppc/globals_ppc.hpp
StackReservedPagesintxriscvDEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/riscv/globals_riscv.hpp
StackReservedPagesintxs390DEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/s390/globals_s390.hpp
StackReservedPagesintxx86DEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/x86/globals_x86.hpp
StackReservedPagesintxzeroDEFAULT_STACK_RESERVED_PAGESdefine_pd_global
cpu/zero/globals_zero.hpp
StackShadowPagesintxaarch64DEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/aarch64/globals_aarch64.hpp
StackShadowPagesintxarmDEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/arm/globals_arm.hpp
StackShadowPagesintxruntimeproduct_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
StackShadowPagesintxppcDEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/ppc/globals_ppc.hpp
StackShadowPagesintxriscvDEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/riscv/globals_riscv.hpp
StackShadowPagesintxs390DEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/s390/globals_s390.hpp
StackShadowPagesintxx86DEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/x86/globals_x86.hpp
StackShadowPagesintxzeroDEFAULT_STACK_SHADOW_PAGESdefine_pd_global
cpu/zero/globals_zero.hpp
StackTraceInThrowableboolruntimetrueproduct
Collect backtrace in throwable when exception happens
share/runtime/globals.hpp
StackYellowPagesintxaarch64DEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/aarch64/globals_aarch64.hpp
StackYellowPagesintxarmDEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/arm/globals_arm.hpp
StackYellowPagesintxruntimeproduct_pd
Number of yellow zone (recoverable overflows) pages of size 

4KB. If pages are bigger yellow zone is aligned up.
share/runtime/globals.hpp
StackYellowPagesintxppcDEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/ppc/globals_ppc.hpp
StackYellowPagesintxriscvDEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/riscv/globals_riscv.hpp
StackYellowPagesintxs390DEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/s390/globals_s390.hpp
StackYellowPagesintxx86DEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/x86/globals_x86.hpp
StackYellowPagesintxzeroDEFAULT_STACK_YELLOW_PAGESdefine_pd_global
cpu/zero/globals_zero.hpp
StartAggressiveSweepingAtuintxruntime10
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
StartAttachListenerboolruntimefalseproduct
Always start Attach Listener at VM startup
share/runtime/globals.hpp
StartFlightRecordingccstrruntimenullptrproduct
Start flight recording with options
share/runtime/globals.hpp
StopInterpreterAtintxruntime0develop
Stop interpreter execution at specified bytecode number
share/runtime/globals.hpp
StressArrayCopyMacroNodeboolc2falsedevelop
Perform ArrayCopy load/store replacement during IGVN only
share/opto/c2_globals.hpp
StressCCPboolc2falseproduct
Randomize worklist traversal in CCP
share/opto/c2_globals.hpp
StressCodeBuffersboolruntimefalsedevelop
Exercise code buffer expansion and other rare state changes
share/runtime/globals.hpp
StressCompiledExceptionHandlersboolruntimefalsedevelop
Exercise compiled exception handlers
share/runtime/globals.hpp
StressDuplicateBackedgeboolc2falsedevelop
Run DuplicateBackedge whenever possible ignoring benefit
analysis
share/opto/c2_globals.hpp
StressGCMboolc2falseproduct
Randomize instruction scheduling in GCM
share/opto/c2_globals.hpp
StressIGVNboolc2falseproduct
Randomize worklist traversal in IGVN
share/opto/c2_globals.hpp
StressIncrementalInliningboolc2falseproduct
Randomize the incremental inlining decision
share/opto/c2_globals.hpp
StressLCMboolc2falseproduct
Randomize instruction scheduling in LCM
share/opto/c2_globals.hpp
StressLdcRewriteboolruntimefalseproduct
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
StressLinearScanboolc1falsedevelop
scramble block order used by LinearScan (stress test)
share/c1/c1_globals.hpp
StressLongCountedLoopuintxc20
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
StressLoopInvariantCodeMotionboolc1falsedevelop
stress loop invariant code motion
share/c1/c1_globals.hpp
StressMethodHandleLinkerInliningboolc2falsedevelop
Stress inlining through method handle linkers
share/opto/c2_globals.hpp
StressRangeCheckEliminationboolc1falsedevelop
stress Range Check Elimination
share/c1/c1_globals.hpp
StressRecompilationboolc2falsedevelop
Recompile each compiled method without subsuming loads 
or escape analysis.
share/opto/c2_globals.hpp
StressReflectiveCodeboolc2falsedevelop
Use inexact types at allocations, etc., to test reflection
share/opto/c2_globals.hpp
StressRewriterboolruntimefalsedevelop
Stress linktime bytecode rewriting
share/runtime/globals.hpp
StressSeeduintc20
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
StringDeduplicationAgeThresholduintruntime3
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
StringDeduplicationCleanupDeadMinimumsize_truntime100product
Minimum number of dead table entries for cleaning the table
share/runtime/globals.hpp
StringDeduplicationCleanupDeadPercentintruntime5
range(1, 100)
product
Minimum percentage of dead table entries for cleaning the table
share/runtime/globals.hpp
StringDeduplicationGrowTableLoaddoubleruntime14.0
range(0.1, 1000.0)
product
Entries per bucket above which the table should be expanded
share/runtime/globals.hpp
StringDeduplicationHashSeeduint64_truntime0product
Seed for the table hashing function; 0 requests computed seed
share/runtime/globals.hpp
StringDeduplicationInitialTableSizesize_truntime500
range(1, 1 * G)
product
Approximate initial number of buckets in the table
share/runtime/globals.hpp
StringDeduplicationResizeALotboolruntimefalseproduct
Force more frequent table resizing
share/runtime/globals.hpp
StringDeduplicationShrinkTableLoaddoubleruntime1.0
range(0.01, 100.0)
product
Entries per bucket below which the table should be shrunk
share/runtime/globals.hpp
StringDeduplicationTargetTableLoaddoubleruntime7.0
range(0.01, 1000.0)
product
Desired entries per bucket when resizing the table
share/runtime/globals.hpp
StringTableSizeuintxruntimedefaultStringTableSize
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
SubsumeLoadsboolc2truedevelop
Attempt to compile while subsuming loads into machine 
instructions.
share/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisboolaarch64truedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
SuperWordLoopUnrollAnalysisboolc2product_pd
Map number of unrolls for main loop via 
Superword Level Parallelism analysis
share/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisboolppctruedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
SuperWordLoopUnrollAnalysisboolriscvtruedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
SuperWordLoopUnrollAnalysisbools390falsedefine_pd_global
cpu/s390/c2_globals_s390.hpp
SuperWordLoopUnrollAnalysisboolx86truedefine_pd_global
cpu/x86/c2_globals_x86.hpp
SuperWordRTDepCheckboolc2falsedevelop
Enable runtime dependency checks.
share/opto/c2_globals.hpp
SuperWordReductionsboolc2trueproduct
Enable reductions support in superword.
share/opto/c2_globals.hpp
SuperwordUseVSXboolppcfalseproduct
Use Power8 VSX instructions for superword optimization.
cpu/ppc/globals_ppc.hpp
SuppressFatalErrorMessageboolruntimefalseproduct
Report NO fatal error message (avoid deadlock)
share/runtime/globals.hpp
SurvivorPaddinguintxgc3
range(0, max_juint)
product
How much buffer to keep for survivor overflow
share/gc/shared/gc_globals.hpp
SurvivorRatiouintxgc8
range(1, max_uintx-2)
product
Ratio of eden/survivor space size
share/gc/shared/gc_globals.hpp
SweeperThresholddoubleruntime15.0
range(0.0, 100.0)
product
Threshold when a code cache unloading GC is invoked.
Value is percentage of ReservedCodeCacheSize.
share/runtime/globals.hpp
SymbolTableSizeuintxruntimedefaultSymbolTableSize
range(minimumSymbolTableSize, 16777216ul /* 2^24 */)
product
Number of buckets in the JVM internal Symbol table
share/runtime/globals.hpp
THPStackMitigationboollinuxtrueproduct
If THPs are unconditionally enabled on the system (mode 
'always'), the JVM will prevent THP from forming in 
thread stacks. When disabled, the absence of this mitigation
allows THPs to form in thread stacks.
os/linux/globals_linux.hpp
TLABAllocationWeightuintxgc35
range(0, 100)
product
Allocation averaging weight
share/gc/shared/tlab_globals.hpp
TLABRefillWasteFractionuintxgc64
range(1, max_juint)
product
Maximum TLAB waste at a refill (internal fragmentation)
share/gc/shared/tlab_globals.hpp
TLABSizesize_tgc0product
Starting TLAB size (in bytes); zero means set ergonomically
share/gc/shared/tlab_globals.hpp
TLABStatsDeprecated in JDK12
Obsoleted in JDK23
Expired in JDK24
boolgctrueproduct
Provide more detailed and expensive TLAB statistics.
share/gc/shared/tlab_globals.hpp
TLABWasteIncrementuintxgc4
range(0, max_jint)
product
Increment allowed waste at slow allocation
share/gc/shared/tlab_globals.hpp
TLABWasteTargetPercentuintxgc1
range(1, 100)
product
Percentage of Eden that can be wasted (half-full TLABs at GC)
share/gc/shared/tlab_globals.hpp
TargetPLABWastePctuintxgc10
range(1, 100)
product
Target wasted space in last buffer as percent of overall 
allocation
share/gc/shared/gc_globals.hpp
TargetSurvivorRatiouintxgc50
range(0, 100)
product
Desired percentage of survivor space used after scavenge
share/gc/shared/gc_globals.hpp
TenuredGenerationSizeIncrementuintxgc20
range(0, 100)
product
Adaptive size percentage change in tenured generation
share/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementDecayuintxgc2
range(1, max_uintx)
product
Decay factor to TenuredGenerationSizeIncrement
share/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementuintxgc80
range(0, 100)
product
Supplement to TenuredGenerationSizeIncrement used at startup
share/gc/shared/gc_globals.hpp
TestCrashInErrorHandleruintruntime0
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
TestFlagFor_boolboolruntimefalseproduct
Used by VM internal regression tests only
share/runtime/flags/debug_globals.hpp
TestFlagFor_doubledoubleruntime0.0product
Used by VM internal regression tests only
share/runtime/flags/debug_globals.hpp
TestFlagFor_intintruntime0product
Used by VM internal regression tests only
share/runtime/flags/debug_globals.hpp
TestFlagFor_intxintxruntime0product
Used by VM internal regression tests only
share/runtime/flags/debug_globals.hpp
TestFlagFor_size_tsize_truntime0product
Used by VM internal regression tests only
share/runtime/flags/debug_globals.hpp
TestFlagFor_uint64_tuint64_truntime0product
Used by VM internal regression tests only
share/runtime/flags/debug_globals.hpp
TestFlagFor_uintuintruntime0product
Used by VM internal regression tests only
share/runtime/flags/debug_globals.hpp
TestFlagFor_uintxuintxruntime0product
Used by VM internal regression tests only
share/runtime/flags/debug_globals.hpp
TestSafeFetchInErrorHandlerboolruntimefalsedevelop
If true, tests SafeFetch inside error handler.
share/runtime/globals.hpp
TestUnresponsiveErrorHandlerboolruntimefalsedevelop
If true, simulates an unresponsive error handler.
share/runtime/globals.hpp
ThreadPriorityPolicyintruntime0
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
ThreadPriorityVerboseboolruntimefalseproduct
Print priority changes
share/runtime/globals.hpp
ThreadStackSizeintxaixppc2048define_pd_global
// 0 => use system default
os_cpu/aix_ppc/globals_aix_ppc.hpp
ThreadStackSizeintxbsdaarch642048define_pd_global
// 0 => use system default
os_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
ThreadStackSizeintxbsdx86320define_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
ThreadStackSizeintxbsdzero1536define_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
ThreadStackSizeintxlinuxaarch642040define_pd_global
// 0 => use system default
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
ThreadStackSizeintxlinuxarm320define_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
ThreadStackSizeintxlinuxppc2048define_pd_global
// 0 => use system default
os_cpu/linux_ppc/globals_linux_ppc.hpp
ThreadStackSizeintxlinuxriscv2048define_pd_global
// 0 => use system default
os_cpu/linux_riscv/globals_linux_riscv.hpp
ThreadStackSizeintxlinuxs3901024define_pd_global
// 0 => Use system default.
os_cpu/linux_s390/globals_linux_s390.hpp
ThreadStackSizeintxlinuxx86320define_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
ThreadStackSizeintxlinuxzero1536define_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
ThreadStackSizeintxruntimeproduct_pd
Thread Stack Size (in Kbytes)
share/runtime/globals.hpp
ThreadStackSizeintxwindowsaarch640define_pd_global
// 0 => use system default
os_cpu/windows_aarch64/globals_windows_aarch64.hpp
ThreadStackSizeintxwindowsx860define_pd_global
// 0 => use system default
os_cpu/windows_x86/globals_windows_x86.hpp
ThresholdToleranceuintxgc10
range(0, 100)
product
Allowed collection cost difference between generations
share/gc/shared/gc_globals.hpp
Tier0BackedgeNotifyFreqLogintxcompiler10
range(0, 30)
product
Interpreter (tier 0) invocation notification frequency
share/compiler/compiler_globals.hpp
Tier0Delayintxcompiler20
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
Tier0InvokeNotifyFreqLogintxcompiler7
range(0, 30)
product
Interpreter (tier 0) invocation notification frequency
share/compiler/compiler_globals.hpp
Tier0ProfilingStartPercentageintxcompiler200
range(0, max_jint)
product
Start profiling in interpreter if the counters exceed the 
specified percentage of tier 3 thresholds
share/compiler/compiler_globals.hpp
Tier23InlineeNotifyFreqLogintxcompiler20
range(0, 30)
product
Inlinee invocation (tiers 2 and 3) notification frequency
share/compiler/compiler_globals.hpp
Tier2BackEdgeThresholdintxcompiler0
range(0, max_jint)
product
Back edge threshold at which tier 2 compilation is invoked
share/compiler/compiler_globals.hpp
Tier2BackedgeNotifyFreqLogintxcompiler14
range(0, 30)
product
C1 without MDO (tier 2) invocation notification frequency
share/compiler/compiler_globals.hpp
Tier2CompileThresholdintxcompiler0
range(0, max_jint)
product
threshold at which tier 2 compilation is invoked
share/compiler/compiler_globals.hpp
Tier2InvokeNotifyFreqLogintxcompiler11
range(0, 30)
product
C1 without MDO (tier 2) invocation notification frequency
share/compiler/compiler_globals.hpp
Tier3BackEdgeThresholdintxcompiler60000
range(0, max_jint)
product
Back edge threshold at which tier 3 OSR compilation is invoked
share/compiler/compiler_globals.hpp
Tier3BackedgeNotifyFreqLogintxcompiler13
range(0, 30)
product
C1 with MDO profiling (tier 3) invocation notification 
frequency
share/compiler/compiler_globals.hpp
Tier3CompileThresholdintxcompiler2000
range(0, max_jint)
product
Threshold at which tier 3 compilation is invoked (invocation 
minimum must be satisfied)
share/compiler/compiler_globals.hpp
Tier3DelayOffintxcompiler2
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
Tier3DelayOnintxcompiler5
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
Tier3InvocationThresholdintxcompiler200
range(0, max_jint)
product
Compile if number of method invocations crosses this 
threshold
share/compiler/compiler_globals.hpp
Tier3InvokeNotifyFreqLogintxcompiler10
range(0, 30)
product
C1 with MDO profiling (tier 3) invocation notification 
frequency
share/compiler/compiler_globals.hpp
Tier3LoadFeedbackintxcompiler5
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
Tier3MinInvocationThresholdintxcompiler100
range(0, max_jint)
product
Minimum invocation to compile at tier 3
share/compiler/compiler_globals.hpp
Tier4BackEdgeThresholdintxcompiler40000
range(0, max_jint)
product
Back edge threshold at which tier 4 OSR compilation is invoked
share/compiler/compiler_globals.hpp
Tier4CompileThresholdintxcompiler15000
range(0, max_jint)
product
Threshold at which tier 4 compilation is invoked (invocation 
minimum must be satisfied)
share/compiler/compiler_globals.hpp
Tier4InvocationThresholdintxcompiler5000
range(0, max_jint)
product
Compile if number of method invocations crosses this 
threshold
share/compiler/compiler_globals.hpp
Tier4LoadFeedbackintxcompiler3
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
Tier4MinInvocationThresholdintxcompiler600
range(0, max_jint)
product
Minimum invocation to compile at tier 4
share/compiler/compiler_globals.hpp
TieredCompilationboolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
TieredCompilationboolarmfalsedefine_pd_global
cpu/arm/c2_globals_arm.hpp
TieredCompilationboolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
TieredCompilationboolruntimeproduct_pd
Enable tiered compilation
share/runtime/globals.hpp
TieredCompilationboolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
TieredCompilationboolriscvCOMPILER1_PRESENT(true) NOT_COMPILER1(false)define_pd_global
cpu/riscv/c2_globals_riscv.hpp
TieredCompilationbools390COMPILER1_PRESENT(true) NOT_COMPILER1(false)define_pd_global
cpu/s390/c2_globals_s390.hpp
TieredCompilationboolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
TieredCompileTaskTimeoutintxcompiler50
range(0, max_intx)
product
Kill compile task if method was not used within 
given timeout in milliseconds
share/compiler/compiler_globals.hpp
TieredOldPercentageintxcompiler1000
range(0, max_jint)
product
Percentage over tier 3 thresholds after which a method is 
considered old (turns off parts of prioritization based on 
compile queue length)
share/compiler/compiler_globals.hpp
TieredRateUpdateMaxTimeintxcompiler25
range(0, max_intx)
product
Maximum rate sampling interval (in milliseconds)
share/compiler/compiler_globals.hpp
TieredRateUpdateMinTimeintxcompiler1
range(0, max_intx)
product
Minimum rate sampling interval (in milliseconds)
share/compiler/compiler_globals.hpp
TieredStopAtLevelintxcompiler4
range(0, 4)
product
Stop at given compilation level
share/compiler/compiler_globals.hpp
TimeEachLinearScanboolc1falsedevelop
print detailed timing of each LinearScan run
share/c1/c1_globals.hpp
TimeLinearScanboolc1falseproduct
detailed timing of LinearScan phases
share/c1/c1_globals.hpp
TimeOopMap2boolruntimefalsedevelop
Time calls to GenerateOopMap::compute_map() individually
share/runtime/globals.hpp
TimeOopMapboolruntimefalsedevelop
Time calls to GenerateOopMap::compute_map() in sum
share/runtime/globals.hpp
TimerSlackintxlinux-1product
Overrides the timer slack value to the given number of 
nanoseconds. Lower value provides more accurate 
high-precision timers, at the expense of (possibly) worse 
power efficiency. In current Linux, 0 means using the 
system-wide default, which would disable the override, but 
VM would still print the current timer slack values. Use -1 
to disable both the override and the printouts.
See prctl(PR_SET_TIMERSLACK) for more info.
os/linux/globals_linux.hpp
TraceBytecodesAtintxruntime0develop
Trace bytecodes starting with specified bytecode number
share/runtime/globals.hpp
TraceBytecodesboolruntimefalsedevelop
Trace bytecode execution
share/runtime/globals.hpp
TraceCISCSpillboolc2falsenotproduct
Trace allocators use of cisc spillable instructions
share/opto/c2_globals.hpp
TraceCallFixupboolruntimefalsedevelop
Trace all call fixups
share/runtime/globals.hpp
TraceCodeBlobStacksboolruntimefalsenotproduct
Trace stack-walk of codeblobs
share/runtime/globals.hpp
TraceCompiledICboolruntimefalsedevelop
Trace changes of compiled IC
share/runtime/globals.hpp
TraceCompilerThreadsboolruntimefalseproduct
Trace creation and removal of compiler threads
share/runtime/globals.hpp
TraceDeoptimizationboolruntimefalseproduct
Trace deoptimization
share/runtime/globals.hpp
TraceDerivedPointersboolruntimefalsedevelop
Trace traversal of derived pointers on stack
share/runtime/globals.hpp
TraceDwarfLevelintxruntime0
range(0, 4)
develop
Debug levels for the dwarf parser
share/runtime/globals.hpp
TraceFPURegisterUsageboolc1falsedevelop
Trace usage of FPU registers at start of blocks (intel only)
share/c1/c1_globals.hpp
TraceFPUStackboolc1falsedevelop
Trace emulation of the FPU stack (intel only)
share/c1/c1_globals.hpp
TraceFinalizerRegistrationboolruntimefalsedevelop
Trace registration of final references
share/runtime/globals.hpp
TraceFrequencyInliningboolruntimefalsedevelop
Trace frequency based inlining
share/runtime/globals.hpp
TraceICBufferboolruntimefalsedevelop
Trace usage of IC buffer
share/runtime/globals.hpp
TraceICsboolruntimefalsedevelop
Trace inline cache changes
share/runtime/globals.hpp
TraceInlineCacheClearingboolruntimefalsedevelop
Trace clearing of inline caches in nmethods
share/runtime/globals.hpp
TraceInvocationCounterOverflowboolruntimefalsenotproduct
Trace method invocation counter overflow
share/runtime/globals.hpp
TraceIterativeGVNboolc2falsedevelop
Print progress during Iterative Global Value Numbering
share/opto/c2_globals.hpp
TraceJVMTIccstrruntimenullptrproduct
Trace flags for JVMTI functions and events
share/runtime/globals.hpp
TraceJavaAssertionsboolruntimefalsedevelop
Trace java language assertions
share/runtime/globals.hpp
TraceLinearScanLevelintxc10
range(0, 4)
develop
Debug levels for the linear scan allocator
share/c1/c1_globals.hpp
TraceLivenessGenboolruntimefalsedevelop
Trace the generation of liveness analysis information
share/runtime/globals.hpp
TraceLivenessQueryboolruntimefalsenotproduct
Trace queries of liveness analysis information
share/runtime/globals.hpp
TraceLoopLimitCheckboolc2falsedevelop
Trace generation of loop limits checks
share/opto/c2_globals.hpp
TraceLoopOptsboolc2falsedevelop
Trace executed loop optimizations
share/opto/c2_globals.hpp
TraceLoopPredicateboolc2falsedevelop
Trace generation of loop predicates
share/opto/c2_globals.hpp
TraceLoopUnswitchingboolc2falsenotproduct
Trace loop unswitching
share/opto/c2_globals.hpp
TraceMemoryWritebackboolruntimefalsedevelop
Trace memory writeback operations
share/runtime/globals.hpp
TraceMethodReplacementboolruntimefalsedevelop
Print when methods are replaced do to recompilation
share/runtime/globals.hpp
TraceNewOopMapGenerationDetailedboolruntimefalsedevelop
Trace OopMapGeneration: print detailed cell states
share/runtime/globals.hpp
TraceNewOopMapGenerationboolruntimefalsedevelop
Trace OopMapGeneration
share/runtime/globals.hpp
TraceNewVectorsboolc2falsenotproduct
Trace creation of Vector nodes
share/opto/c2_globals.hpp
TraceOnStackReplacementboolruntimefalsenotproduct
Trace on stack replacement
share/runtime/globals.hpp
TraceOopMapRewritesboolruntimefalsedevelop
Trace rewriting of methods during oop map generation
share/runtime/globals.hpp
TraceOptimizeFillboolc2falsedevelop
print detailed information about fill conversion
share/opto/c2_globals.hpp
TraceOptoOutputboolc2falsenotproduct
Trace pipelining information
share/opto/c2_globals.hpp
TraceOptoParseboolc2falsedevelop
Trace bytecode parse and control-flow merge
share/opto/c2_globals.hpp
TraceOptoPipeliningboolc2falsenotproduct
Trace pipelining information
share/opto/c2_globals.hpp
TracePartialPeelingboolc2falsenotproduct
Trace partial peeling (loop rotation) information
share/opto/c2_globals.hpp
TracePatchingboolc1falsedevelop
Trace patching of field access on uninitialized classes
share/c1/c1_globals.hpp
TracePcPatchingboolruntimefalsedevelop
Trace usage of frame::patch_pc
share/runtime/globals.hpp
TracePhaseCCPboolc2falsenotproduct
Print progress during Conditional Constant Propagation
share/opto/c2_globals.hpp
TracePostallocExpandboolc2falsedevelop
Trace expanding nodes after
 register allocation.
share/opto/c2_globals.hpp
TracePredicateFailedTrapsboolc1falsedevelop
trace runtime traps caused by predicate failure
share/c1/c1_globals.hpp
TraceProfileTripCountboolc2falsenotproduct
Trace profile loop trip count information
share/opto/c2_globals.hpp
TraceRangeCheckEliminationboolc1falsedevelop
Trace Range Check Elimination
share/c1/c1_globals.hpp
TraceRangeLimitCheckboolc2falsedevelop
Trace additional overflow checks in RCE
share/opto/c2_globals.hpp
TraceRelocatorboolruntimefalsedevelop
Trace the bytecode relocator
share/runtime/globals.hpp
TraceSpillingboolc2falseproduct
Trace spilling
share/opto/c2_globals.hpp
TraceSuperWordLoopUnrollAnalysisboolc2falsenotproduct
Trace what Superword Level Parallelism analysis applies
share/opto/c2_globals.hpp
TraceSuperWordboolc2falsenotproduct
Trace superword transforms
share/opto/c2_globals.hpp
TraceTrapsboolaarch64falseproduct
Trace all traps the signal handler
cpu/aarch64/globals_aarch64.hpp
TraceTrapsboolppcfalseproduct
Trace all traps the signal handler handles.
cpu/ppc/globals_ppc.hpp
TraceTrapsboolriscvfalseproduct
Trace all traps the signal handler
cpu/riscv/globals_riscv.hpp
TraceTrapsbools390falseproduct
Trace all traps the signal handler handles.
cpu/s390/globals_s390.hpp
TraceTypeProfileboolc2falseproduct
Trace type profile
share/opto/c2_globals.hpp
TrackedInitializationLimitintxc250
range(0, 65535)
product
When initializing fields, track up to this many words
share/opto/c2_globals.hpp
TrapBasedICMissChecksboolppctrueproduct
Raise and handle SIGTRAP if inline cache miss detected.
cpu/ppc/globals_ppc.hpp
TrapBasedNullChecksboolaarch64falsedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
TrapBasedNullChecksboolarmfalsedefine_pd_global
// Not needed
cpu/arm/globals_arm.hpp
TrapBasedNullChecksboolruntimeproduct_pd
Generate code for null checks that uses a cmp and trap 
instruction raising SIGTRAP. This is only used if an access to
null (+offset) will not raise a SIGSEGV, i.e.,
ImplicitNullChecks don't work (PPC64).
share/runtime/globals.hpp
TrapBasedNullChecksboolppctruedefine_pd_global
cpu/ppc/globals_ppc.hpp
TrapBasedNullChecksboolriscvfalsedefine_pd_global
cpu/riscv/globals_riscv.hpp
TrapBasedNullChecksbools390truedefine_pd_global
cpu/s390/globals_s390.hpp
TrapBasedNullChecksboolx86falsedefine_pd_global
// Not needed on x86.
cpu/x86/globals_x86.hpp
TrapBasedNullChecksboolzerofalsedefine_pd_global
cpu/zero/globals_zero.hpp
TrapBasedRangeChecksboolaarch64falsedefine_pd_global
// Not needed.
cpu/aarch64/c2_globals_aarch64.hpp
TrapBasedRangeChecksboolc2product_pd
Generate code for range checks that uses a cmp and trap 
instruction raising SIGTRAP. Used on PPC64.
share/opto/c2_globals.hpp
TrapBasedRangeChecksboolppctruedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
TrapBasedRangeChecksboolriscvfalsedefine_pd_global
// Not needed.
cpu/riscv/c2_globals_riscv.hpp
TrapBasedRangeChecksbools390falsedefine_pd_global
// Not needed on z/Architecture.
cpu/s390/c2_globals_s390.hpp
TrapBasedRangeChecksboolx86falsedefine_pd_global
// Not needed on x86.
cpu/x86/c2_globals_x86.hpp
TrimNativeHeapIntervaluintruntime0
range(0, UINT_MAX)
product
Interval, in ms, at which the JVM will trim the native heap if 
the platform supports that. Lower values will reclaim memory 
more eagerly at the cost of higher overhead. A value of 0 
(default) disables native heap trimming.
share/runtime/globals.hpp
TrustFinalNonStaticFieldsboolruntimefalseproduct
trust final non-static declarations for constant folding
share/runtime/globals.hpp
TypeProfileArgsLimitintxruntime2
range(0, 16)
product
max number of call arguments to consider for type profiling
share/runtime/globals.hpp
TypeProfileCastsboolruntimetruedevelop
treat casts like calls for purposes of type profiling
share/runtime/globals.hpp
TypeProfileLeveluintxaarch64111define_pd_global
cpu/aarch64/globals_aarch64.hpp
TypeProfileLeveluintxarm0define_pd_global
cpu/arm/globals_arm.hpp
TypeProfileLeveluintruntimeproduct_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
TypeProfileLeveluintxppc111define_pd_global
cpu/ppc/globals_ppc.hpp
TypeProfileLeveluintxriscv111define_pd_global
cpu/riscv/globals_riscv.hpp
TypeProfileLeveluintxs390111define_pd_global
cpu/s390/globals_s390.hpp
TypeProfileLeveluintxx86111define_pd_global
cpu/x86/globals_x86.hpp
TypeProfileLeveluintxzero0define_pd_global
cpu/zero/globals_zero.hpp
TypeProfileMajorReceiverPercentintxc290
range(0, 100)
product
% of major receiver type to all profiled receivers
share/opto/c2_globals.hpp
TypeProfileParmsLimitintxruntime2
range(-1, 64)
product
max number of incoming parameters to consider for type profiling
, -1 for all
share/runtime/globals.hpp
TypeProfileWidthintxruntime2
range(0, 8)
product
Number of receiver types to record in call/cast profile
share/runtime/globals.hpp
UncommonNullCastboolaarch64truedefine_pd_global
// Uncommon-trap nulls past to check cast
cpu/aarch64/globals_aarch64.hpp
UncommonNullCastboolarmtruedefine_pd_global
// Uncommon-trap nulls past to check cast
cpu/arm/globals_arm.hpp
UncommonNullCastboolruntimedevelop_pd
track occurrences of null in casts; adjust compiler tactics
share/runtime/globals.hpp
UncommonNullCastboolppctruedefine_pd_global
// Uncommon-trap nulls passed to check cast.
cpu/ppc/globals_ppc.hpp
UncommonNullCastboolriscvtruedefine_pd_global
// Uncommon-trap nulls past to check cast
cpu/riscv/globals_riscv.hpp
UncommonNullCastbools390truedefine_pd_global
// Uncommon-trap nulls passed to check cast.
cpu/s390/globals_s390.hpp
UncommonNullCastboolx86truedefine_pd_global
// Uncommon-trap nulls passed to check cast
cpu/x86/globals_x86.hpp
UncommonNullCastboolzerotruedefine_pd_global
cpu/zero/globals_zero.hpp
UnguardOnExecutionViolationintruntime0
range(0, 2)
product
Unguard page and retry on no-execute fault (Win32 only) 

0=off, 1=conservative, 2=aggressive
share/runtime/globals.hpp
UnlockDiagnosticVMOptionsboolruntimetrueInDebugproduct
Enable normal processing of flags relating to field diagnostics
share/runtime/globals.hpp
UnlockExperimentalVMOptionsboolruntimefalseproduct
Enable normal processing of flags relating to experimental 
features
share/runtime/globals.hpp
UnrollLimitForProfileCheckintxc21
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
Use64KPagesThresholduintxaix0develop
4K/64K page allocation threshold.
os/aix/globals_aix.hpp
Use64KPagesboolaixtrueproduct
Use 64K pages if available.
os/aix/globals_aix.hpp
UseAESCTRIntrinsicsboolruntimefalseproduct
Use intrinsics for the paralleled version of AES/CTR crypto
share/runtime/globals.hpp
UseAESIntrinsicsboolruntimefalseproduct
Use intrinsics for AES versions of crypto
share/runtime/globals.hpp
UseAESboolruntimefalseproduct
Control whether AES instructions are used when available
share/runtime/globals.hpp
UseAVXintx863
range(0, 3)
product
Highest supported AVX instructions set on x86/x64
cpu/x86/globals_x86.hpp
UseAdaptiveGenerationSizePolicyAtMajorCollectionboolgctrueproduct
Use adaptive young-old sizing policies at major collections
share/gc/shared/gc_globals.hpp
UseAdaptiveGenerationSizePolicyAtMinorCollectionboolgctrueproduct
Use adaptive young-old sizing policies at minor collections
share/gc/shared/gc_globals.hpp
UseAdaptiveNUMAChunkSizingboolruntimetrueproduct
Enable adaptive chunk sizing for NUMA
share/runtime/globals.hpp
UseAdaptiveSizeDecayMajorGCCostboolgctrueproduct
Adaptive size decays the major cost for long major intervals
share/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyFootprintGoalboolgctrueproduct
Use adaptive minimum footprint as a goal
share/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyWithSystemGCboolgcfalseproduct
Include statistics from System.gc() for adaptive size policy
share/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyboolgctrueproduct
Use adaptive generation sizing policies
share/gc/shared/gc_globals.hpp
UseAddressNopboolx86falseproduct
Use '0F 1F [addr]' NOP instructions on x86 cpus
cpu/x86/globals_x86.hpp
UseAdler32Intrinsicsboolruntimefalseproduct
use intrinsics for java.util.zip.Adler32
share/runtime/globals.hpp
UseAllWindowsProcessorGroupsboolwindowsfalseproduct
Use all processor groups on supported Windows versions
os/windows/globals_windows.hpp
UseBASE64Intrinsicsboolruntimefalseproduct
Use intrinsics for java.util.Base64
share/runtime/globals.hpp
UseBMI1Instructionsboolx86falseproduct
Use BMI1 instructions
cpu/x86/globals_x86.hpp
UseBMI2Instructionsboolx86falseproduct
Use BMI2 instructions
cpu/x86/globals_x86.hpp
UseBimorphicInliningboolc2trueproduct
Profiling based inlining for two receivers
share/opto/c2_globals.hpp
UseBlockZeroingboolaarch64trueproduct
Use DC ZVA for block zeroing
cpu/aarch64/globals_aarch64.hpp
UseBlockZeroingboolriscvfalseproduct
Use Zicboz for block zeroing
cpu/riscv/globals_riscv.hpp
UseBootstrapCallInfointruntime1product
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
UseBranchProtectionccstraarch64noneproduct
Branch Protection to use: none, standard, pac-ret
cpu/aarch64/globals_aarch64.hpp
UseByteReverseInstructionbools390trueproduct
Use byte reverse instruction.
cpu/s390/globals_s390.hpp
UseByteReverseInstructionsboolppcfalseproduct
Use byte reverse instructions.
cpu/ppc/globals_ppc.hpp
UseC1Optimizationsboolc1truedevelop
Turn on C1 optimizations
share/c1/c1_globals.hpp
UseCHAboolruntimetruedevelop
Enable CHA
share/runtime/globals.hpp
UseCISCSpillboolaarch64falsedefine_pd_global
cpu/aarch64/c2_globals_aarch64.hpp
UseCISCSpillboolc2develop_pd
Use ADLC supplied cisc instructions during allocation
share/opto/c2_globals.hpp
UseCISCSpillboolppcfalsedefine_pd_global
cpu/ppc/c2_globals_ppc.hpp
UseCISCSpillboolriscvfalsedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
UseCISCSpillbools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
UseCISCSpillboolx86truedefine_pd_global
cpu/x86/c2_globals_x86.hpp
UseCLMULboolx86falseproduct
Control whether CLMUL instructions can be used on x86/x64
cpu/x86/globals_x86.hpp
UseCMoveUnconditionallyboolc2falseproduct
Use CMove (scalar and vector) ignoring profitability test.
share/opto/c2_globals.hpp
UseCRC32CIntrinsicsboolruntimefalseproduct
use intrinsics for java.util.zip.CRC32C
share/runtime/globals.hpp
UseCRC32Intrinsicsboolruntimefalseproduct
use intrinsics for java.util.zip.CRC32
share/runtime/globals.hpp
UseCRC32boolaarch64falseproduct
Use CRC32 instructions for CRC32 computation
cpu/aarch64/globals_aarch64.hpp
UseChaCha20Intrinsicsboolruntimefalseproduct
Use intrinsics for the vectorized version of ChaCha20
share/runtime/globals.hpp
UseCharacterCompareIntrinsicsboolc2falseproduct
Enables intrinsification of java.lang.Character functions
share/opto/c2_globals.hpp
UseCodeCacheFlushingboolruntimetrueproduct
Remove cold/old nmethods from the code cache
share/runtime/globals.hpp
UseCompilerboolruntimetrueproduct
Use Just-In-Time compilation
share/runtime/globals.hpp
UseCompressedClassPointersboolruntimetrueproduct
Use 32-bit class pointers in 64-bit VM. 
lp64_product means flag is always constant in 32 bit VM
share/runtime/globals.hpp
UseCompressedOopsboolruntimefalseproduct
Use 32-bit object references in 64-bit VM. 
lp64_product means flag is always constant in 32 bit VM
share/runtime/globals.hpp
UseCondCardMarkboolgcfalseproduct
Check for already marked card before updating card table
share/gc/shared/gc_globals.hpp
UseConservativeFenceboolriscvtrueproduct
Extend i for r and o for w in the pred/succ flags of fence
cpu/riscv/globals_riscv.hpp
UseContainerSupportboollinuxtrueproduct
Enable detection and runtime container configuration support
os/linux/globals_linux.hpp
UseContinuationFastPathboolruntimetruedevelop
Use fast-path frame walking in continuations
share/runtime/globals.hpp
UseCopySignIntrinsicboolruntimefalseproduct
Enables intrinsification of Math.copySign
share/runtime/globals.hpp
UseCountLeadingZerosInstructionboolx86falseproduct
Use count leading zeros instruction
cpu/x86/globals_x86.hpp
UseCountLeadingZerosInstructionsPPC64boolppctrueproduct
Use count leading zeros instructions.
cpu/ppc/globals_ppc.hpp
UseCountTrailingZerosInstructionboolx86falseproduct
Use count trailing zeros instruction
cpu/x86/globals_x86.hpp
UseCountTrailingZerosInstructionsPPC64boolppcfalseproduct
Use count trailing zeros instructions.
cpu/ppc/globals_ppc.hpp
UseCountedLoopSafepointsboolc2falseproduct
Force counted loops to keep a safepoint
share/opto/c2_globals.hpp
UseCounterDecayObsoleted in JDK22
Expired in JDK23
boolruntimetrueproduct
Adjust recompilation counters
share/runtime/globals.hpp
UseCpuAllocPathboollinuxfalseproduct
Use CPU_ALLOC code path in os::active_processor_count
os/linux/globals_linux.hpp
UseCriticalCompilerThreadPriorityboolruntimefalseproduct
Compiler thread(s) run at critical scheduling priority
share/runtime/globals.hpp
UseCriticalJavaThreadPriorityboolruntimefalseproduct
Java thread priority 10 maps to critical scheduling priority
share/runtime/globals.hpp
UseCryptoPmullForCRC32boolaarch64falseproduct
Use Crypto PMULL instructions for CRC32 computation
cpu/aarch64/globals_aarch64.hpp
UseDebuggerErgo1boolruntimefalsenotproduct
Debugging Only: Enable workarounds for debugger induced 
os::processor_id() >= os::processor_count() problems
share/runtime/globals.hpp
UseDebuggerErgo2boolruntimefalsenotproduct
Debugging Only: Limit the number of spawned JVM threads
share/runtime/globals.hpp
UseDebuggerErgoboolruntimefalsenotproduct
Debugging Only: Adjust the VM to be more debugger-friendly. 
Turns on the other UseDebuggerErgo* flags
share/runtime/globals.hpp
UseDivModboolc2trueproduct
Use combined DivMod instruction if available
share/opto/c2_globals.hpp
UseDynamicNumberOfCompilerThreadsboolruntimetrueproduct
Dynamically choose the number of parallel compiler threads
share/runtime/globals.hpp
UseDynamicNumberOfGCThreadsboolgctrueproduct
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
UseEmptySlotsInSupersDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolruntimetrueproduct
Allow allocating fields in empty slots of super-classes
share/runtime/globals.hpp
UseEpsilonGCboolgcfalseproduct
Use the Epsilon (no-op) garbage collector
share/gc/shared/gc_globals.hpp
UseExplicitCommitboolaixfalseproduct
Explicit commit for virtual memory.
os/aix/globals_aix.hpp
UseExtendedLoadAndReserveInstructionsPPC64boolppcfalseproduct
Use extended versions of load-and-reserve instructions.
cpu/ppc/globals_ppc.hpp
UseFMAboolruntimefalseproduct
Control whether FMA instructions are used when available
share/runtime/globals.hpp
UseFPUForSpillingboolc2falseproduct
Spill integer registers to FPU instead of stack when possible
share/opto/c2_globals.hpp
UseFastAccessorMethodsboolzerotrueproduct
Use fast method entry code for accessor methods
cpu/zero/globals_zero.hpp
UseFastEmptyMethodsboolzerotrueproduct
Use fast method entry code for empty methods
cpu/zero/globals_zero.hpp
UseFastJNIAccessorsboolruntimetrueproduct
Use optimized versions of GetField
share/runtime/globals.hpp
UseFastNewInstanceboolc1truedevelop
Use fast inlined instance allocation
share/c1/c1_globals.hpp
UseFastNewObjectArrayboolc1truedevelop
Use fast inlined object array allocation
share/c1/c1_globals.hpp
UseFastNewTypeArrayboolc1truedevelop
Use fast inlined type array allocation
share/c1/c1_globals.hpp
UseFastSignatureHandlersboolruntimetruedevelop
Use fast signature handlers for native calls
share/runtime/globals.hpp
UseFastStosbboolx86falseproduct
Use fast-string operation for zeroing: rep stosb
cpu/x86/globals_x86.hpp
UseFastUnorderedTimeStampsboolruntimefalseproduct
Use platform unstable time where supported for timestamps only
share/runtime/globals.hpp
UseG1GCboolgcfalseproduct
Use the Garbage-First garbage collector
share/gc/shared/gc_globals.hpp
UseGCOverheadLimitboolgctrueproduct
Use policy to limit of proportion of time spent in GC 
before an OutOfMemory error is thrown
share/gc/shared/gc_globals.hpp
UseGHASHIntrinsicsboolruntimefalseproduct
Use intrinsics for GHASH versions of crypto
share/runtime/globals.hpp
UseGlobalValueNumberingboolc1truedevelop
Use Global Value Numbering (separate phase)
share/c1/c1_globals.hpp
UseGraalJITbooljvmcifalseproduct
Select the Graal JVMCI compiler. This is an alias for: 
 -XX:+EnableJVMCIProduct 
 -Djvmci.Compiler=graal
share/jvmci/jvmci_globals.hpp
UseHugeTLBFSObsoleted in JDK22
Expired in JDK23
boollinuxfalseproduct
Use MAP_HUGETLB for large pages
os/linux/globals_linux.hpp
UseIncDecboolx86trueproduct
Use INC, DEC instructions on x86
cpu/x86/globals_x86.hpp
UseInlineCachesboolruntimetrueproduct
Use Inline Caches for virtual calls
share/runtime/globals.hpp
UseInlineDepthForSpeculativeTypesboolc2trueproduct
Carry inline depth of profile point with speculative type 
and give priority to profiling from lower inline depth
share/opto/c2_globals.hpp
UseInterpreterboolruntimetrueproduct
Use interpreter for non-compiled methods
share/runtime/globals.hpp
UseJVMCICompilerbooljvmcifalseproduct
Use JVMCI as the default compiler. Defaults to true if 
EnableJVMCIProduct is true.
share/jvmci/jvmci_globals.hpp
UseJVMCINativeLibrarybooljvmcifalseproduct
Execute JVMCI Java code from a shared library ('libjvmci') 
instead of loading it from class files and executing it 
on the HotSpot heap. Defaults to true if EnableJVMCI is 
true and a JVMCI native library is available.
share/jvmci/jvmci_globals.hpp
UseJumpTablesboolc2trueproduct
Use JumpTables instead of a binary search tree for switches
share/opto/c2_globals.hpp
UseKNLSettingboolx86falseproduct
Control whether Knights platform setting should be used
cpu/x86/globals_x86.hpp
UseLSEboolaarch64falseproduct
Use LSE instructions
cpu/aarch64/globals_aarch64.hpp
UseLargePagesIndividualAllocationboolaixfalsedefine_pd_global
os/aix/globals_aix.hpp
UseLargePagesIndividualAllocationboolbsdfalsedefine_pd_global
os/bsd/globals_bsd.hpp
UseLargePagesIndividualAllocationboollinuxfalsedefine_pd_global
os/linux/globals_linux.hpp
UseLargePagesIndividualAllocationboolruntimeproduct_pd
Allocate large pages individually for better affinity
share/runtime/globals.hpp
UseLargePagesIndividualAllocationboolwindowstruedefine_pd_global
os/windows/globals_windows.hpp
UseLargePagesboolaixfalsedefine_pd_global
os/aix/globals_aix.hpp
UseLargePagesboolbsdfalsedefine_pd_global
os/bsd/globals_bsd.hpp
UseLargePagesboollinuxfalsedefine_pd_global
os/linux/globals_linux.hpp
UseLargePagesboolruntimeproduct_pd
Use large page memory
share/runtime/globals.hpp
UseLargePagesboolwindowsfalsedefine_pd_global
os/windows/globals_windows.hpp
UseLibmIntrinsicboolx86trueproduct
Use Libm Intrinsics
cpu/x86/globals_x86.hpp
UseLinuxPosixThreadCPUClocksboollinuxtrueproduct
enable fast Linux Posix clocks where available
os/linux/globals_linux.hpp
UseLoadInstructionsForStackBangingPPC64boolppcfalseproduct
Use load instructions for stack banging.
cpu/ppc/globals_ppc.hpp
UseLocalValueNumberingboolc1truedevelop
Use Local Value Numbering (embedded in GraphBuilder)
share/c1/c1_globals.hpp
UseLoopCounterboolruntimetrueproduct
Increment invocation counter on backward branch
share/runtime/globals.hpp
UseLoopInvariantCodeMotionboolc1trueproduct
Simple loop invariant code motion for short loops during GVN
share/c1/c1_globals.hpp
UseLoopPredicateboolc2trueproduct
Generate a predicate to select fast/slow loop versions
share/opto/c2_globals.hpp
UseMD5Intrinsicsboolruntimefalseproduct
Use intrinsics for MD5 crypto hash function
share/runtime/globals.hpp
UseMadvPopulateWriteboollinuxtrueproduct
Use MADV_POPULATE_WRITE in os::pd_pretouch_memory.
os/linux/globals_linux.hpp
UseMathExactIntrinsicsboolc2trueproduct
Enables intrinsification of various java.lang.Math functions
share/opto/c2_globals.hpp
UseMaximumCompactionOnSystemGCboolgctrueproduct
Use maximum compaction in the Parallel Old garbage collector 
for a system GC
share/gc/parallel/parallel_globals.hpp
UseMontgomeryMultiplyIntrinsicboolc2falseproduct
Enables intrinsification of BigInteger.montgomeryMultiply()
share/opto/c2_globals.hpp
UseMontgomerySquareIntrinsicboolc2falseproduct
Enables intrinsification of BigInteger.montgomerySquare()
share/opto/c2_globals.hpp
UseMulAddIntrinsicboolc2falseproduct
Enables intrinsification of BigInteger.mulAdd()
share/opto/c2_globals.hpp
UseMultiplyToLenIntrinsicboolc2falseproduct
Enables intrinsification of BigInteger.multiplyToLen()
share/opto/c2_globals.hpp
UseNUMAInterleavingboolruntimefalseproduct
Interleave memory across NUMA nodes if available
share/runtime/globals.hpp
UseNUMAboolruntimefalseproduct
Use NUMA if available
share/runtime/globals.hpp
UseNeonObsoleted in JDK23
Expired in JDK24
boolaarch64falseproduct
Use Neon for CRC32 computation
cpu/aarch64/globals_aarch64.hpp
UseNewCode2boolruntimefalseproduct
Testing Only: Use the new version while testing
share/runtime/globals.hpp
UseNewCode3boolruntimefalseproduct
Testing Only: Use the new version while testing
share/runtime/globals.hpp
UseNewCodeboolruntimefalseproduct
Testing Only: Use the new version while testing
share/runtime/globals.hpp
UseNewLongLShiftboolx86falseproduct
Use optimized bitwise shift left
cpu/x86/globals_x86.hpp
UseNotificationThreadDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolruntimetrueproduct
Use Notification Thread
share/runtime/globals.hpp
UseOSErrorReportingboolwindowsfalseproduct
Let VM fatal error propagate to the OS (ie. WER on Windows)
os/windows/globals_windows.hpp
UseOnStackReplacementboolaarch64truedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
UseOnStackReplacementboolarmtruedefine_pd_global
cpu/arm/c2_globals_arm.hpp
UseOnStackReplacementboolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
UseOnStackReplacementboolruntimeproduct_pd
Use on stack replacement, calls runtime if invoc. counter 
overflows in loop
share/runtime/globals.hpp
UseOnStackReplacementboolppctruedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
UseOnStackReplacementboolriscvtruedefine_pd_global
cpu/riscv/c2_globals_riscv.hpp
UseOnStackReplacementbools390truedefine_pd_global
cpu/s390/c2_globals_s390.hpp
UseOnStackReplacementboolx86truedefine_pd_global
cpu/x86/c1_globals_x86.hpp
UseOnlyInlinedBimorphicboolc2trueproduct
Don't use BimorphicInlining if can't inline a second method
share/opto/c2_globals.hpp
UseOprofileObsoleted in JDK16
Expired in JDK17
boollinuxfalseproduct
enable support for Oprofile profiler
os/linux/globals_linux.hpp
UsePSAdaptiveSurvivorSizePolicyboolgctrueproduct
Use adaptive survivor sizing policies
share/gc/shared/gc_globals.hpp
UseParallelGCboolgcfalseproduct
Use the Parallel garbage collector.
share/gc/shared/gc_globals.hpp
UsePerfDataboolruntimetrueproduct
Flag to disable jvmstat instrumentation for performance testing 
and problem isolation purposes
share/runtime/globals.hpp
UsePoly1305Intrinsicsboolruntimefalseproduct
Use intrinsics for sun.security.util.math.intpoly
share/runtime/globals.hpp
UsePopCountInstructionboolruntimefalseproduct
Use population count instruction
share/runtime/globals.hpp
UsePrivilegedStackboolruntimetruedevelop
Enable the security JVM functions
share/runtime/globals.hpp
UseProfiledLoopPredicateboolc2trueproduct
Move predicates out of loops based on profiling data
share/opto/c2_globals.hpp
UseRTMDeoptDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolppcfalseproduct
Perform deopt and recompilation based on RTM abort ratio
cpu/ppc/globals_ppc.hpp
UseRTMDeoptDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolx86falseproduct
Perform deopt and recompilation based on RTM abort ratio
cpu/x86/globals_x86.hpp
UseRTMForStackLocksboolppcfalseproduct
Enable RTM lock eliding for stack locks in compiled code
cpu/ppc/globals_ppc.hpp
UseRTMForStackLocksboolx86falseproduct
Enable RTM lock eliding for stack locks in compiled code
cpu/x86/globals_x86.hpp
UseRTMLockingDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolppcfalseproduct
Enable RTM lock eliding for inflated locks in compiled code
cpu/ppc/globals_ppc.hpp
UseRTMLockingDeprecated in JDK23
Obsoleted in JDK24
Expired in JDK25
boolx86falseproduct
Enable RTM lock eliding for inflated locks in compiled code
cpu/x86/globals_x86.hpp
UseRTMXendForLockBusyboolppctrueproduct
Use RTM Xend instead of Xabort when lock busy
cpu/ppc/globals_ppc.hpp
UseRTMXendForLockBusyboolx86trueproduct
Use RTM Xend instead of Xabort when lock busy
cpu/x86/globals_x86.hpp
UseRVA20U64boolriscvtrueproduct
Use RVA20U64 profile
cpu/riscv/globals_riscv.hpp
UseRVA22U64boolriscvfalseproduct
Use RVA22U64 profile
cpu/riscv/globals_riscv.hpp
UseRVCboolriscvfalseproduct
Use RVC instructions
cpu/riscv/globals_riscv.hpp
UseRVVForBigIntegerShiftIntrinsicsboolriscvtrueproduct
Use RVV instructions for left/right shift of BigInteger
cpu/riscv/globals_riscv.hpp
UseRVVboolriscvfalseproduct
Use RVV instructions
cpu/riscv/globals_riscv.hpp
UseRotateAndMaskInstructionsPPC64boolppctrueproduct
Use rotate and mask instructions.
cpu/ppc/globals_ppc.hpp
UseSHA1Intrinsicsboolruntimefalseproduct
Use intrinsics for SHA-1 crypto hash function. 
Requires that UseSHA is enabled.
share/runtime/globals.hpp
UseSHA256Intrinsicsboolruntimefalseproduct
Use intrinsics for SHA-224 and SHA-256 crypto hash functions. 
Requires that UseSHA is enabled.
share/runtime/globals.hpp
UseSHA3Intrinsicsboolruntimefalseproduct
Use intrinsics for SHA3 crypto hash function. 
Requires that UseSHA is enabled.
share/runtime/globals.hpp
UseSHA512Intrinsicsboolruntimefalseproduct
Use intrinsics for SHA-384 and SHA-512 crypto hash functions. 
Requires that UseSHA is enabled.
share/runtime/globals.hpp
UseSHAboolruntimefalseproduct
Control whether SHA instructions are used when available
share/runtime/globals.hpp
UseSHMObsoleted in JDK22
Expired in JDK23
boollinuxfalseproduct
Use SYSV shared memory for large pages
os/linux/globals_linux.hpp
UseSIGTRAPboolppctrueproduct
Allow trap instructions that make use of SIGTRAP. Use this to 
switch off all optimizations requiring SIGTRAP.
cpu/ppc/globals_ppc.hpp
UseSIMDForArrayEqualsboolaarch64trueproduct
Use SIMD instructions in generated array equals code
cpu/aarch64/globals_aarch64.hpp
UseSIMDForBigIntegerShiftIntrinsicsboolaarch64trueproduct
Use SIMD instructions for left/right shift of BigInteger
cpu/aarch64/globals_aarch64.hpp
UseSIMDForMemoryOpsboolaarch64falseproduct
Use SIMD instructions in generated memory move code
cpu/aarch64/globals_aarch64.hpp
UseSSE42Intrinsicsboolx86falseproduct
SSE4.2 versions of intrinsics
cpu/x86/globals_x86.hpp
UseSSEObsoleted in JDK15
Expired in JDK16
intx864
range(0, 4)
product
Highest supported SSE instructions set on x86/x64
cpu/x86/globals_x86.hpp
UseSVEuintaarch640
range(0, 2)
product
Highest supported SVE instruction set version
cpu/aarch64/globals_aarch64.hpp
UseSerialGCboolgcfalseproduct
Use the Serial garbage collector
share/gc/shared/gc_globals.hpp
UseShenandoahGCboolgcfalseproduct
Use the Shenandoah garbage collector
share/gc/shared/gc_globals.hpp
UseSignalChainingboolruntimetrueproduct
Use signal-chaining to invoke signal handlers installed 
by the application (Unix only)
share/runtime/globals.hpp
UseSignumIntrinsicboolruntimefalseproduct
Enables intrinsification of Math.signum
share/runtime/globals.hpp
UseSimpleArrayEqualsboolaarch64falseproduct
Use simplest and shortest implementation for array equals
cpu/aarch64/globals_aarch64.hpp
UseSlowPathboolc1falsedevelop
For debugging: test slow cases by always using them
share/c1/c1_globals.hpp
UseSquareToLenIntrinsicboolc2falseproduct
Enables intrinsification of BigInteger.squareToLen()
share/opto/c2_globals.hpp
UseStaticBranchPredictionForUncommonPathsPPC64boolppcfalseproduct
Use static branch prediction hints for uncommon paths.
cpu/ppc/globals_ppc.hpp
UseStaticBranchPredictionInCompareAndSwapPPC64boolppctrueproduct
Use static branch prediction hints in CAS operations.
cpu/ppc/globals_ppc.hpp
UseStoreImmI16boolx86trueproduct
Use store immediate 16-bits value instruction on x86
cpu/x86/globals_x86.hpp
UseStringDeduplicationboolruntimefalseproduct
Use string deduplication
share/runtime/globals.hpp
UseSubwordForMaxVectorboolc2trueproduct
Use Subword Analysis to set maximum vector size
share/opto/c2_globals.hpp
UseSuperWordboolc2trueproduct
Transform scalar operations into superword operations
share/opto/c2_globals.hpp
UseSwitchProfilingboolruntimetrueproduct
leverage profiling for table/lookup switch
share/runtime/globals.hpp
UseSystemMemoryBarrierboolruntimefalseproduct
Try to enable system memory barrier if supported by OS
share/runtime/globals.hpp
UseTLABboolgctrueproduct
Use thread-local object allocation
share/gc/shared/tlab_globals.hpp
UseTableRangesboolc1truedevelop
Faster versions of lookup table using ranges
share/c1/c1_globals.hpp
UseThreadPrioritiesboolruntimeproduct_pd
Use native thread priorities
share/runtime/globals.hpp
UseTransparentHugePagesboollinuxfalseproduct
Use MADV_HUGEPAGE for large pages
os/linux/globals_linux.hpp
UseTypeProfileboolaarch64falsedefine_pd_global
cpu/aarch64/c1_globals_aarch64.hpp
UseTypeProfileboolarmfalsedefine_pd_global
cpu/arm/c1_globals_arm.hpp
UseTypeProfileboolcompilerfalsedefine_pd_global
share/compiler/compiler_globals_pd.hpp
UseTypeProfileboolruntimetrueproduct
Check interpreter profile for historically monomorphic calls
share/runtime/globals.hpp
UseTypeProfileboolppcfalsedefine_pd_global
cpu/ppc/c1_globals_ppc.hpp
UseTypeProfileboolriscvfalsedefine_pd_global
cpu/riscv/c1_globals_riscv.hpp
UseTypeProfilebools390falsedefine_pd_global
cpu/s390/c1_globals_s390.hpp
UseTypeProfileboolx86falsedefine_pd_global
cpu/x86/c1_globals_x86.hpp
UseTypeSpeculationboolc2trueproduct
Speculatively propagate types from profiles
share/opto/c2_globals.hpp
UseUnalignedAccessesboolruntimefalseproduct
Use unaligned memory accesses in Unsafe
share/runtime/globals.hpp
UseUnalignedLoadStoresboolx86falseproduct
Use SSE2 MOVDQU instruction for Arraycopy
cpu/x86/globals_x86.hpp
UseUniqueSubclassesboolc2truedevelop
Narrow an abstract reference to the unique concrete subclass
share/opto/c2_globals.hpp
UseVectorByteReverseInstructionsPPC64boolppcfalseproduct
Use Power9 xxbr* vector byte reverse instructions.
cpu/ppc/globals_ppc.hpp
UseVectorCmovboolc2falseproduct
Use Vectorized Cmov
share/opto/c2_globals.hpp
UseVectorMacroLogicboolc2trueproduct
Use ternary macro logic instructions
share/opto/c2_globals.hpp
UseVectorStubsboolc2falseproduct
Use stubs for vector transcendental operations
share/opto/c2_globals.hpp
UseVectorizedHashCodeIntrinsicboolruntimefalseproduct
Enables intrinsification of ArraysSupport.vectorizedHashCode()
share/runtime/globals.hpp
UseVectorizedMismatchIntrinsicboolruntimefalseproduct
Enables intrinsification of ArraysSupport.vectorizedMismatch()
share/runtime/globals.hpp
UseVtableBasedCHAboolruntimetrueproduct
Use vtable information during CHA
share/runtime/globals.hpp
UseXMMForArrayCopyboolruntimefalseproduct
Use SSE2 MOVQ instruction for Arraycopy
share/runtime/globals.hpp
UseXMMForObjInitboolx86falseproduct
Use XMM/YMM MOVDQU instruction for Object Initialization
cpu/x86/globals_x86.hpp
UseXmmI2Dboolx86falseproduct
Use SSE2 CVTDQ2PD instruction to convert Integer to Double
cpu/x86/globals_x86.hpp
UseXmmI2Fboolx86falseproduct
Use SSE2 CVTDQ2PS instruction to convert Integer to Float
cpu/x86/globals_x86.hpp
UseXmmLoadAndClearUpperboolx86trueproduct
Load low part of XMM register and clear upper part
cpu/x86/globals_x86.hpp
UseXmmRegToRegMoveAllboolx86falseproduct
Copy all XMM register bits when moving value between registers
cpu/x86/globals_x86.hpp
UseZGCboolgcfalseproduct
Use the Z garbage collector
share/gc/shared/gc_globals.hpp
UseZbaboolriscvfalseproduct
Use Zba instructions
cpu/riscv/globals_riscv.hpp
UseZbbboolriscvfalseproduct
Use Zbb instructions
cpu/riscv/globals_riscv.hpp
UseZbsboolriscvfalseproduct
Use Zbs instructions
cpu/riscv/globals_riscv.hpp
UseZic64bboolriscvfalseproduct
Use Zic64b instructions
cpu/riscv/globals_riscv.hpp
UseZicbomboolriscvfalseproduct
Use Zicbom instructions
cpu/riscv/globals_riscv.hpp
UseZicbopboolriscvfalseproduct
Use Zicbop instructions
cpu/riscv/globals_riscv.hpp
UseZicbozboolriscvfalseproduct
Use Zicboz instructions
cpu/riscv/globals_riscv.hpp
UseZihintpauseboolriscvfalseproduct
Use Zihintpause instructions
cpu/riscv/globals_riscv.hpp
VMContinuationsboolaarch64truedefine_pd_global
cpu/aarch64/globals_aarch64.hpp
VMContinuationsboolarmfalsedefine_pd_global
cpu/arm/globals_arm.hpp
VMContinuationsboolruntimeproduct_pd
Enable VM continuations support
share/runtime/globals.hpp
VMContinuationsboolppctruedefine_pd_global
cpu/ppc/globals_ppc.hpp
VMContinuationsboolriscvtruedefine_pd_global
cpu/riscv/globals_riscv.hpp
VMContinuationsbools390falsedefine_pd_global
cpu/s390/globals_s390.hpp
VMContinuationsboolx86falsedefine_pd_global
cpu/x86/globals_x86.hpp
VMContinuationsboolzerofalsedefine_pd_global
cpu/zero/globals_zero.hpp
VMThreadPriorityintruntime-1
range(-1, 127)
product
The native priority at which the VM thread should run 
(-1 means no change)
share/runtime/globals.hpp
VMThreadStackSizeintxaixppc2048define_pd_global
os_cpu/aix_ppc/globals_aix_ppc.hpp
VMThreadStackSizeintxbsdaarch642048define_pd_global
os_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
VMThreadStackSizeintxbsdx86512define_pd_global
os_cpu/bsd_x86/globals_bsd_x86.hpp
VMThreadStackSizeintxbsdzero512define_pd_global
os_cpu/bsd_zero/globals_bsd_zero.hpp
VMThreadStackSizeintxlinuxaarch642040define_pd_global
os_cpu/linux_aarch64/globals_linux_aarch64.hpp
VMThreadStackSizeintxlinuxarm512define_pd_global
os_cpu/linux_arm/globals_linux_arm.hpp
VMThreadStackSizeintxlinuxppc2048define_pd_global
os_cpu/linux_ppc/globals_linux_ppc.hpp
VMThreadStackSizeintxlinuxriscv2048define_pd_global
os_cpu/linux_riscv/globals_linux_riscv.hpp
VMThreadStackSizeintxlinuxs3901024define_pd_global
os_cpu/linux_s390/globals_linux_s390.hpp
VMThreadStackSizeintxlinuxx86512define_pd_global
os_cpu/linux_x86/globals_linux_x86.hpp
VMThreadStackSizeintxlinuxzero512define_pd_global
os_cpu/linux_zero/globals_linux_zero.hpp
VMThreadStackSizeintxruntimeproduct_pd
Non-Java Thread Stack Size (in Kbytes)
share/runtime/globals.hpp
VMThreadStackSizeintxwindowsaarch640define_pd_global
os_cpu/windows_aarch64/globals_windows_aarch64.hpp
VMThreadStackSizeintxwindowsx860define_pd_global
// 0 => use system default
os_cpu/windows_x86/globals_windows_x86.hpp
ValueMapInitialSizeintxc111
range(1, NOT_LP64(1*K) LP64_ONLY(32*K))
product
Initial size of a value map
share/c1/c1_globals.hpp
ValueMapMaxLoopSizeintxc18
range(0, 128)
product
maximum size of a loop optimized by global value numbering
share/c1/c1_globals.hpp
ValueSearchLimitintxc21000
range(0, max_jint)
product
Recursion limit in PhaseMacroExpand::value_from_mem_phi
share/opto/c2_globals.hpp
Verboseboolruntimefalsedevelop
Print additional debugging information from other modes
share/runtime/globals.hpp
VerifyActivationFrameSizeboolruntimefalsedevelop
Verify that activation frame didn't become smaller than its 
minimal size
share/runtime/globals.hpp
VerifyAdapterCallsboolruntimetrueInDebugproduct
Verify that i2c/c2i adapters are called properly
share/runtime/globals.hpp
VerifyAdapterSharingboolruntimefalsedevelop
Verify that the code for shared adapters is the equivalent
share/runtime/globals.hpp
VerifyAfterGCboolgcfalseproduct
Verify memory system after GC
share/gc/shared/gc_globals.hpp
VerifyAliasesboolc2falsedevelop
perform extra checks on the results of alias analysis
share/opto/c2_globals.hpp
VerifyArchivedFieldsintgc0
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
VerifyBeforeExitboolgctrueInDebugproduct
Verify system before exiting
share/gc/shared/gc_globals.hpp
VerifyBeforeGCboolgcfalseproduct
Verify memory system before GC
share/gc/shared/gc_globals.hpp
VerifyBeforeIterationboolruntimefalseproduct
Verify memory system before JVMTI iteration
share/runtime/globals.hpp
VerifyCodeCacheboolruntimefalsenotproduct
Verify code cache on memory allocation/deallocation
share/runtime/globals.hpp
VerifyConnectionGraphboolc2truenotproduct
Verify Connection Graph construction in Escape Analysis
share/opto/c2_globals.hpp
VerifyContinuationsboolruntimefalsedevelop
Verify continuation consistency
share/runtime/globals.hpp
VerifyCrossModifyFenceboolruntimefalse 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
VerifyDUIteratorsboolc2truenotproduct
Verify the safety of all iterations of Bi-directional Edges
share/opto/c2_globals.hpp
VerifyDataPointerboolruntimetrueInDebugdevelop
Verify the method data pointer during interpreter profiling
share/runtime/globals.hpp
VerifyDependenciesboolruntimetrueInDebugdevelop
Exercise and verify the compilation dependency mechanism
share/runtime/globals.hpp
VerifyDuringGCboolgcfalseproduct
Verify memory system during GC (between phases)
share/gc/shared/gc_globals.hpp
VerifyDuringStartupboolgcfalseproduct
Verify memory system before executing any Java code 
during VM initialization
share/gc/shared/gc_globals.hpp
VerifyFPUboolruntimefalsedevelop
Verify FPU state (check for NaN's, etc.)
share/runtime/globals.hpp
VerifyGCLevelintxgc0
range(0, 1)
product
Generation level at which to start +VerifyBefore/AfterGC
share/gc/shared/gc_globals.hpp
VerifyGCStartAtuintxgc0
range(0, max_uintx)
product
GC invoke count where +VerifyBefore/AfterGC kicks in
share/gc/shared/gc_globals.hpp
VerifyGCTypeccstrlistgc
product
GC type(s) to verify when Verify*GC is enabled.
Available types are collector specific.
share/gc/shared/gc_globals.hpp
VerifyGraphEdgesboolc2falsenotproduct
Verify Bi-directional Edges
share/opto/c2_globals.hpp
VerifyHashTableKeysboolc2truenotproduct
Verify the immutability of keys in the VN hash tables
share/opto/c2_globals.hpp
VerifyHeavyMonitorsboolruntimefalsedevelop
Checks that no stack locking happens when using 
-XX:LockingMode=0 (LM_MONITOR)
share/runtime/globals.hpp
VerifyIdealNodeCountboolc2falsenotproduct
Verify that tracked dead ideal node count is accurate
share/opto/c2_globals.hpp
VerifyIterativeGVNuintc20develop
Verify Iterative Global Value Numbering
=XY, with Y: verify Def-Use modifications during IGVN
 X: verify that type(n) == n->Value() after IGVN
X and Y in 0=off; 1=on
share/opto/c2_globals.hpp
VerifyJNIFieldsboolruntimetrueInDebugdevelop
Verify jfieldIDs for instance fields
share/runtime/globals.hpp
VerifyLastFrameboolruntimefalsenotproduct
Verify oops on last frame on entry to VM
share/runtime/globals.hpp
VerifyLoopOptimizationsboolc2falsenotproduct
verify major loop optimizations
share/opto/c2_globals.hpp
VerifyMetaspaceIntervalintruntimeDEBUG_ONLY(500) NOT_DEBUG(0)develop
Run periodic metaspace verifications (0 - none, 

1 - always, >1 every nth interval)
share/runtime/globals.hpp
VerifyMethodHandlesboolruntimetrueInDebugproduct
perform extra checks when constructing method handles
share/runtime/globals.hpp
VerifyObjectStartArrayboolgctrueproduct
Verify GC object start array if verify before/after
share/gc/shared/gc_globals.hpp
VerifyOopsboolruntimefalsedevelop
Do plausibility checks for oops
share/runtime/globals.hpp
VerifyReceiverTypesboolc2trueInDebugproduct
Verify receiver types at runtime
share/opto/c2_globals.hpp
VerifyRegisterAllocatorboolc2falsenotproduct
Verify Register Allocator
share/opto/c2_globals.hpp
VerifyRememberedSetsboolgcfalseproduct
Verify GC remembered sets
share/gc/shared/gc_globals.hpp
VerifySharedSpacesboolcdsfalseproduct
Verify integrity of shared spaces
share/cds/cds_globals.hpp
VerifyStackAtCallsboolruntimefalsedevelop
Verify that the stack pointer is unchanged after calls
share/runtime/globals.hpp
VerifyStackboolruntimefalsedevelop
Verify stack of each thread when it is entering a runtime call
share/runtime/globals.hpp
VerifyStringTableAtExitboolruntimefalseproduct
verify StringTable contents at exit
share/runtime/globals.hpp
VerifySubSetccstrlistgc
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
WalkStackALotboolruntimefalsenotproduct
Trace stack (no print) at every exit from the runtime system
share/runtime/globals.hpp
WhiteBoxAPIboolruntimefalseproduct
Enable internal testing APIs
share/runtime/globals.hpp
WizardModeboolruntimefalsedevelop
Print much more debugging information
share/runtime/globals.hpp
WorkStealingHardSpinsuintxgc4096product
Number of iterations in a spin loop between checks on 
time out of hard spin
share/gc/shared/gc_globals.hpp
WorkStealingSleepMillisuintxgc1product
Sleep time when sleep is used for yields
share/gc/shared/gc_globals.hpp
WorkStealingSpinToYieldRatiouintxgc10product
Ratio of hard spins to calls to yield
share/gc/shared/gc_globals.hpp
WorkStealingYieldsBeforeSleepuintxgc5000product
Number of yields before a sleep is done during work stealing
share/gc/shared/gc_globals.hpp
YoungGenerationSizeIncrementuintxgc20
range(0, 100)
product
Adaptive size percentage change in young generation
share/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementDecayuintxgc8
range(1, max_uintx)
product
Decay factor to YoungedGenerationSizeSupplement
share/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementuintxgc80
range(0, 100)
product
Supplement to YoungedGenerationSizeIncrement used at startup
share/gc/shared/gc_globals.hpp
YoungPLABSizesize_tgc4096product
Size of young gen promotion LAB's (in HeapWords)
share/gc/shared/tlab_globals.hpp
ZAllocationSpikeTolerancedoublegc2.0product
Allocation spike tolerance factor
share/gc/z/shared/z_shared_globals.hpp
ZAsyncUnmappingLimitdoublegc100.0product
Specify the max amount (percentage of max heap size) of async 
unmapping that can be in-flight before unmapping requests are 
temporarily forced to be synchronous instead. 
The default means after an amount of pages proportional to the 
max capacity is enqueued, we resort to synchronous unmapping.
share/gc/z/shared/z_shared_globals.hpp
ZBufferStoreBarriersboolgctrueproduct
Buffer store barriers
share/gc/z/z_globals.hpp
ZCollectionIntervalMajordoublegc-1product
Force GC at a fixed time interval (in seconds)
share/gc/z/z_globals.hpp
ZCollectionIntervalMinordoublegc-1product
Force Minor GC at a fixed time interval (in seconds)
share/gc/z/z_globals.hpp
ZCollectionIntervalOnlyboolgcfalseproduct
Only use timers for GC heuristics
share/gc/z/z_globals.hpp
ZCollectionIntervaldoublegc0product
Force GC at a fixed time interval (in seconds). 
Backwards compatible alias for ZCollectionIntervalMajor
share/gc/z/shared/z_shared_globals.hpp
ZForceDiscontiguousHeapReservationssize_tgc0
range(0, ZMaxVirtualReservations)
develop
The gc will attempt to split the heap reservation into this 
many reservations, subject to available virtual address space 
and invariant restrictions. Higher virtual addresses are 
preferred 

0: Disabled 

1: Attempt contiguous reservation starting at a higher address 
N: Force that many reservations, if possible
share/gc/z/z_globals.hpp
ZFragmentationLimitdoublegc0 /* ignored */
range(0, 100)
product
Maximum allowed heap fragmentation
share/gc/z/shared/z_shared_globals.hpp
ZGenerationalDeprecated in JDK23boolgcfalseproduct
Use the generational version of ZGC
share/gc/shared/gc_globals.hpp
ZIndexDistributorStrategyuintxgc0product
Strategy used to distribute indices to parallel workers 

0: Claim tree 

1: Simple Striped
share/gc/z/z_globals.hpp
ZMarkStackSpaceLimitsize_tgc8*G
range(32*M, 1024*G)
product
Maximum number of bytes allocated for mark stacks
share/gc/z/shared/z_shared_globals.hpp
ZOldGCThreadsuintgc0product
Number of GC threads for the old generation
share/gc/z/z_globals.hpp
ZProactiveboolgctrueproduct
Enable proactive GC cycles
share/gc/z/shared/z_shared_globals.hpp
ZStatisticsIntervaluintgc10
range(1, (uint)-1)
product
Time between statistics print outs (in seconds)
share/gc/z/shared/z_shared_globals.hpp
ZStressRelocateInPlaceboolgcfalseproduct
Always relocate pages in-place
share/gc/z/shared/z_shared_globals.hpp
ZTenuringThresholdintgc-1
range(-1, static_cast(ZPageAgeMax))
product
Young generation tenuring threshold, -1 for dynamic computation
share/gc/z/z_globals.hpp
ZUncommitDelayuintxgc5 * 60product
Uncommit memory if it has been unused for the specified 
amount of time (in seconds)
share/gc/z/shared/z_shared_globals.hpp
ZUncommitboolgctrueproduct
Uncommit unused memory
share/gc/z/shared/z_shared_globals.hpp
ZVerifyForwardingboolgcfalseproduct
Verify forwarding tables
share/gc/z/shared/z_shared_globals.hpp
ZVerifyMarkingboolgctrueInDebugproduct
Verify marking stacks
share/gc/z/shared/z_shared_globals.hpp
ZVerifyObjectsboolgcfalseproduct
Verify objects
share/gc/z/shared/z_shared_globals.hpp
ZVerifyOopsboolgcfalsedevelop
Verify accessed oops
share/gc/z/z_globals.hpp
ZVerifyRememberedboolgctrueInDebugproduct
Verify remembered sets
share/gc/z/z_globals.hpp
ZVerifyRootsboolgctrueInDebugproduct
Verify roots
share/gc/z/shared/z_shared_globals.hpp
ZVerifyViewsboolgcfalseproduct
Verify heap view accesses
share/gc/x/x_globals.hpp
ZYoungCompactionLimitdoublegc25.0
range(0, 100)
product
Maximum allowed garbage in young pages
share/gc/z/z_globals.hpp
ZYoungGCThreadsuintgc0product
Number of GC threads for the young generation
share/gc/z/z_globals.hpp
ZapEmptyStackFieldsbools390falsedevelop
Write 0x0101... to empty stack
 fields. Use this to ease stack debugging.
cpu/s390/globals_s390.hpp
ZapFillerObjectsboolruntimetrueInDebugdevelop
Zap filler objects
share/runtime/globals.hpp
ZapMemoryboolppcfalsedevelop
Write 0x0101... to empty memory. Use this to ease debugging.
cpu/ppc/globals_ppc.hpp
ZapResourceAreaboolruntimetrueInDebugdevelop
Zap freed resource/arena space
share/runtime/globals.hpp
ZapStackSegmentsboolruntimetrueInDebugnotproduct
Zap allocated/freed stack segments
share/runtime/globals.hpp
ZapTLABboolruntimetrueInDebugdevelop
Zap allocated TLABs
share/runtime/globals.hpp
ZapUnusedHeapAreaboolruntimetrueInDebugdevelop
Zap unused heap space
share/runtime/globals.hpp
ZapVMHandleAreaboolruntimetrueInDebugnotproduct
Zap freed VM handle space
share/runtime/globals.hpp
ZeroTLABboolgcfalseproduct
Zero out the newly created TLAB
share/gc/shared/tlab_globals.hpp
ZombieALotIntervalintxruntime5notproduct
Number of exits until ZombieALot kicks in
share/runtime/globals.hpp
ZombieALotboolruntimefalsenotproduct
Create non-entrant nmethods at exit from the runtime system
share/runtime/globals.hpp
batch
disable background compilation
launcher.properties
bootclasspath/a<dirs/jars>
append to end of bootstrap class path
launcher.properties
check:jni
perform additional checks for JNI functions
launcher.properties
comp
forces compilation of methods on first invocation
launcher.properties
debug
does nothing. Provided for backward compatibility.
launcher.properties
diag
show additional diagnostic messages
launcher.properties
future
enable strictest checks, anticipating future default.
This option is deprecated and may be removed in a
future release.
launcher.properties
hashCodeintxruntime5product
(Unstable) select hashCode generation algorithm
share/runtime/globals.hpp
int
interpreted mode execution only
launcher.properties
internalversion
displays more detailed JVM version information than the
-version option
launcher.properties
log<opts>
Configure or enable logging with the Java Virtual
Machine (JVM) unified logging framework. Use -Xlog:help
for details.
launcher.properties
loggc<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
mixed
mixed mode execution (default)
launcher.properties
mn<size>
sets the initial and maximum size (in bytes) of the heap
for the young generation (nursery)
launcher.properties
ms<size>
set initial Java heap size
launcher.properties
mx<size>
set maximum Java heap size
launcher.properties
noclassgc
disable class garbage collection
launcher.properties
rs
reduce use of OS signals by Java/VM (see documentation)
launcher.properties
share:auto
use shared class data if possible (default)
launcher.properties
share:off
do not attempt to use shared class data
launcher.properties
share:on
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:all
show all settings and continue
launcher.properties
showSettings:locale
show all locale related settings and continue
launcher.properties
showSettings:properties
show all property settings and continue
launcher.properties
showSettings:security:all
show all security settings and continue
launcher.properties
showSettings:security:properties
show security properties and continue
launcher.properties
showSettings:security:providers
show static security provider settings and continue
launcher.properties
showSettings:security:tls
show TLS related security settings and continue
launcher.properties
showSettings:security
show all security settings and continue
launcher.properties
showSettings:system
(Linux Only) show host system or container
configuration and continue
launcher.properties
showSettings:vm
show all vm related settings and continue
launcher.properties
showSettings
show all settings and continue
launcher.properties
ss<size>
set java thread stack size
The actual size may be rounded up to a multiple of the
system page size as required by the operating system.
launcher.properties
verify
sets the mode of the bytecode verifier
Note that option -Xverify:none is deprecated and
may be removed in a future release.
launcher.properties