VM Options Explorer - SapMachine

Hey Reader! If these notes float your boat you'll find more great JVM info in this book I co-wrote! Optimizing Java: Practical techniques for improving JVM application performance
NameSinceDeprecatedTypeOSCPUComponentDefaultAvailabilityDescriptionDefined in
SinceDeprecatedTypeOSCPUComponentAvailability
AOTLibraryccstrlistruntimeNULLproductAOT libraryshare/runtime/globals.hpp
AVX3Thresholdintx864096
range(0, max_jint)
productMinimum array size in bytes to use AVX512 intrinsicsfor copy, inflate and fill. When this value is set as zerocompare operations can also use AVX512 intrinsics.cpu/x86/globals_x86.hpp
AbortVMOnCompilationFailureboolcompilerfalseproductAbort VM when method had failed to compile.share/compiler/compiler_globals.hpp
AbortVMOnExceptionMessageccstrruntimeNULLproductCall fatal if the exception pointed by AbortVMOnException has this messageshare/runtime/globals.hpp
AbortVMOnExceptionccstrruntimeNULLproductCall fatal if this exception is thrown. Example: java -XX:AbortVMOnException=java.lang.NullPointerException Fooshare/runtime/globals.hpp
AbortVMOnSafepointTimeoutboolruntimefalseproductAbort upon failure to reach safepoint (see SafepointTimeout)share/runtime/globals.hpp
AbortVMOnVMOperationTimeoutDelayintxruntime1000
range(0, max_intx)
productDelay in milliseconds for option AbortVMOnVMOperationTimeoutshare/runtime/globals.hpp
AbortVMOnVMOperationTimeoutboolruntimefalseproductAbort upon failure to complete VM operation promptlyshare/runtime/globals.hpp
ActiveProcessorCountintgc-1productSpecify the CPU count the VM should use and report as activeshare/gc/shared/gc_globals.hpp
AdaptiveSizeDecrementScaleFactoruintxgc4
range(1, max_uintx)
productAdaptive size scale down factor for shrinkingshare/gc/shared/gc_globals.hpp
AdaptiveSizeMajorGCDecayTimeScaleuintxgc10
range(0, max_uintx)
productTime scale over which major costs decayshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyCollectionCostMarginuintxgc50
range(0, 100)
productIf collection costs are within margin, reduce both by full deltashare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyInitializingStepsuintxgc20
range(0, max_uintx)
productNumber of steps where heuristics is used before data is usedshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyOutputIntervaluintxgc0
range(0, max_uintx)
productCollection interval for printing information; zero means nevershare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyReadyThresholduintxgc5developNumber of collections before the adaptive sizing is startedshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyWeightuintxgc10
range(0, 100)
productWeight given to exponential resizing, between 0 and 100share/gc/shared/gc_globals.hpp
AdaptiveSizeThroughPutPolicyuintxgc0
range(0, 1)
productPolicy for changing generation size for throughput goalsshare/gc/shared/gc_globals.hpp
AdaptiveTimeWeightuintxgc25
range(0, 100)
productWeight given to time in adaptive policy, between 0 and 100share/gc/shared/gc_globals.hpp
AdjustStackSizeForTLSboollinuxfalseproductIncrease the thread stack size to include space for glibc static thread-local storage (TLS) if trueos/linux/globals_linux.hpp
AggressiveHeapboolgcfalseproductOptimize heap options for long-running memory intensive appsshare/gc/shared/gc_globals.hpp
AggressiveUnboxingboolc2trueproductControl optimizations for aggressive boxing eliminationshare/opto/c2_globals.hpp
AliasLevelintxc23
range(0, 3)
product0 for no aliasing, 1 for oop/field/static/array split,
2 for class split, 3 for unique instances
share/opto/c2_globals.hpp
AlignVectorboolc2trueproductPerform vector store/load alignment in loopshare/opto/c2_globals.hpp
AllocateHeapAtccstrruntimeNULLproductPath 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)
productNumber of lines to prefetch ahead of instance allocation pointershare/runtime/globals.hpp
AllocatePrefetchDistanceintxruntime-1productDistance to prefetch ahead of allocation pointer. -1: use system-specific value (automatically determinedshare/runtime/globals.hpp
AllocatePrefetchInstrintxruntime0productSelect instruction to prefetch ahead of allocation pointershare/runtime/globals.hpp
AllocatePrefetchLinesintxruntime3
range(1, 64)
productNumber of lines to prefetch ahead of array allocation pointershare/runtime/globals.hpp
AllocatePrefetchStepSizeintxruntime16
range(1, 512)
productStep size in bytes of sequential prefetch instructionsshare/runtime/globals.hpp
AllocatePrefetchStyleintxruntime1
range(0, 3)
product0 = 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
AllowArchivingWithJavaAgentboolruntimefalseproductAllow Java agent to be run with CDS dumpingshare/runtime/globals.hpp
AllowExtshmboolaixfalseproductAllow VM to run with EXTSHM=ON.os/aix/globals_aix.hpp
AllowParallelDefineClassboolruntimefalseproductAllow parallel defineClass requests for class loaders registering as parallel capableshare/runtime/globals.hpp
AllowRedefinitionToAddDeleteMethodsDeprecated in JDK13
Obsoleted in JDK
Expired in JDK
boolruntimefalseproduct(Deprecated) Allow redefinition to add and delete private static or final methods for compatibility with old releasesshare/runtime/globals.hpp
AllowUserSignalHandlersboolruntimefalseproductApplication will install primary signal handlers for the JVM (Unix only)share/runtime/globals.hpp
AllowVectorizeOnDemandboolc2trueproductGlobally supress vectorization set in VectorizeMethodshare/opto/c2_globals.hpp
AlwaysActAsServerClassMachineboolgcfalseproductAlways act like a server-class machineshare/gc/shared/gc_globals.hpp
AlwaysAtomicAccessesboolruntimefalseproductAccesses to all variables should always be atomicshare/runtime/globals.hpp
AlwaysCompileLoopMethodsboolruntimefalseproductWhen using recompilation, never interpret methods containing loopsshare/runtime/globals.hpp
AlwaysIncrementalInlineboolc2falsedevelopdo all inlining incrementallyshare/opto/c2_globals.hpp
AlwaysLockClassLoaderDeprecated in JDK17
Obsoleted in JDK18
Expired in JDK19
boolruntimefalseproduct(Deprecated) Require the VM to acquire the class loader lock before calling loadClass() even for class loaders registering as parallel capableshare/runtime/globals.hpp
AlwaysPreTouchboolgcfalseproductForce all freshly committed pages to be pre-touchedshare/gc/shared/gc_globals.hpp
AlwaysRestoreFPUboolruntimefalseproductRestore the FPU control word after every JNI call (expensive)share/runtime/globals.hpp
AlwaysSafeConstructorsboolruntimefalseproductForce safe construction, as if all fields are final.share/runtime/globals.hpp
AlwaysTenureboolgcfalseproductAlways tenure objects in eden (ParallelGC only)share/gc/shared/gc_globals.hpp
ArchiveClassesAtExitccstrruntimeNULLproductThe path and name of the dynamic archive fileshare/runtime/globals.hpp
ArchiveRelocationModeintxruntime0
range(0, 2)
product(0) first map at preferred address, and if unsuccessful, map at alternative address (default); (1) always map at alternative address; (2) always map at preferred address, and if unsuccessful, do not map the archiveshare/runtime/globals.hpp
ArrayAllocatorMallocLimitsize_truntime(size_t)-1productAllocation less than this value will be allocated using malloc. Larger allocations will use mmap.share/runtime/globals.hpp
ArrayCopyLoadStoreMaxElemintxc28
range(0, max_intx)
productMaximum number of arraycopy elements inlined as a sequence ofloads/storesshare/opto/c2_globals.hpp
ArrayCopyPartialInlineSizeintxc2-1
range(-1, 64)
productPartial inline size used for array copy acceleration.share/opto/c2_globals.hpp
AssertOnSuspendWaitFailureDeprecated in JDK
Obsoleted in JDK17
Expired in JDK18
boolruntimefalseproductAssert/Guarantee on external suspend wait failureshare/runtime/globals.hpp
AssertRangeCheckEliminationboolc1falsedevelopAssert Range Check Eliminationshare/c1/c1_globals.hpp
AsyncDeflationIntervalintxruntime250
range(0, max_jint)
productAsync deflate idle monitors every so many milliseconds when MonitorUsedDeflationThreshold is exceeded (0 is off).share/runtime/globals.hpp
AutoBoxCacheMaxintxc2128
range(0, max_jint)
productSets max value cached by the java.lang.Integer autobox cacheshare/opto/c2_globals.hpp
AvgMonitorsPerThreadEstimatesize_truntime1024
range(0, max_uintx)
productUsed to estimate a variable ceiling based on number of threads for use with MonitorUsedDeflationThreshold (0 is off).share/runtime/globals.hpp
AvoidUnalignedAccessesboolaarch64falseproductAvoid generating unaligned memory accessescpu/aarch64/globals_aarch64.hpp
BCEATraceLevelintxcompiler0
range(0, 3)
productHow much tracing to do of bytecode escape analysis estimates (0-3)share/compiler/compiler_globals.hpp
BackgroundCompilationboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
BackgroundCompilationboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
BackgroundCompilationboolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals_pd.hpp
BackgroundCompilationboolruntimeproduct_pdA thread requesting compilation is not blocked during compilationshare/runtime/globals.hpp
BackgroundCompilationboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
BackgroundCompilationbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
BackgroundCompilationboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
BailoutAfterHIRboolc1falsedevelopbailout of compilation after building of HIRshare/c1/c1_globals.hpp
BailoutAfterLIRboolc1falsedevelopbailout of compilation after building of LIRshare/c1/c1_globals.hpp
BailoutOnExceptionHandlersboolc1falsedevelopbailout of compilation for methods with exception handlersshare/c1/c1_globals.hpp
BailoutToInterpreterForThrowsboolc2falsedevelopCompiled methods which throws/catches exceptions will be deopt and intp.share/opto/c2_globals.hpp
BaseFootPrintEstimatesize_tgc256*M
range(0, max_uintx)
productEstimate of footprint other than Java Heapshare/gc/shared/gc_globals.hpp
BciProfileWidthintxruntime2developNumber of return bci's to record in ret profileshare/runtime/globals.hpp
BiasedLockingBulkRebiasThresholdDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
intxruntime20
range(0, max_intx)
product(Deprecated) Threshold of number of revocations per type to try to rebias all objects in the heap of that typeshare/runtime/globals.hpp
BiasedLockingBulkRevokeThresholdDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
intxruntime40
range(0, max_intx)
product(Deprecated) Threshold of number of revocations per type to permanently revoke biases of all objects in the heap of that typeshare/runtime/globals.hpp
BiasedLockingDecayTimeDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
intxruntime25000
range(500, max_intx)
product(Deprecated) Decay time (in milliseconds) to re-enable bulk rebiasing of a type after previous bulk rebiasshare/runtime/globals.hpp
BiasedLockingStartupDelayDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
intxruntime0
range(0, (intx)(max_jint-(max_jint%PeriodicTask::interval_gran)))
product(Deprecated) Number of milliseconds to wait before enabling biased lockingshare/runtime/globals.hpp
BinarySwitchThresholdintxruntime5developMinimal number of lookupswitch entries for rewriting to binary switchshare/runtime/globals.hpp
BlockLayoutByFrequencyboolc2trueproductUse edge frequencies to drive block orderingshare/opto/c2_globals.hpp
BlockLayoutMinDiamondPercentageintxc220
range(0, 100)
productMiniumum %% of a successor (predecessor) for which block layout a will allow a fork (join) in a single chainshare/opto/c2_globals.hpp
BlockLayoutRotateLoopsboolc2trueproductAllow back branches to be fall throughs in the block layoutshare/opto/c2_globals.hpp
BlockZeroingLowLimitintxaarch64256
range(1, max_jint)
productMinimum size in bytes when block zeroing will be usedcpu/aarch64/globals_aarch64.hpp
BootstrapJVMCIbooljvmcifalseproductBootstrap 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
BreakAtNodeintxc20notproductBreak at construction of this Node (either _idx or _debug_idx)share/opto/c2_globals.hpp
BytecodeVerificationLocalboolruntimefalseproductEnable the Java bytecode verifier for local classesshare/runtime/globals.hpp
BytecodeVerificationRemoteboolruntimetrueproductEnable the Java bytecode verifier for remote classesshare/runtime/globals.hpp
C1Breakpointboolc1falsedevelopSets a breakpoint at entry of each compiled methodshare/c1/c1_globals.hpp
C1InlineStackLimitintxc110
range(0, max_jint)
productinlining only allowed for methods which don't exceed this number of expression stack and local slotsshare/c1/c1_globals.hpp
C1MaxInlineLevelintxc19
range(0, max_jint)
productThe maximum number of nested calls that are inlined by C1share/c1/c1_globals.hpp
C1MaxInlineSizeintxc135
range(0, max_jint)
productThe maximum bytecode size of a method to be inlined by C1share/c1/c1_globals.hpp
C1MaxRecursiveInlineLevelintxc11
range(0, max_jint)
productmaximum number of nested recursive calls that are inlined by C1share/c1/c1_globals.hpp
C1MaxTrivialSizeintxc16
range(0, max_jint)
productThe maximum bytecode size of a trivial method to be inlined by C1share/c1/c1_globals.hpp
C1OptimizeVirtualCallProfilingboolc1trueproductUse CHA and exact type results at call sites when updating MDOsshare/c1/c1_globals.hpp
C1ProfileBranchesboolc1trueproductProfile branches when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileCallsboolc1trueproductProfile calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileCheckcastsboolc1trueproductProfile checkcasts when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileInlinedCallsboolc1trueproductProfile inlined calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileVirtualCallsboolc1trueproductProfile virtual calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1UpdateMethodDataboolc1trueproductUpdate MethodData*s in Tier1-generated codeshare/c1/c1_globals.hpp
CIBreakAtOSRintxcompiler-1developThe id of osr compilation to break atshare/compiler/compiler_globals.hpp
CIBreakAtintxcompiler-1developThe id of compilation to break atshare/compiler/compiler_globals.hpp
CICompileNativesboolcompilertruedevelopcompile native methods if supported by the compilershare/compiler/compiler_globals.hpp
CICompileOSRboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CICompileOSRboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
CICompileOSRboolcompilerdevelop_pdcompile on stack replacement methods if supported by the compilershare/compiler/compiler_globals.hpp
CICompileOSRboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CICompileOSRbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
CICompileOSRboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
CICompilerCountPerCPUboolcompilerfalseproduct1 compiler thread for log(N CPUs)share/compiler/compiler_globals.hpp
CICompilerCountintxruntimeCI_COMPILER_COUNT
range(0, max_jint)
productNumber of compiler threads to runshare/runtime/globals.hpp
CICountOSRboolcompilerfalsedevelopuse a separate counter when assigning ids to osr compilationsshare/compiler/compiler_globals.hpp
CICrashAtintxcompiler-1notproductid of compilation to trigger assert in compiler thread for the purpose of testing, e.g. generation of replay datashare/compiler/compiler_globals.hpp
CIObjectFactoryVerifyboolcompilerfalsenotproductenable potentially expensive verification in ciObjectFactoryshare/compiler/compiler_globals.hpp
CIPrintCompileQueueboolcompilerfalseproductdisplay the contents of the compile queue whenever a compilation is enqueuedshare/compiler/compiler_globals.hpp
CIPrintCompilerNameboolcompilerfalsedevelopwhen CIPrint is active, print the name of the active compilershare/compiler/compiler_globals.hpp
CIPrintMethodCodesboolcompilerfalsedevelopprint method bytecodes of the compiled codeshare/compiler/compiler_globals.hpp
CIPrintRequestsboolcompilerfalsedevelopdisplay every request for compilationshare/compiler/compiler_globals.hpp
CIPrintTypeFlowboolcompilerfalsedevelopprint the results of ciTypeFlow analysisshare/compiler/compiler_globals.hpp
CIStartOSRintxcompiler0developThe id of the first osr compilation to permit (CICountOSR must be on)share/compiler/compiler_globals.hpp
CIStartintxcompiler0developThe id of the first compilation to permitshare/compiler/compiler_globals.hpp
CIStopOSRintxcompilermax_jintdevelopThe id of the last osr compilation to permit (CICountOSR must be on)share/compiler/compiler_globals.hpp
CIStopintxcompilermax_jintdevelopThe id of the last compilation to permitshare/compiler/compiler_globals.hpp
CITimeEachboolcompilerfalsedevelopdisplay timing information after each successful compilationshare/compiler/compiler_globals.hpp
CITimeVerboseboolcompilerfalsedevelopbe more verbose in compilation timingsshare/compiler/compiler_globals.hpp
CITimeboolcompilerfalseproductcollect timing information for compilationshare/compiler/compiler_globals.hpp
CITraceTypeFlowboolcompilerfalsedevelopdetailed per-bytecode tracing of ciTypeFlow analysisshare/compiler/compiler_globals.hpp
CSEArrayLengthboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CSEArrayLengthboolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
CSEArrayLengthboolc1develop_pdCreate separate nodes for length in array accessesshare/c1/c1_globals.hpp
CSEArrayLengthboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CSEArrayLengthbools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
CSEArrayLengthboolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
CalculateClassFingerprintboolruntimefalseproductCalculate class fingerprintshare/runtime/globals.hpp
CanonicalizeNodesboolc1truedevelopCanonicalize graph nodesshare/c1/c1_globals.hpp
CheckCompressedOopsboolruntimetruenotproductGenerate checks in encoding/decoding code in debug VMshare/runtime/globals.hpp
CheckIntrinsicsboolruntimetrueproductWhen 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
CheckJNICallsboolruntimefalseproductVerify all arguments to JNI callsshare/runtime/globals.hpp
CheckMemoryInitializationboolruntimefalsenotproductCheck memory initializationshare/runtime/globals.hpp
CheckUnhandledOopsboolruntimefalsedevelopCheck for unhandled oops in VM codeshare/runtime/globals.hpp
CheckZapUnusedHeapAreaboolruntimefalsedevelopCheck zapping of unused heap spaceshare/runtime/globals.hpp
ClassUnloadingWithConcurrentMarkboolruntimetrueproductDo unloading of classes with a concurrent marking cycleshare/runtime/globals.hpp
ClassUnloadingboolruntimetrueproductDo unloading of classesshare/runtime/globals.hpp
ClipInliningboolruntimetrueproductClip inlining if aggregate method exceeds DesiredMethodLimitshare/runtime/globals.hpp
CodeCacheExpansionSizeintxaarch6432*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheExpansionSizesize_tarm32*Kdefine_pd_globalcpu/arm/c1_globals_arm.hpp
CodeCacheExpansionSizeuintxcompiler32*Kdefine_pd_globalshare/compiler/compiler_globals_pd.hpp
CodeCacheExpansionSizeuintxruntimeproduct_pdCode cache expansion size (in bytes)share/runtime/globals.hpp
CodeCacheExpansionSizeuintxppc32*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheExpansionSizeuintxs39064*Kdefine_pd_globalcpu/s390/c2_globals_s390.hpp
CodeCacheExpansionSizeuintxx8632*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheMinBlockLengthuintxaarch641define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinBlockLengthuintxarm1define_pd_globalcpu/arm/c1_globals_arm.hpp
CodeCacheMinBlockLengthuintxcompiler1define_pd_globalshare/compiler/compiler_globals_pd.hpp
CodeCacheMinBlockLengthuintxruntimeproduct_pdMinimum number of segments in a code cache blockshare/runtime/globals.hpp
CodeCacheMinBlockLengthuintxppc1define_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheMinBlockLengthuintxs3904define_pd_globalcpu/s390/c2_globals_s390.hpp
CodeCacheMinBlockLengthuintxx861define_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheMinimumUseSpaceuintxaarch64400*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinimumUseSpacesize_tarm400*Kdefine_pd_globalcpu/arm/c1_globals_arm.hpp
CodeCacheMinimumUseSpaceuintxcompiler200*Kdefine_pd_globalshare/compiler/compiler_globals_pd.hpp
CodeCacheMinimumUseSpaceuintxruntimedevelop_pdMinimum code cache size (in bytes) required to start VM.share/runtime/globals.hpp
CodeCacheMinimumUseSpaceuintxppc400*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheMinimumUseSpaceuintxs390400*Kdefine_pd_globalcpu/s390/c2_globals_s390.hpp
CodeCacheMinimumUseSpaceuintxx86400*Kdefine_pd_globalcpu/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
CodeCacheSegmentSizeuintxruntimedevelop_pdCode cache segment size (in bytes) - smallest unit of allocationshare/runtime/globals.hpp
CodeCacheSegmentSizeuintxppc128define_pd_globalcpu/ppc/globals_ppc.hpp
CodeCacheSegmentSizeuintxs390256define_pd_globalcpu/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_globalcpu/aarch64/globals_aarch64.hpp
CodeEntryAlignmentintxarm16define_pd_globalcpu/arm/globals_arm.hpp
CodeEntryAlignmentintxruntimedevelop_pdCode entry alignment for generated code (in bytes)share/runtime/globals.hpp
CodeEntryAlignmentintxppc128define_pd_globalcpu/ppc/globals_ppc.hpp
CodeEntryAlignmentintxs39064define_pd_globalcpu/s390/globals_s390.hpp
CodeEntryAlignmentintxx8616define_pd_globalcpu/x86/globals_x86.hpp
CodeEntryAlignmentintxzero32define_pd_globalcpu/zero/globals_zero.hpp
CollectIndexSetStatisticsboolruntimefalsenotproductCollect information about IndexSetsshare/runtime/globals.hpp
CommentedAssemblyboolc1trueInDebugdevelopShow extra info in PrintNMethods outputshare/c1/c1_globals.hpp
CompactStringsboolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
CompactStringsboolarmfalsedefine_pd_globalcpu/arm/globals_arm.hpp
CompactStringsboolruntimeproduct_pdEnable Strings to use single byte chars in backing storeshare/runtime/globals.hpp
CompactStringsboolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
CompactStringsbools390truedefine_pd_globalcpu/s390/globals_s390.hpp
CompactStringsboolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
CompactStringsboolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
CompilationModeccstrcompilerdefaultproductCompilation 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
CompileCommandFileccstrcompilerNULLproductRead compiler commands from this file [.hotspot_compiler]share/compiler/compiler_globals.hpp
CompileCommandccstrlistcompilerPrepend to .hotspot_compiler; e.g. log,java/lang/String.productshare/compiler/compiler_globals.hpp
CompileOnlyccstrlistcompilerList of methods (pkg/class.name) to restrict compilation toproductshare/compiler/compiler_globals.hpp
CompileThresholdScalingdoublecompiler1.0
range(0.0, DBL_MAX)
productFactor 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_globalcpu/aarch64/c1_globals_aarch64.hpp
CompileThresholdintxarm10000define_pd_globalcpu/arm/c2_globals_arm.hpp
CompileThresholdintxcompiler0define_pd_globalshare/compiler/compiler_globals_pd.hpp
CompileThresholdintxruntimeproduct_pdnumber of interpreted method invocations before (re-)compilingshare/runtime/globals.hpp
CompileThresholdintxppc1000define_pd_globalcpu/ppc/c1_globals_ppc.hpp
CompileThresholdintxs39010000define_pd_globalcpu/s390/c2_globals_s390.hpp
CompileThresholdintxx861500define_pd_globalcpu/x86/c1_globals_x86.hpp
CompilerDirectivesFileccstrcompilerNULLproductRead compiler directives from this fileshare/compiler/compiler_globals.hpp
CompilerDirectivesIgnoreCompileCommandsboolcompilerfalseproductDisable backwards compatibility for compile commands.share/compiler/compiler_globals.hpp
CompilerDirectivesLimitintcompiler50productLimit on number of compiler directives.share/compiler/compiler_globals.hpp
CompilerDirectivesPrintboolcompilerfalseproductPrint compiler directives on installation.share/compiler/compiler_globals.hpp
CompilerThreadPriorityintxruntime-1
range(min_jint, max_jint)
productThe native priority at which compiler threads should run (-1 means no change)share/runtime/globals.hpp
CompilerThreadStackSizeintxaixppc4096define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
CompilerThreadStackSizeintxbsdaarch642048define_pd_globalos_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
CompilerThreadStackSizeintxbsdx86512define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
CompilerThreadStackSizeintxbsdzero0define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
CompilerThreadStackSizeintxlinuxaarch642048define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
CompilerThreadStackSizeintxlinuxarm512define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
CompilerThreadStackSizeintxlinuxppc4096define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
CompilerThreadStackSizeintxlinuxs3902048define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
CompilerThreadStackSizeintxlinuxx86512define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
CompilerThreadStackSizeintxlinuxzero0define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
CompilerThreadStackSizeintxruntimeproduct_pdCompiler Thread Stack Size (in Kbytes)share/runtime/globals.hpp
CompilerThreadStackSizeintxwindowsaarch640define_pd_globalos_cpu/windows_aarch64/globals_windows_aarch64.hpp
CompilerThreadStackSizeintxwindowsx860define_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
CompressedClassSpaceSizesize_truntime1*G
range(1*M, 3*G)
productMaximum size of class area in Metaspace when compressed class pointers are usedshare/runtime/globals.hpp
ComputeExactFPURegisterUsageboolc1truedevelopCompute additional live set for fpu registers to simplify fpu stack merge (Intel only)share/c1/c1_globals.hpp
ConcGCThreadsuintgc0productNumber of threads concurrent gc will useshare/gc/shared/gc_globals.hpp
ConcGCYieldTimeoutintxgc0
range(0, max_intx)
developIf non-zero, assert that GC threads yield within this number of millisecondsshare/gc/shared/gc_globals.hpp
ConditionalMoveLimitintxaarch643define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
ConditionalMoveLimitintxarm4define_pd_globalcpu/arm/c2_globals_arm.hpp
ConditionalMoveLimitintxc2product_pdLimit of ops to make speculative when using CMOVEshare/opto/c2_globals.hpp
ConditionalMoveLimitintxppc3define_pd_globalcpu/ppc/c2_globals_ppc.hpp
ConditionalMoveLimitintxs3904define_pd_globalcpu/s390/c2_globals_s390.hpp
ConditionalMoveLimitintxx863define_pd_globalcpu/x86/c2_globals_x86.hpp
ContendedPaddingWidthintxruntime128
range(0, 8192)
productHow many bytes to pad the fields/classes marked @Contended withshare/runtime/globals.hpp
ControlIntrinsicccstrlistruntimeDIAGNOSTICproductControl intrinsics using a list of +/- (internal) names, separated by commasshare/runtime/globals.hpp
ConvertCmpD2CmpFboolc2truedevelopConvert cmpD to cmpF when one input is constant in float rangeshare/opto/c2_globals.hpp
ConvertFloat2IntClippingboolc2truedevelopConvert float2int clipping idiom to integer clippingshare/opto/c2_globals.hpp
CountBytecodesboolruntimefalsedevelopCount number of bytecodes executedshare/runtime/globals.hpp
CountCompiledCallsboolruntimefalsedevelopCount method invocationsshare/runtime/globals.hpp
CountLinearScanboolc1falsedevelopcollect statistic counters during LinearScanshare/c1/c1_globals.hpp
CounterDecayMinIntervalLengthintxruntime500developThe minimum interval (in milliseconds) between invocation of CounterDecayshare/runtime/globals.hpp
CounterHalfLifeTimeintxruntime30developHalf-life time of invocation counters (in seconds)share/runtime/globals.hpp
CrashGCForDumpingJavaThreadboolruntimefalsenotproductManually make GC thread crash then dump java stack trace; Test onlyshare/runtime/globals.hpp
CrashOnOutOfMemoryErrorboolruntimefalseproductJVM aborts, producing an error log and core/mini dump, on the first occurrence of an out-of-memory error thrown from JVMshare/runtime/globals.hpp
CreateCoredumpOnCrashboolruntimetrueproductCreate core/mini dump on VM fatal errorshare/runtime/globals.hpp
CriticalJNINativesDeprecated in JDK16
Obsoleted in JDK17
Expired in JDK18
boolruntimefalseproduct(Deprecated) Check for critical JNI entry pointsshare/runtime/globals.hpp
DSCR_DPFD_PPC64uint64_tppc8productPower8 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 touchcpu/ppc/globals_ppc.hpp
DSCR_PPC64uint64_tppc(uint64_t)-1productPower8 or later: Specify encoded value for Data Stream Control Registercpu/ppc/globals_ppc.hpp
DSCR_URG_PPC64uint64_tppc8productPower8 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 touchcpu/ppc/globals_ppc.hpp
DTraceAllocProbesboolruntimefalseproductEnable dtrace probes for object allocationshare/runtime/globals.hpp
DTraceMethodProbesboolruntimefalseproductEnable dtrace probes for method-entry and method-exitshare/runtime/globals.hpp
DTraceMonitorProbesboolruntimefalseproductEnable dtrace probes for monitor eventsshare/runtime/globals.hpp
DebugDeoptimizationboolruntimefalsedevelopTracing various information while debugging deoptimizationshare/runtime/globals.hpp
DebugInlinedCallsboolc2trueproductIf false, restricts profiled locations to the root method onlyshare/opto/c2_globals.hpp
DebugNonSafepointsboolruntimetrueInDebugproductGenerate extra debugging information for non-safepoints in nmethodsshare/runtime/globals.hpp
DebugVtablesboolruntimefalsedevelopadd debugging code to vtable dispatchshare/runtime/globals.hpp
DeferInitialCardMarkboolgcfalseproductWhen +ReduceInitialCardMarks, explicitly defer any that may arise from new_pre_store_barriershare/gc/shared/gc_globals.hpp
DeoptC1boolc1truedevelopUse deoptimization in C1share/c1/c1_globals.hpp
DeoptimizeALotIntervalintxruntime5notproductNumber of exits until DeoptimizeALot kicks inshare/runtime/globals.hpp
DeoptimizeALotboolruntimefalsedevelopDeoptimize at every exit from the runtime systemshare/runtime/globals.hpp
DeoptimizeNMethodBarriersALotboolruntimefalseproductMake nmethod barriers deoptimise a lot.share/runtime/globals.hpp
DeoptimizeObjectsALotIntervaluint64_truntime5
range(0, max_jlong)
developInterval for DeoptimizeObjectsALot.share/runtime/globals.hpp
DeoptimizeObjectsALotThreadCountAllintruntime1
range(0, max_jint)
developThe 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)
developThe 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
DeoptimizeObjectsALotboolruntimefalsedevelopFor 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
DeoptimizeOnlyAtccstrlistruntimeA comma separated list of bcis to deoptimize atnotproductshare/runtime/globals.hpp
DeoptimizeRandomboolruntimefalsedevelopDeoptimize random frames on random exit from the runtime systemshare/runtime/globals.hpp
DesiredMethodLimitintxcompiler8000developThe desired maximum method size (in bytecodes) after inliningshare/compiler/compiler_globals.hpp
DiagnoseSyncOnValueBasedClassesintxruntime0
range(0, 2)
productDetect 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
DisableAttachMechanismboolruntimefalseproductDisable mechanism that allows tools to attach to this VMshare/runtime/globals.hpp
DisableExplicitGCboolgcfalseproductIgnore calls to System.gc()share/gc/shared/gc_globals.hpp
DisableIntrinsicccstrlistruntimeDIAGNOSTICproductdo not expand intrinsics whose (internal) names appear hereshare/runtime/globals.hpp
DisablePrimordialThreadGuardPagesboolruntimefalseproductDisable the use of stack guard pages if the JVM is loaded on the primordial process threadshare/runtime/globals.hpp
DisplayVMOutputToStderrboolruntimefalseproductIf DisplayVMOutput is true, display all VM output to stderrshare/runtime/globals.hpp
DisplayVMOutputToStdoutboolruntimefalseproductIf DisplayVMOutput is true, display all VM output to stdoutshare/runtime/globals.hpp
DisplayVMOutputboolruntimetrueproductDisplay all VM output on the tty, independently of LogVMOutputshare/runtime/globals.hpp
DoCEEboolc1truedevelopDo Conditional Expression Elimination to simplify CFGshare/c1/c1_globals.hpp
DoEscapeAnalysisboolc2trueproductPerform escape analysisshare/opto/c2_globals.hpp
DoReserveCopyInSuperWordboolc2trueproductCreate reserve copy of graph in SuperWord.share/opto/c2_globals.hpp
DominatorSearchLimitintxc21000
range(0, max_jint)
productIterations limit in Node::dominatesshare/opto/c2_globals.hpp
DontCompileHugeMethodsboolcompilertrueproductDo not compile methods > HugeMethodLimitshare/compiler/compiler_globals.hpp
DontYieldALotIntervalintxruntime10developInterval between which yields will be dropped (milliseconds)share/runtime/globals.hpp
DontYieldALotboolaixppcfalsedefine_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
DontYieldALotboolbsdaarch64falsedefine_pd_globalos_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
DontYieldALotboolbsdx86falsedefine_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
DontYieldALotboolbsdzerofalsedefine_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
DontYieldALotboollinuxaarch64falsedefine_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
DontYieldALotboollinuxarmfalsedefine_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
DontYieldALotboollinuxppcfalsedefine_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
DontYieldALotboollinuxs390falsedefine_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
DontYieldALotboollinuxx86falsedefine_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
DontYieldALotboollinuxzerofalsedefine_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
DontYieldALotboolruntimeproduct_pdThrow away obvious excess yield callsshare/runtime/globals.hpp
DontYieldALotboolwindowsaarch64falsedefine_pd_globalos_cpu/windows_aarch64/globals_windows_aarch64.hpp
DontYieldALotboolwindowsx86falsedefine_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
DummyManageableStringFlagccstrruntimeNULLproductDummy flag for testing string handling in WriteableFlagsshare/runtime/flags/debug_globals.hpp
DumpLoadedClassListccstrruntimeNULLproductDump the names all loaded classes, that could be stored into the CDS archive, in the specified fileshare/runtime/globals.hpp
DumpPerfMapAtExitboollinuxfalseproductWrite map file for Linux perf tool at exitos/linux/globals_linux.hpp
DumpPrivateMappingsInCoreboollinuxtrueproductIf 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
DumpReplayDataOnErrorboolcompilertrueproductRecord replay data for crashing compiler threadsshare/compiler/compiler_globals.hpp
DumpSharedMappingsInCoreboollinuxtrueproductIf 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
DumpSharedSpacesboolruntimefalseproductSpecial mode: JVM reads a class list, loads classes, builds shared spaces, and dumps the shared spaces to a file to be used in future JVM runsshare/runtime/globals.hpp
DumpVitalsAtExitboolruntimefalseproductDump vitals at VM exit into two files, by default called sapmachine_vitals_<pid>.txt and sapmachine_vitals_<pid>.csv. Use -XX:VitalsFile option to change the file names.share/runtime/globals.hpp
DynamicDumpSharedSpacesboolruntimefalseproductDynamic archiveshare/runtime/globals.hpp
DynamicallyResizeSystemDictionariesboolruntimetrueproductDynamically resize system dictionaries as neededshare/runtime/globals.hpp
EagerInitializationboolruntimefalsedevelopEagerly initialize classes if possibleshare/runtime/globals.hpp
EagerJVMCIbooljvmcifalseproductForce eager JVMCI initializationshare/jvmci/jvmci_globals.hpp
EagerXrunInitboolruntimefalseproductEagerly initialize -Xrun libraries; allows startup profiling, but not all -Xrun libraries may support the state of the VM at this timeshare/runtime/globals.hpp
EliminateAllocationArraySizeLimitintxc264
range(0, max_jint)
productArray size (number of elements) limit for scalar replacementshare/opto/c2_globals.hpp
EliminateAllocationFieldsLimitintxc2512
range(0, max_jint)
productNumber of fields in instance limit for scalar replacementshare/opto/c2_globals.hpp
EliminateAllocationsboolc2trueproductUse escape analysis to eliminate allocationsshare/opto/c2_globals.hpp
EliminateAutoBoxboolc2trueproductControl optimizations for autobox eliminationshare/opto/c2_globals.hpp
EliminateBlocksboolc1truedevelopEliminate unneccessary basic blocksshare/c1/c1_globals.hpp
EliminateFieldAccessboolc1truedevelopOptimize field loads and storesshare/c1/c1_globals.hpp
EliminateLocksboolc2trueproductCoarsen locks when possibleshare/opto/c2_globals.hpp
EliminateNestedLocksboolc2trueproductEliminate nested locks of the same object when possibleshare/opto/c2_globals.hpp
EliminateNullChecksboolc1truedevelopEliminate unneccessary null checksshare/c1/c1_globals.hpp
EnableContendedboolruntimetrueproductEnable @Contended annotation supportshare/runtime/globals.hpp
EnableDynamicAgentLoadingboolruntimetrueproductAllow tools to load agents with the attach mechanismshare/runtime/globals.hpp
EnableJVMCIProductbooljvmcifalseproductAllow 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
EnableJVMCIbooljvmcifalseproductEnable JVMCIshare/jvmci/jvmci_globals.hpp
EnableJVMTIStackDepthAssertsboolruntimetruenotproductEnable JVMTI asserts related to stack depth checksshare/runtime/globals.hpp
EnableThreadSMRExtraValidityChecksboolruntimetrueproductEnable Thread SMR extra validity checksshare/runtime/globals.hpp
EnableThreadSMRStatisticsboolruntimetrueInDebugproductEnable Thread SMR Statisticsshare/runtime/globals.hpp
EnableVectorAggressiveReboxingboolc2falseproductEnables aggressive reboxing of vectorsshare/opto/c2_globals.hpp
EnableVectorReboxingboolc2falseproductEnables reboxing of vectorsshare/opto/c2_globals.hpp
EnableVectorSupportboolc2falseproductEnables VectorSupport intrinsicsshare/opto/c2_globals.hpp
EnableVitalsboolruntimetrueproductEnable sampling of vitals: memory, cpu utilization and various VM core statistics; display via jcmd 'VM.vitals'.share/runtime/globals.hpp
EpsilonElasticTLABDecayboolgctrueproductUse timed decays to shrik TLAB sizes. This conserves memory for the threads that allocate in bursts of different sizes, for example the small/rare allocations coming after the initial large burst.share/gc/epsilon/epsilon_globals.hpp
EpsilonElasticTLABboolgctrueproductUse 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)
productMax 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)
productMin 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)
productPrint 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)
productTLAB 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)
productMultiplier 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)
productUpdate 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)
productMaximum ergonomically set heap size (in bytes); zero means use MaxRAM * MaxRAMPercentage / 100share/gc/shared/gc_globals.hpp
ErrorFileToStderrboolruntimefalseproductIf true, error data is printed to stderr instead of a fileshare/runtime/globals.hpp
ErrorFileToStdoutboolruntimefalseproductIf true, error data is printed to stdout instead of a fileshare/runtime/globals.hpp
ErrorFileccstrruntimeNULLproductIf an error occurs, save the error data to this file [default: ./hs_err_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
ErrorHandlerTestuintxruntime0
range(0, 17)
developIf > 0, provokes an error after VM initialization; the value determines which error to provoke. See controlled_crash() in vmError.cpp.share/runtime/globals.hpp
ErrorLogTimeoutuint64_truntime2 * 60
range(0, (uint64_t)max_jlong/1000)
productTimeout, 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)
productAbort EA when it reaches time limit (in sec)share/opto/c2_globals.hpp
EstimateArgEscapeboolcompilertrueproductAnalyze bytecodes to estimate escape state of argumentsshare/compiler/compiler_globals.hpp
ExecutingUnitTestsboolruntimefalseproductWhether the JVM is running unit tests or notshare/runtime/globals.hpp
ExitEscapeAnalysisOnTimeoutboolc2truedevelopExit or throw assert in EA when it reaches time limitshare/opto/c2_globals.hpp
ExitOnFullCodeCacheboolruntimefalsenotproductExit the VM if we fill the code cacheshare/runtime/globals.hpp
ExitOnOutOfMemoryErrorboolruntimefalseproductJVM exits on the first occurrence of an out-of-memory error thrown from JVMshare/runtime/globals.hpp
ExpandLoadingBaseDecode_NNbools390trueproductExpand the assembler instruction required to load the base from DecodeN_NN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseDecodebools390trueproductExpand the assembler instruction required to load the base from DecodeN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncode_NNbools390trueproductExpand the assembler instruction required to load the base from EncodeP_NN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncodebools390trueproductExpand the assembler instruction required to load the base from EncodeP nodes during matching.cpu/s390/globals_s390.hpp
ExpandSubTypeCheckAtParseTimeboolc2falseproductDo not use subtype check macro nodeshare/opto/c2_globals.hpp
ExplicitGCInvokesConcurrentboolgcfalseproductA System.gc() request invokes a concurrent collection; (effective only when using concurrent collectors)share/gc/shared/gc_globals.hpp
ExtendedDTraceProbesboolruntimefalseproductEnable performance-impacting dtrace probesshare/runtime/globals.hpp
ExtensiveErrorReportsboolruntimePRODUCT_ONLY(true) NOT_PRODUCT(true)productError reports are more extensive.share/runtime/globals.hpp
ExtraSharedClassListFileccstrruntimeNULLproductExtra classlist for building the CDS archive fileshare/runtime/globals.hpp
FLOATPRESSUREintxaarch6432define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
FLOATPRESSUREintxarm30define_pd_globalcpu/arm/c2_globals_arm.hpp
FLOATPRESSUREintxc2develop_pdNumber of float LRG's that constitute high register pressureshare/opto/c2_globals.hpp
FLOATPRESSUREintxppc28define_pd_globalcpu/ppc/c2_globals_ppc.hpp
FLOATPRESSUREintxs39015define_pd_globalcpu/s390/c2_globals_s390.hpp
FLOATPRESSUREintxx866define_pd_globalcpu/x86/c2_globals_x86.hpp
FLSVerifyDictionaryboolruntimefalsedevelopDo lots of (expensive) FLS dictionary verificationshare/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 slowshare/runtime/globals.hpp
FilterSpuriousWakeupsboolruntimetrueproductWhen true prevents OS-level spurious, or premature, wakeups from Object.wait (Ignored for Windows)share/runtime/globals.hpp
FlightRecorderOptionsccstrruntimeNULLproductFlight Recorder optionsshare/runtime/globals.hpp
FlightRecorderDeprecated in JDK13
Obsoleted in JDK
Expired in JDK
boolruntimefalseproduct(Deprecated) Enable Flight Recordershare/runtime/globals.hpp
FoldStableValuesboolruntimetrueproductOptimize loads from stable fields (marked w/ @Stable)share/runtime/globals.hpp
ForceTimeHighResolutionboolruntimefalseproductUsing high time resolution (for Win32 only)share/runtime/globals.hpp
ForceUnreachableboolruntimefalseproductMake all non code cache addresses to be unreachable by forcing use of 64bit literal fixupsshare/runtime/globals.hpp
FreqCountInvocationsintxc21
range(1, max_intx)
developScaling factor for branch frequencies (deprecated)share/opto/c2_globals.hpp
FreqInlineSizeintxaarch64325define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
FreqInlineSizeintxarm175define_pd_globalcpu/arm/c2_globals_arm.hpp
FreqInlineSizeintxc2product_pdThe maximum bytecode size of a frequent method to be inlinedshare/opto/c2_globals.hpp
FreqInlineSizeintxppc175define_pd_globalcpu/ppc/c2_globals_ppc.hpp
FreqInlineSizeintxs390175define_pd_globalcpu/s390/c2_globals_s390.hpp
FreqInlineSizeintxx86325define_pd_globalcpu/x86/c2_globals_x86.hpp
FullGCALotDummiesintxgc32*KnotproductDummy object allocated with +FullGCALot, forcing all objects to moveshare/gc/shared/gc_globals.hpp
FullGCALotIntervalintxgc1notproductInterval between which full gc will occur with +FullGCALotshare/gc/shared/gc_globals.hpp
FullGCALotStartintxgc0notproductFor which invocation to start FullGCAlotshare/gc/shared/gc_globals.hpp
FullGCALotboolgcfalsedevelopForce full gc at every Nth exit from the runtime system (N=FullGCALotInterval)share/gc/shared/gc_globals.hpp
G1AdaptiveIHOPNumInitialSamplessize_tgc3
range(1, max_intx)
productHow 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)
productTarget duration of individual concurrent marking steps in milliseconds.share/gc/g1/g1_globals.hpp
G1ConcRSHotCardLimituintxgc4
range(0, max_jubyte)
productThe threshold that defines (>=) a hot card.share/gc/g1/g1_globals.hpp
G1ConcRSLogCacheSizesize_tgc10
range(0, 27)
productLog base 2 of the length of conc RS hot-card cache.share/gc/g1/g1_globals.hpp
G1ConcRefinementGreenZonesize_tgc0
range(0, max_intx)
productThe number of update buffers that are left in the queue by the concurrent processing threads. Will be selected ergonomically by default.share/gc/g1/g1_globals.hpp
G1ConcRefinementRedZonesize_tgc0
range(0, max_intx)
productMaximum number of enqueued update buffers before mutator threads start processing new ones instead of enqueueing them. Will be selected ergonomically by default.share/gc/g1/g1_globals.hpp
G1ConcRefinementServiceIntervalMillisuintxgc300
range(0, max_jint)
productThe G1 service thread wakes up every specified number of milliseconds to do miscellaneous work.share/gc/g1/g1_globals.hpp
G1ConcRefinementThreadsuintgc0
range(0, (max_jint-1)/wordSize)
productThe number of parallel rem set update threads. Will be set ergonomically by default.share/gc/g1/g1_globals.hpp
G1ConcRefinementThresholdStepsize_tgc2
range(1, SIZE_MAX)
productEach time the rset update queue increases by this amount activate the next refinement thread if available. The actual step size will be selected ergonomically by default, with this value used to determine a lower bound.share/gc/g1/g1_globals.hpp
G1ConcRefinementYellowZonesize_tgc0
range(0, max_intx)
productNumber of enqueued update buffers that will trigger concurrent processing. Will be selected ergonomically by default.share/gc/g1/g1_globals.hpp
G1ConfidencePercentuintxgc50
range(0, 100)
productConfidence level for MMU/pause predictionsshare/gc/g1/g1_globals.hpp
G1DummyRegionsPerGCuintxgc0developThe number of dummy regions G1 will allocate at the end of each evacuation pause in order to artificially fill up the heap and stress the marking implementation.share/gc/g1/g1_globals.hpp
G1EagerReclaimHumongousObjectsWithStaleRefsboolgctrueproductTry to reclaim dead large objects that have a few stale references at every young GC.share/gc/g1/g1_globals.hpp
G1EagerReclaimHumongousObjectsboolgctrueproductTry to reclaim dead large objects at every young GC.share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotCountuintxgc1000developNumber of successful evacuations between evacuation failures occurring at object copyingshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringConcMarkboolgctruedevelopForce use of evacuation failure handling during evacuation pauses when marking is in progressshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringConcurrentStartboolgctruedevelopForce use of evacuation failure handling during concurrent start evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringMixedGCboolgctruedevelopForce use of evacuation failure handling during mixed evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringYoungGCboolgctruedevelopForce use of evacuation failure handling during young evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotIntervaluintxgc5developTotal collections between forced triggering of evacuation failuresshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotboolgcfalsenotproductForce use of evacuation failure handling during certain evacuation pausesshare/gc/g1/g1_globals.hpp
G1ExitOnExpansionFailureboolgcfalsedevelopRaise a fatal VM exit out of memory failure in the event that heap expansion fails due to running out of swap.share/gc/g1/g1_globals.hpp
G1ExpandByPercentOfAvailableintxgc20
range(0, 100)
productWhen expanding, % of uncommitted space to claim.share/gc/g1/g1_globals.hpp
G1HeapRegionSizesize_tgc0
range(0, 32*M)
productSize of the G1 regions.share/gc/g1/g1_globals.hpp
G1HeapWastePercentuintxgc5
range(0, 100)
productAmount 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)
productThe expected average occupancy of the last PLAB in percent.share/gc/g1/g1_globals.hpp
G1MaxNewSizePercentuintxgc60
range(0, 100)
productPercentage (0-100) of the heap size to use as default maximum young gen size.share/gc/g1/g1_globals.hpp
G1MaxVerifyFailuresintxgc-1
range(-1, max_jint)
developThe maximum number of verification failures to print. -1 means print all.share/gc/g1/g1_globals.hpp
G1MixedGCCountTargetuintxgc8
range(0, max_uintx)
productThe target number of mixed GCs after a marking cycle.share/gc/g1/g1_globals.hpp
G1MixedGCLiveThresholdPercentuintxgc85
range(0, 100)
productThreshold 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)
productPercentage (0-100) of the heap size to use as default minimum young gen size.share/gc/g1/g1_globals.hpp
G1OldCSetRegionThresholdPercentuintxgc10
range(0, 100)
productAn upper bound for the number of old CSet regions expressed as a percentage of the heap size.share/gc/g1/g1_globals.hpp
G1PeriodicGCIntervaluintxgc0productNumber 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
G1PeriodicGCInvokesConcurrentboolgctrueproductDetermines 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)
productMaximum 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
G1RSetRegionEntriesBaseintxgc256
range(1, max_jint/wordSize)
developMax number of regions in a fine-grain table per MB.share/gc/g1/g1_globals.hpp
G1RSetRegionEntriesintxgc0
range(0, max_jint/wordSize)
productMax number of regions for which we keep bitmaps.Will be set ergonomically by defaultshare/gc/g1/g1_globals.hpp
G1RSetSparseRegionEntriesBaseintxgc4
range(1, max_jint/wordSize)
developMax number of entries per region in a sparse table per MB.share/gc/g1/g1_globals.hpp
G1RSetSparseRegionEntriesintxgc0
range(0, max_jint/wordSize)
productMax number of entries per region in a sparse table.Will be set ergonomically by default.share/gc/g1/g1_globals.hpp
G1RSetUpdatingPauseTimePercentintxgc10
range(0, 100)
productA target percentage of time that is allowed to be spend on process RS update buffers during the collection pause.share/gc/g1/g1_globals.hpp
G1RebuildRemSetChunkSizesize_tgc256 * K
range(4 * K, 32 * M)
productChunk size used for rebuilding the remembered set.share/gc/g1/g1_globals.hpp
G1RefProcDrainIntervaluintgc1000
range(1, INT_MAX)
productThe number of discovered reference objects to process before draining concurrent marking work queues.share/gc/g1/g1_globals.hpp
G1ReservePercentuintxgc10
range(0, 50)
productIt determines the minimum reserve we should have in the heap to minimize the probability of promotion failure.share/gc/g1/g1_globals.hpp
G1SATBBufferEnqueueingThresholdPercentuintxgc60
range(0, 100)
productBefore 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)
productNumber of entries in an SATB log buffer.share/gc/g1/g1_globals.hpp
G1SATBProcessCompletedThresholdintxgc20
range(0, max_jint)
developNumber of completed buffers that triggers log processing.share/gc/g1/g1_globals.hpp
G1SummarizeRSetStatsPeriodintxgc0
range(0, max_intx)
productThe 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 tracelevel for gc+remsetshare/gc/g1/g1_globals.hpp
G1UpdateBufferSizesize_tgc256
range(1, NOT_LP64(32*M) LP64_ONLY(1*G))
productSize of an update buffershare/gc/g1/g1_globals.hpp
G1UseAdaptiveConcRefinementboolgctrueproductSelect green, yellow and red zones adaptively to meet the the pause requirements.share/gc/g1/g1_globals.hpp
G1UseAdaptiveIHOPboolgctrueproductAdaptively 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
G1UseReferencePrecleaningboolgctrueproductConcurrently preclean java.lang.ref.references instances before the Remark pause.share/gc/g1/g1_globals.hpp
G1VerifyBitmapsboolgcfalsedevelopVerifies the consistency of the marking bitmapsshare/gc/g1/g1_globals.hpp
G1VerifyCTCleanupboolgcfalsedevelopVerify card table cleanup.share/gc/g1/g1_globals.hpp
G1VerifyHeapRegionCodeRootsboolgcfalseproductVerify the code root lists attached to each heap region.share/gc/g1/g1_globals.hpp
G1VerifyRSetsDuringFullGCboolgcfalseproductIf true, perform verification of each heap region's remembered set when verifying the heap during a full GC.share/gc/g1/g1_globals.hpp
GCALotAtAllSafepointsboolgcfalsenotproductEnforce ScavengeALot/GCALot at all potential safepointsshare/gc/shared/gc_globals.hpp
GCDrainStackTargetSizeuintxgc64
range(0, max_juint)
productNumber of entries we will try to leave on the stack during parallel gcshare/gc/shared/gc_globals.hpp
GCExpandToAllocateDelayMillisuintxgc0developDelay between expansion and allocation (in milliseconds)share/gc/shared/gc_globals.hpp
GCHeapFreeLimituintxgc2
range(0, 100)
productMinimum percentage of free space after a full GC before an OutOfMemoryError is thrown (used with GCTimeLimit)share/gc/shared/gc_globals.hpp
GCLockerEdenExpansionPercentuintxgc5
range(0, 100)
productHow 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)
productNumber of times to retry allocations when blocked by the GC lockershare/gc/shared/gc_globals.hpp
GCOverheadLimitThresholduintxgc5
range(1, max_uintx)
developNumber of consecutive collections before gc time limit firesshare/gc/shared/gc_globals.hpp
GCParallelVerificationEnabledboolgctrueproductEnable parallel memory system verificationshare/gc/shared/gc_globals.hpp
GCPauseIntervalMillisuintxgc0productTime slice for MMU specificationshare/gc/shared/gc_globals.hpp
GCTimeLimituintxgc98
range(0, 100)
productLimit 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)
productAdaptive size policy application time to GC time ratioshare/gc/shared/gc_globals.hpp
GCWorkerDelayMillisuintxgc0developDelay in scheduling GC workers (in milliseconds)share/gc/parallel/parallel_globals.hpp
GenerateArrayStoreCheckboolc1truedevelopGenerates code for array store checksshare/c1/c1_globals.hpp
GenerateRangeChecksboolruntimetruedevelopGenerate range checks for array accessesshare/runtime/globals.hpp
GenerateSynchronizationCodeboolruntimetruedevelopgenerate locking/unlocking code for synchronized methods and monitorsshare/runtime/globals.hpp
GuaranteedSafepointIntervalintxruntime1000
range(0, max_jint)
productGuarantee a safepoint (at least) every so many milliseconds (0 means none)share/runtime/globals.hpp
HandshakeALotboolruntimefalseproductGenerate a lot of handshakes. This works with GuaranteedSafepointIntervalshare/runtime/globals.hpp
HandshakeTimeoutuintruntime0productIf nonzero set a timeout in milliseconds for handshakesshare/runtime/globals.hpp
HeapBaseMinAddresssize_taixppc2*Gdefine_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
HeapBaseMinAddressuintxbsdaarch642*Gdefine_pd_globalos_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
HeapBaseMinAddresssize_tbsdx862*Gdefine_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
HeapBaseMinAddresssize_tbsdzero2*Gdefine_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
HeapBaseMinAddressuintxlinuxaarch642*Gdefine_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
HeapBaseMinAddresssize_tlinuxarm2*Gdefine_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
HeapBaseMinAddresssize_tlinuxppc2*Gdefine_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
HeapBaseMinAddresssize_tlinuxs3902*Gdefine_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
HeapBaseMinAddresssize_tlinuxx862*Gdefine_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
HeapBaseMinAddresssize_tlinuxzero2*Gdefine_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
HeapBaseMinAddresssize_tgcproduct_pdOS specific low limit for heap base addressshare/gc/shared/gc_globals.hpp
HeapBaseMinAddressuintxwindowsaarch642*Gdefine_pd_globalos_cpu/windows_aarch64/globals_windows_aarch64.hpp
HeapBaseMinAddresssize_twindowsx862*Gdefine_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
HeapDumpAfterFullGCboolruntimefalseproductDump heap to file after any major stop-the-world GCshare/runtime/globals.hpp
HeapDumpBeforeFullGCboolruntimefalseproductDump heap to file before any major stop-the-world GCshare/runtime/globals.hpp
HeapDumpGzipLevelintxruntime0
range(0, 9)
productWhen 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
HeapDumpOnOutOfMemoryErrorboolruntimefalseproductDump heap to file when java.lang.OutOfMemoryError is thrown from JVMshare/runtime/globals.hpp
HeapDumpPathccstrruntimeNULLproductWhen HeapDumpOnOutOfMemoryError is on, the path (filename or directory) of the dump file (defaults to java_pid<pid>.hprof in the working directory)share/runtime/globals.hpp
HeapFirstMaximumCompactionCountuintxgc3
range(0, max_uintx)
productThe collection count for the first maximum compactionshare/gc/parallel/parallel_globals.hpp
HeapMaximumCompactionIntervaluintxgc20
range(0, max_uintx)
productHow 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)
productHeap 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)productSize of heap (bytes) per GC thread used in calculating the number of GC threadsshare/gc/shared/gc_globals.hpp
HotCallCountThresholdintxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developlarge numbers of calls (per method invocation) force hotnessshare/opto/c2_globals.hpp
HotCallProfitThresholdintxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
develophighly profitable inlining opportunities force hotnessshare/opto/c2_globals.hpp
HotCallTrivialSizeintxc2-1
range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developtrivial methods (no larger than this) force calls to be hotshare/opto/c2_globals.hpp
HotCallTrivialWorkintxc2-1
range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developtrivial execution time (no larger than this) forces hotnessshare/opto/c2_globals.hpp
HotMethodDetectionLimitintxruntime100000
range(1, max_jint)
productNumber of compiled code invocations after which the method is considered as hot by the flushershare/runtime/globals.hpp
HugeMethodLimitintxcompiler8000developDon't compile methods larger than this if +DontCompileHugeMethodsshare/compiler/compiler_globals.hpp
ICMissHistogramboolruntimefalsenotproductProduce histogram of IC missesshare/runtime/globals.hpp
IEEEPrecisionboolx86truedevelopEnables IEEE precision (for INTEL only)cpu/x86/globals_x86.hpp
INTPRESSUREintxaarch6424define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
INTPRESSUREintxarm12define_pd_globalcpu/arm/c2_globals_arm.hpp
INTPRESSUREintxc2develop_pdNumber of integer LRG's that constitute high register pressureshare/opto/c2_globals.hpp
INTPRESSUREintxppc26define_pd_globalcpu/ppc/c2_globals_ppc.hpp
INTPRESSUREintxs39010define_pd_global// Medium size register set, 6 special purpose regs, 3 SOE regs.cpu/s390/c2_globals_s390.hpp
INTPRESSUREintxx866define_pd_globalcpu/x86/c2_globals_x86.hpp
IdealizeClearArrayNodeboolaarch64truedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
IdealizeClearArrayNodeboolc2product_pdReplace ClearArrayNode by subgraph of basic operations.share/opto/c2_globals.hpp
IdealizeClearArrayNodeboolppctruedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
IdealizeClearArrayNodebools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
IdealizeClearArrayNodeboolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
IdealizedNumericsboolc2falsedevelopCheck performance difference allowing FP associativity and commutativity...share/opto/c2_globals.hpp
IgnoreEmptyClassPathsboolruntimefalseproductIgnore empty path elements in -classpathshare/runtime/globals.hpp
IgnoreUnrecognizedVMOptionsboolruntimefalseproductIgnore unrecognized VM optionsshare/runtime/globals.hpp
ImplicitDiv0Checksboolc1truedevelopUse implicit division by zero checksshare/c1/c1_globals.hpp
ImplicitNullCheckThresholdintxc23
range(0, max_jint)
developDon't do implicit null checks if NPE's in a method exceeds limitshare/opto/c2_globals.hpp
ImplicitNullChecksboolaarch64truedefine_pd_global// Generate code for implicit null checkscpu/aarch64/globals_aarch64.hpp
ImplicitNullChecksboolarmtruedefine_pd_global// Generate code for implicit null checkscpu/arm/globals_arm.hpp
ImplicitNullChecksboolruntimeproduct_pdGenerate code for implicit null checksshare/runtime/globals.hpp
ImplicitNullChecksboolppctruedefine_pd_global// Generate code for implicit null checks.cpu/ppc/globals_ppc.hpp
ImplicitNullChecksbools390truedefine_pd_global// Generate code for implicit null checks.cpu/s390/globals_s390.hpp
ImplicitNullChecksboolx86truedefine_pd_global// Generate code for implicit null checkscpu/x86/globals_x86.hpp
ImplicitNullChecksboolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
IncreaseFirstTierCompileThresholdAtuintxcompiler50
range(0, 99)
productIncrease the compile threshold for C1 compilation if the code cache is filled by the specified percentageshare/compiler/compiler_globals.hpp
IncrementalInlineForceCleanupboolc2falseproductdo cleanup after every iteration of incremental inliningshare/opto/c2_globals.hpp
IncrementalInlineMHboolc2trueproductdo post parse inlining of method handle callsshare/opto/c2_globals.hpp
IncrementalInlineVirtualboolc2trueproductdo post parse inlining of virtual callsshare/opto/c2_globals.hpp
IncrementalInlineboolc2trueproductdo post parse inliningshare/opto/c2_globals.hpp
IndexSetWatchintxc20
range(-1, 0)
notproductTrace all operations on this IndexSet (-1 means all, 0 none)share/opto/c2_globals.hpp
InitArrayShortSizeintxaarch64BytesPerLongdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
InitArrayShortSizeintxarm8*BytesPerLongdefine_pd_globalcpu/arm/globals_arm.hpp
InitArrayShortSizeintxruntimeproduct_pdThreshold 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_globalcpu/ppc/globals_ppc.hpp
InitArrayShortSizeintxs3901*BytesPerLongdefine_pd_globalcpu/s390/globals_s390.hpp
InitArrayShortSizeintxx868*BytesPerLongdefine_pd_globalcpu/x86/globals_x86.hpp
InitArrayShortSizeintxzero0define_pd_globalcpu/zero/globals_zero.hpp
InitialCodeCacheSizeintxaarch64160*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
InitialCodeCacheSizesize_tarm160*Kdefine_pd_globalcpu/arm/c1_globals_arm.hpp
InitialCodeCacheSizeuintxcompiler160*Kdefine_pd_globalshare/compiler/compiler_globals_pd.hpp
InitialCodeCacheSizeuintxruntimeproduct_pdInitial code cache size (in bytes)share/runtime/globals.hpp
InitialCodeCacheSizeuintxppc160*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
InitialCodeCacheSizeuintxs3902048*Kdefine_pd_global// Integral multiple of CodeCacheExpansionSizecpu/s390/c2_globals_s390.hpp
InitialCodeCacheSizeuintxx86160*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
InitialHeapSizesize_tgc0productInitial heap size (in bytes); zero means use ergonomicsshare/gc/shared/gc_globals.hpp
InitialRAMFractionDeprecated in JDK10
Obsoleted in JDK
Expired in JDK
uintxgc64
range(1, max_uintx)
productFraction (1/n) of real memory used for initial heap size. Deprecated, use InitialRAMPercentage insteadshare/gc/shared/gc_globals.hpp
InitialRAMPercentagedoublegc1.5625
range(0.0, 100.0)
productPercentage of real memory used for initial heap sizeshare/gc/shared/gc_globals.hpp
InitialSurvivorRatiouintxgc8
range(0, max_uintx)
productInitial ratio of young generation/survivor space sizeshare/gc/shared/gc_globals.hpp
InitialTenuringThresholduintxgc7
range(0, markWord::max_age + 1)
productInitial value for tenuring thresholdshare/gc/shared/gc_globals.hpp
InitiatingHeapOccupancyPercentuintxgc45
range(0, 100)
productThe 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
InjectCompilerCreationFailureboolruntimefalsedevelopInject thread creation failures for UseDynamicNumberOfCompilerThreadsshare/runtime/globals.hpp
InjectGCWorkerCreationFailureboolgcfalseproductInject thread creation failures for UseDynamicNumberOfGCThreadsshare/gc/shared/gc_globals.hpp
InlineAccessorsboolc2truedevelopinline accessor methods (get/set)share/opto/c2_globals.hpp
InlineArrayCopyboolruntimetrueproductInline arraycopy native that is known to be part of base library DLLshare/runtime/globals.hpp
InlineClassNativesboolcompilertruedefine_pd_globalshare/compiler/compiler_globals_pd.hpp
InlineClassNativesboolruntimetrueproductInline Class.isInstance, etcshare/runtime/globals.hpp
InlineDataFileccstrcompilerNULLproductFile containing inlining replay information[default: ./inline_pid%p.log] (%p replaced with pid)share/compiler/compiler_globals.hpp
InlineFrequencyCountintxaarch64100define_pd_globalcpu/aarch64/globals_aarch64.hpp
InlineFrequencyCountintxarm50define_pd_globalcpu/arm/globals_arm.hpp
InlineFrequencyCountintxruntimeproduct_pdCount of call site execution necessary to trigger frequent inliningshare/runtime/globals.hpp
InlineFrequencyCountintxppc100define_pd_globalcpu/ppc/globals_ppc.hpp
InlineFrequencyCountintxs390100define_pd_globalcpu/s390/globals_s390.hpp
InlineFrequencyCountintxx86100define_pd_globalcpu/x86/globals_x86.hpp
InlineFrequencyCountintxzero100define_pd_globalcpu/zero/globals_zero.hpp
InlineFrequencyRatiointxruntime20
range(0, max_jint)
developRatio of call site execution to caller method invocationshare/runtime/globals.hpp
InlineIntrinsicsboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
InlineIntrinsicsboolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
InlineIntrinsicsboolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals_pd.hpp
InlineIntrinsicsboolruntimedevelop_pdInline intrinsics that can be statically resolvedshare/runtime/globals.hpp
InlineIntrinsicsboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
InlineIntrinsicsbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
InlineIntrinsicsboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
InlineMathNativesboolruntimetrueproductInline SinD, CosD, etc.share/runtime/globals.hpp
InlineMethodsWithExceptionHandlersboolc1truedevelopInline methods containing exception handlers (NOTE: does not work with current backend)share/c1/c1_globals.hpp
InlineNIOCheckIndexboolc1trueproductIntrinsify java.nio.Buffer.checkIndexshare/c1/c1_globals.hpp
InlineNativesboolruntimetrueproductInline natives that are known to be part of base library DLLshare/runtime/globals.hpp
InlineObjectCopyboolc2trueproductinline Object.clone and Arrays.copyOf[Range] intrinsicsshare/opto/c2_globals.hpp
InlineObjectHashboolruntimetrueproductInline Object::hashCode() native that is known to be part of base library DLLshare/runtime/globals.hpp
InlineReflectionGetCallerClassboolc2trueproductinline sun.reflect.Reflection.getCallerClass(), known to be part of base library DLLshare/opto/c2_globals.hpp
InlineSmallCodeintxaarch641000define_pd_globalcpu/aarch64/globals_aarch64.hpp
InlineSmallCodeintxarm1500define_pd_globalcpu/arm/globals_arm.hpp
InlineSmallCodeintxc2product_pdOnly inline already compiled methods if their code size is less than thisshare/opto/c2_globals.hpp
InlineSmallCodeintxppc1500define_pd_globalcpu/ppc/globals_ppc.hpp
InlineSmallCodeintxs3902000define_pd_globalcpu/s390/globals_s390.hpp
InlineSmallCodeintxx861000define_pd_globalcpu/x86/globals_x86.hpp
InlineSmallCodeintxzero1000define_pd_globalcpu/zero/globals_zero.hpp
InlineSynchronizedMethodsboolc1trueproductInline synchronized methodsshare/c1/c1_globals.hpp
InlineThreadNativesboolruntimetrueproductInline Thread.currentThread, etcshare/runtime/globals.hpp
InlineThrowCountintxruntime50
range(0, max_jint)
developForce inlining of interpreted methods that throw this oftenshare/runtime/globals.hpp
InlineThrowMaxSizeintxruntime200
range(0, max_jint)
developForce inlining of throwing methods smaller than thisshare/runtime/globals.hpp
InlineUnsafeOpsboolcompilertruedefine_pd_globalshare/compiler/compiler_globals_pd.hpp
InlineUnsafeOpsboolruntimetrueproductInline memory ops (native methods) from Unsafeshare/runtime/globals.hpp
InlineWarmCallsboolc2falsedevelopUse a heat-based priority queue to govern inliningshare/opto/c2_globals.hpp
InlineboolruntimetrueproductEnable inliningshare/runtime/globals.hpp
InstallMethodsboolc1truedevelopInstall methods at the end of successful compilationsshare/c1/c1_globals.hpp
InstructionCountCutoffintxc137000
range(0, max_jint)
developIf GraphBuilder adds this many instructions, bails outshare/c1/c1_globals.hpp
IntelJccErratumMitigationboolx86trueproductTurn off JVM mitigations related to Intel micro code mitigations for the Intel JCC erratumcpu/x86/globals_x86.hpp
InterceptOSExceptionboolruntimefalsedevelopStart debugger when an implicit OS (e.g. NULL) exception happensshare/runtime/globals.hpp
InteriorEntryAlignmentintxaarch6416define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
InteriorEntryAlignmentintxarm16define_pd_global// = CodeEntryAlignmentcpu/arm/c2_globals_arm.hpp
InteriorEntryAlignmentintxc2product_pdCode alignment for interior entry points in generated code (in bytes)share/opto/c2_globals.hpp
InteriorEntryAlignmentintxppc16define_pd_globalcpu/ppc/c2_globals_ppc.hpp
InteriorEntryAlignmentintxs3902define_pd_globalcpu/s390/c2_globals_s390.hpp
InteriorEntryAlignmentintxx864define_pd_globalcpu/x86/c2_globals_x86.hpp
InterpreterProfilePercentageintxcompiler33
range(0, 100)
productNON_TIERED number of method invocations/branches (expressed as % of CompileThreshold) before profiling in the interpretershare/compiler/compiler_globals.hpp
JVMCICounterSizeintxjvmci0
range(0, 1000000)
productReserved size for benchmark countersshare/jvmci/jvmci_globals.hpp
JVMCICountersExcludeCompilerbooljvmcitrueproductExclude JVMCI compiler threads from benchmark countersshare/jvmci/jvmci_globals.hpp
JVMCIEventLogLevelintxjvmci1
range(0, 4)
productEvent log level for JVMCIshare/jvmci/jvmci_globals.hpp
JVMCIHostThreadsintxjvmci1
range(0, max_jint))
productForce number of C1 compiler threads. Ignored if UseJVMCICompiler is false.share/jvmci/jvmci_globals.hpp
JVMCILibDumpJNIConfigccstrjvmciNULLproductDumps to the given file a description of the classes, fields and methods the JVMCI shared library must provideshare/jvmci/jvmci_globals.hpp
JVMCILibPathccstrjvmciNULLproductLD path for loading the JVMCI shared libraryshare/jvmci/jvmci_globals.hpp
JVMCINMethodSizeLimitintxjvmci(80*K)*wordSize
range(0, max_jint)
productMaximum size of a compiled method.share/jvmci/jvmci_globals.hpp
JVMCIPrintPropertiesbooljvmcifalseproductPrints properties used by the JVMCI compiler and exitsshare/jvmci/jvmci_globals.hpp
JVMCIThreadsintxjvmci1
range(1, max_jint)
productForce number of JVMCI compiler threads to use. Ignored if UseJVMCICompiler is false.share/jvmci/jvmci_globals.hpp
JVMCITraceLevelintxjvmci0
range(0, 4)
productTrace level for JVMCIshare/jvmci/jvmci_globals.hpp
JVMCIUseFastLockingbooljvmcitruedevelopUse fast inlined locking codeshare/jvmci/jvmci_globals.hpp
JVMInvokeMethodSlacksize_taixppc8192define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
JVMInvokeMethodSlackuintxbsdaarch648192define_pd_globalos_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
JVMInvokeMethodSlacksize_tbsdx868192define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
JVMInvokeMethodSlacksize_tbsdzero8192define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
JVMInvokeMethodSlackuintxlinuxaarch648192define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
JVMInvokeMethodSlacksize_tlinuxarm8192define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
JVMInvokeMethodSlacksize_tlinuxppc8192define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
JVMInvokeMethodSlacksize_tlinuxs3908192define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
JVMInvokeMethodSlacksize_tlinuxx868192define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
JVMInvokeMethodSlacksize_tlinuxzero8192define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
JVMInvokeMethodSlacksize_truntimedevelop_pdStack space (bytes) required for JVM_InvokeMethod to completeshare/runtime/globals.hpp
JVMInvokeMethodSlackuintxwindowsaarch648192define_pd_globalos_cpu/windows_aarch64/globals_windows_aarch64.hpp
JVMInvokeMethodSlacksize_twindowsx868192define_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
JavaMonitorsInStackTraceboolruntimetrueproductPrint information about Java monitor locks when the stacks are dumpedshare/runtime/globals.hpp
JavaPriority10_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority1_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority2_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority3_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority4_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority5_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority6_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority7_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority8_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority9_To_OSPriorityintxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
LIRTraceExecutionboolc1falsedevelopadd LIR code which logs the execution of blocksshare/c1/c1_globals.hpp
LIRTracePeepholeboolc1falsedevelopTrace peephole optimizershare/c1/c1_globals.hpp
LargePageHeapSizeThresholdsize_truntime128*M
range(0, max_uintx)
productUse large pages if maximum heap is at least this bigshare/runtime/globals.hpp
LargePageSizeInBytessize_truntime0
range(0, max_uintx)
productLarge page size (0 to let VM choose the page size)share/runtime/globals.hpp
LargePagesIndividualAllocationInjectErrorboolruntimefalsedevelopFail large pages individual allocationshare/runtime/globals.hpp
LiveNodeCountInliningCutoffintxc240000
range(0, max_juint / 8)
productmax number of live nodes in a methodshare/opto/c2_globals.hpp
LoadExecStackDllInVMThreadboollinuxtrueproductLoad DLLs with executable-stack attribute in the VM Threados/linux/globals_linux.hpp
LoadLineNumberTablesboolruntimetruedevelopTell whether the class file parser loads line number tablesshare/runtime/globals.hpp
LoadLocalVariableTablesboolruntimetruedevelopTell whether the class file parser loads local variable tablesshare/runtime/globals.hpp
LoadLocalVariableTypeTablesboolruntimetruedevelopTell whether the class file parser loads local variable typetablesshare/runtime/globals.hpp
LogCompilationboolruntimefalseproductLog compilation activity in detail to LogFileshare/runtime/globals.hpp
LogEventsBufferEntriesuintxruntime75
range(1, NOT_LP64(1*K) LP64_ONLY(1*M))
productNumber of ring buffer event logsshare/runtime/globals.hpp
LogEventsboolruntimetrueproductEnable the various ring buffer event logsshare/runtime/globals.hpp
LogFileccstrruntimeNULLproductIf LogVMOutput or LogCompilation is on, save VM output to this file [default: ./hotspot_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
LogSweeperboolruntimefalsenotproductKeep a ring buffer of sweeper activityshare/runtime/globals.hpp
LogTouchedMethodsboolruntimefalseproductLog methods which have been ever touched in runtimeshare/runtime/globals.hpp
LogVMOutputboolruntimefalseproductSave VM output to LogFileshare/runtime/globals.hpp
LoopMaxUnrollintxc216
range(0, max_jint)
productMaximum number of unrolls for main loopshare/opto/c2_globals.hpp
LoopOptsCountintxc243
range(5, 43)
productSet level of loop optimization for tier 1 compilesshare/opto/c2_globals.hpp
LoopPercentProfileLimitintxaarch6410define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
LoopPercentProfileLimitintxc2product_pdUnroll loop bodies with % node count of profile limitshare/opto/c2_globals.hpp
LoopPercentProfileLimitintxppc10define_pd_globalcpu/ppc/c2_globals_ppc.hpp
LoopPercentProfileLimitintxs39010define_pd_globalcpu/s390/c2_globals_s390.hpp
LoopPercentProfileLimitintxx8630define_pd_globalcpu/x86/c2_globals_x86.hpp
LoopStripMiningIterShortLoopuintxc20
range(0, max_juint)
productLoop with fewer iterations are not strip minedshare/opto/c2_globals.hpp
LoopStripMiningIteruintxc20
range(0, max_juint)
productNumber of iterations in strip mined loopshare/opto/c2_globals.hpp
LoopUnrollLimitintxaarch6460define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
LoopUnrollLimitintxc2product_pdUnroll loop bodies with node count less than thisshare/opto/c2_globals.hpp
LoopUnrollLimitintxppc60define_pd_globalcpu/ppc/c2_globals_ppc.hpp
LoopUnrollLimitintxs39060define_pd_globalcpu/s390/c2_globals_s390.hpp
LoopUnrollLimitintxx8650define_pd_global// Design center runs on 1.3.1cpu/x86/c2_globals_x86.hpp
LoopUnrollMinintxc24
range(0, max_jint)
productMinimum number of unroll loop bodies before checking progressof rounds of unroll,optimize,..share/opto/c2_globals.hpp
LoopUnswitchingboolc2trueproductEnable loop unswitching (a form of invariant test hoisting)share/opto/c2_globals.hpp
MVCLEThresholdsize_ts390+2*(4*K)productThreshold above which page-aligned MVCLE copy/init is used.cpu/s390/globals_s390.hpp
MallocCatchPtrintxruntime-1developHit breakpoint when mallocing/freeing this pointershare/runtime/globals.hpp
MallocMaxTestWordsuintxruntime0
range(0, max_uintx)
productIf non-zero, maximum number of words that malloc/realloc can allocate (for testing only)share/runtime/globals.hpp
ManagementServerboolruntimefalseproductCreate JMX Management Servershare/runtime/globals.hpp
MarkStackSizeMaxsize_tgcNOT_LP64(4*M) LP64_ONLY(512*M)
range(1, (max_jint - 1))
productMaximum size of marking stackshare/gc/shared/gc_globals.hpp
MarkStackSizesize_tgcNOT_LP64(32*K) LP64_ONLY(4*M)
range(1, (max_jint - 1))
productSize of marking stackshare/gc/shared/gc_globals.hpp
MarkSweepAlwaysCompactCountuintgc4
range(1, max_juint)
productHow often should we fully compact the heap (ignoring the dead space parameters)share/gc/shared/gc_globals.hpp
MarkSweepDeadRatiouintxgc5
range(0, 100)
productPercentage (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 compactedduring G1 full GC.share/gc/shared/gc_globals.hpp
MaxBCEAEstimateLevelintxcompiler5
range(0, max_jint)
productMaximum number of nested calls that are analyzed by BC EAshare/compiler/compiler_globals.hpp
MaxBCEAEstimateSizeintxcompiler150
range(0, max_jint)
productMaximum bytecode size of a method to be analyzed by BC EAshare/compiler/compiler_globals.hpp
MaxDirectMemorySizeuint64_truntime0
range(0, max_jlong)
productMaximum total size of NIO direct-buffer allocationsshare/runtime/globals.hpp
MaxElementPrintSizeintxruntime256notproductmaximum number of elements to printshare/runtime/globals.hpp
MaxExpectedDataSegmentSizeuintxaix8*GproductMaximum expected Data Segment Size.os/aix/globals_aix.hpp
MaxFDLimitboolruntimetrueproductBump the number of file descriptors to maximum (Unix only)share/runtime/globals.hpp
MaxForceInlineLevelintxruntime100
range(0, max_jint)
developmaximum number of nested calls that are forced for inlining (using CompileCommand or marked w/ @ForceInline)share/runtime/globals.hpp
MaxGCMinorPauseMillisDeprecated in JDK8
Obsoleted in JDK
Expired in JDK
uintxgcmax_uintx
range(0, max_uintx)
productAdaptive size policy maximum GC minor pause time goal in millisecondshare/gc/shared/gc_globals.hpp
MaxGCPauseMillisuintxgcmax_uintx - 1
range(1, max_uintx - 1)
productAdaptive size policy maximum GC pause time goal in millisecond, or (G1 Only) the maximum GC time per MMU time sliceshare/gc/shared/gc_globals.hpp
MaxHeapFreeRatiouintxruntime70
range(0, 100)
productThe 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)productMaximum heap size (in bytes)share/gc/shared/gc_globals.hpp
MaxInlineLevelintxc215
range(0, max_jint)
productmaximum number of nested calls that are inlined by high tier compilershare/opto/c2_globals.hpp
MaxInlineSizeintxc235
range(0, max_jint)
productThe maximum bytecode size of a method to be inlined by high tier compilershare/opto/c2_globals.hpp
MaxJNILocalCapacityintxruntime65536
range(min_intx, max_intx)
productMaximum allowable local JNI handle capacity to EnsureLocalCapacity() and PushLocalFrame(), where <= 0 is unlimited, default: 65536share/runtime/globals.hpp
MaxJavaStackTraceDepthintxruntime1024
range(0, max_jint/2)
productThe maximum number of lines in the stack trace for Java exceptions (0 means all)share/runtime/globals.hpp
MaxJumpTableSizeintxc265000
range(0, max_intx)
productMaximum number of targets in a generated jump tableshare/opto/c2_globals.hpp
MaxJumpTableSparsenessintxc25
range(0, max_intx / 4)
productMaximum sparseness for jumptablesshare/opto/c2_globals.hpp
MaxLabelRootDepthintxc21100
range(100, max_jint)
productMaximum times call Label_Root to prevent stack overflowshare/opto/c2_globals.hpp
MaxLoopPadintxc2(OptoLoopAlignment-1)
range(0, max_jint)
productAlign a loop if padding size in bytes is less or equal to this valueshare/opto/c2_globals.hpp
MaxMetaspaceExpansionsize_truntimeScaleForWordSize(4*M)
range(0, max_uintx)
productThe maximum expansion of Metaspace without full GC (in bytes)share/runtime/globals.hpp
MaxMetaspaceFreeRatiouintxruntime70
range(0, 100)
productThe maximum percentage of Metaspace free after GC to avoid shrinkingshare/runtime/globals.hpp
MaxMetaspaceSizesize_truntimemax_uintxproductMaximum size of Metaspaces (in bytes)share/runtime/globals.hpp
MaxNewSizesize_tgcmax_uintx
range(0, max_uintx)
productMaximum new generation size (in bytes), max_uintx means set ergonomicallyshare/gc/shared/gc_globals.hpp
MaxNodeLimitintxc280000
range(1000, max_jint / 3)
productMaximum number of nodesshare/opto/c2_globals.hpp
MaxRAMFractionDeprecated in JDK10
Obsoleted in JDK
Expired in JDK
uintxgc4
range(1, max_uintx)
productMaximum fraction (1/n) of real memory used for maximum heap size. Deprecated, use MaxRAMPercentage insteadshare/gc/shared/gc_globals.hpp
MaxRAMPercentagedoublegc25.0
range(0.0, 100.0)
productMaximum percentage of real memory used for maximum heap sizeshare/gc/shared/gc_globals.hpp
MaxRAMuint64_taarch641ULL*Gdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
MaxRAMuint64_tarm1ULL*Gdefine_pd_globalcpu/arm/c1_globals_arm.hpp
MaxRAMuint64_tcompiler1ULL*Gdefine_pd_globalshare/compiler/compiler_globals_pd.hpp
MaxRAMuint64_tgcproduct_pdReal memory size (in bytes) used to set maximum heap sizeshare/gc/shared/gc_globals.hpp
MaxRAMuint64_tppc1ULL*Gdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
MaxRAMuint64_ts390128ULL*Gdefine_pd_globalcpu/s390/c2_globals_s390.hpp
MaxRAMuint64_tx861ULL*Gdefine_pd_globalcpu/x86/c1_globals_x86.hpp
MaxRecursiveInlineLevelintxc21
range(0, max_jint)
productmaximum number of nested recursive calls that are inlined by high tier compilershare/opto/c2_globals.hpp
MaxSubklassPrintSizeintxruntime4notproductmaximum number of subklasses to print when printing klassshare/runtime/globals.hpp
MaxTenuringThresholduintxgc15
range(0, markWord::max_age + 1)
productMaximum value for tenuring thresholdshare/gc/shared/gc_globals.hpp
MaxTrivialSizeintxc26
range(0, max_jint)
productThe maximum bytecode size of a trivial method to be inlined by high tier compilershare/opto/c2_globals.hpp
MaxVectorSizeintxc264
range(0, max_jint)
productMax vector size in bytes, actual size could be less depending on elements typeshare/opto/c2_globals.hpp
MaxVirtMemFractionuintxgc2
range(1, max_uintx)
developMaximum fraction (1/n) of virtual memory used for ergonomically determining maximum heap sizeshare/gc/shared/gc_globals.hpp
MetadataAllocationFailALotIntervaluintxgc1000developMetadata allocation failure a lot intervalshare/gc/shared/gc_globals.hpp
MetadataAllocationFailALotboolgcfalsedevelopFail metadata allocations at intervals controlled by MetadataAllocationFailALotIntervalshare/gc/shared/gc_globals.hpp
MetaspaceGuardAllocationsboolruntimefalseproductMetapace allocations are guarded.share/runtime/globals.hpp
MetaspaceHandleDeallocationsboolruntimetrueproductSwitch off Metapace deallocation handling.share/runtime/globals.hpp
MetaspaceReclaimPolicyccstrruntimebalancedproductoptions: balanced, aggressive, noneshare/runtime/globals.hpp
MetaspaceSizesize_truntimeNOT_LP64(16 * M) LP64_ONLY(21 * M)productInitial threshold (in bytes) at which a garbage collection is done to reduce Metaspace usageshare/runtime/globals.hpp
MethodFlushingboolruntimetrueproductReclamation of zombie and not-entrant methodsshare/runtime/globals.hpp
MethodHistogramCutoffintxruntime100developThe cutoff value for method invocation histogram (+CountCalls)share/runtime/globals.hpp
MinHeapDeltaBytessize_truntimeScaleForWordSize(128*K)
range(0, max_uintx)
productThe minimum change in heap space due to GC (in bytes)share/runtime/globals.hpp
MinHeapFreeRatiouintxruntime40
range(0, 100)
productThe 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_tgc0productMinimum heap size (in bytes); zero means use ergonomicsshare/gc/shared/gc_globals.hpp
MinInliningThresholdintxruntime250
range(0, max_jint)
productThe minimum invocation count a method needs to have to be inlinedshare/runtime/globals.hpp
MinJumpTableSizeintxaarch6410define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
MinJumpTableSizeintxc2product_pdMinimum number of targets in a generated jump tableshare/opto/c2_globals.hpp
MinJumpTableSizeintxppc10define_pd_globalcpu/ppc/c2_globals_ppc.hpp
MinJumpTableSizeintxs39018define_pd_globalcpu/s390/c2_globals_s390.hpp
MinJumpTableSizeintxx8610define_pd_globalcpu/x86/c2_globals_x86.hpp
MinMetaspaceExpansionsize_truntimeScaleForWordSize(256*K)
range(0, max_uintx)
productThe minimum expansion of Metaspace (in bytes)share/runtime/globals.hpp
MinMetaspaceFreeRatiouintxruntime40
range(0, 99)
productThe minimum percentage of Metaspace free after GC to avoid expansionshare/runtime/globals.hpp
MinOopMapAllocationintxruntime8developMinimum number of OopMap entries in an OopMapSetshare/runtime/globals.hpp
MinPassesBeforeFlushintxruntime10
range(0, max_intx)
productMinimum number of sweeper passes before an nmethod can be flushedshare/runtime/globals.hpp
MinRAMFractionDeprecated in JDK10
Obsoleted in JDK
Expired in JDK
uintxgc2
range(1, max_uintx)
productMinimum fraction (1/n) of real memory used for maximum heap size on systems with small physical memory size. Deprecated, use MinRAMPercentage insteadshare/gc/shared/gc_globals.hpp
MinRAMPercentagedoublegc50.0
range(0.0, 100.0)
productMinimum percentage of real memory used for maximum heapsize on systems with small physical memory sizeshare/gc/shared/gc_globals.hpp
MinSurvivorRatiouintxgc3
range(3, max_uintx)
productMinimum ratio of young generation/survivor space sizeshare/gc/shared/gc_globals.hpp
MinTLABSizesize_tgc2*K
range(1, max_uintx/2)
productMinimum allowed TLAB size (in bytes)share/gc/shared/tlab_globals.hpp
MonitorDeflationMaxintxruntime1000000
range(1024, max_jint)
productThe maximum number of monitors to deflate, unlink and delete at one time (minimum is 1024).share/runtime/globals.hpp
MonitorUsedDeflationThresholdintxruntime90
range(0, 100)
productPercentage of used monitors before triggering deflation (0 is off). The check is performed on GuaranteedSafepointInterval or AsyncDeflationInterval.share/runtime/globals.hpp
MonomorphicArrayCheckboolc2truedevelopUncommon-trap array store checks that require full type checkshare/opto/c2_globals.hpp
MultiArrayExpandLimitintxc26
range(0, max_jint)
productMaximum number of individual allocations in an inline-expanded multianewarray instructionshare/opto/c2_globals.hpp
NMethodSizeLimitintxc1(64*K)*wordSize
range(0, max_jint)
developMaximum size of a compiled method.share/c1/c1_globals.hpp
NUMAChunkResizeWeightuintxruntime20
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for AdaptiveNUMAChunkSizingshare/runtime/globals.hpp
NUMAInterleaveGranularitysize_truntime2*MproductGranularity to use for NUMA interleaving on Windows OSshare/runtime/globals.hpp
NUMAPageScanRateuintxruntime256
range(0, max_uintx)
productMaximum number of pages to include in the page scan procedureshare/runtime/globals.hpp
NUMASpaceResizeRatesize_truntime1*G
range(0, max_uintx)
productDo not reallocate more than this amount per collectionshare/runtime/globals.hpp
NUMAStatsboolruntimefalseproductPrint NUMA stats in detailed heap informationshare/runtime/globals.hpp
NativeMemoryTrackingccstrruntimeoffproductNative memory tracking optionsshare/runtime/globals.hpp
NearCpoolboolaarch64trueproductconstant pool is close to instructionscpu/aarch64/globals_aarch64.hpp
NestedInliningSizeRatiointxc190
range(0, 100)
developPercentage of prev. allowed inline size in recursive inliningshare/c1/c1_globals.hpp
NeverActAsServerClassMachineboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NeverActAsServerClassMachineboolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
NeverActAsServerClassMachineboolcompilertruedefine_pd_globalshare/compiler/compiler_globals_pd.hpp
NeverActAsServerClassMachineboolgcproduct_pdNever act like a server-class machineshare/gc/shared/gc_globals.hpp
NeverActAsServerClassMachineboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NeverActAsServerClassMachinebools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
NeverActAsServerClassMachineboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
NeverTenureboolgcfalseproductNever tenure objects in eden, may tenure on overflow (ParallelGC only)share/gc/shared/gc_globals.hpp
NewCodeParameterintxruntime0developTesting Only: Create a dedicated integer parameter before putbackshare/runtime/globals.hpp
NewRatiouintxgc2
range(0, max_uintx-1)
productRatio of old/new generation sizesshare/gc/shared/gc_globals.hpp
NewSizeThreadIncreaseintxaarch644*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NewSizeThreadIncreasesize_tarmScaleForWordSize(4*K)define_pd_globalcpu/arm/c2_globals_arm.hpp
NewSizeThreadIncreasesize_tcompiler4*Kdefine_pd_globalshare/compiler/compiler_globals_pd.hpp
NewSizeThreadIncreasesize_tgcproduct_pdAdditional size added to desired new generation size per non-daemon thread (in bytes)share/gc/shared/gc_globals.hpp
NewSizeThreadIncreasesize_tppc16*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NewSizeThreadIncreasesize_ts390ScaleForWordSize(4*K)define_pd_globalcpu/s390/c2_globals_s390.hpp
NewSizeThreadIncreasesize_tx864*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NewSizesize_tgcScaleForWordSize(1*M)productInitial new generation size (in bytes)share/gc/shared/gc_globals.hpp
NmethodSweepActivityintxruntime10
range(0, 2000)
productRemoves cold nmethods from code cache if > 0. Higher values result in more aggressive sweepingshare/runtime/globals.hpp
NoAsyncDeflationProgressMaxuintxruntime3
range(0, max_uintx)
productMax 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)
developIf parser node generation exceeds limit stop inliningshare/opto/c2_globals.hpp
NodeCountInliningStepintxc21000
range(0, max_jint)
developTarget size of warm calls inlined between optimization passesshare/opto/c2_globals.hpp
NodeLimitFudgeFactorintxc22000productFudge Factor for certain optimizationsshare/opto/c2_globals.hpp
NonNMethodCodeHeapSizeintxaarch645*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NonNMethodCodeHeapSizesize_tarm5*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
NonNMethodCodeHeapSizeuintxcompiler32*Mdefine_pd_globalshare/compiler/compiler_globals_pd.hpp
NonNMethodCodeHeapSizeuintxruntimeproduct_pdSize of code heap with non-nmethods (in bytes)share/runtime/globals.hpp
NonNMethodCodeHeapSizeuintxppc5*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NonNMethodCodeHeapSizeuintxs3905*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
NonNMethodCodeHeapSizeuintxx865*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NonProfiledCodeHeapSizeintxaarch6413*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NonProfiledCodeHeapSizesize_tarm13*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
NonProfiledCodeHeapSizeuintxcompiler0define_pd_globalshare/compiler/compiler_globals_pd.hpp
NonProfiledCodeHeapSizeuintxruntimeproduct_pdSize of code heap with non-profiled methods (in bytes)share/runtime/globals.hpp
NonProfiledCodeHeapSizeuintxppc13*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NonProfiledCodeHeapSizeuintxs39021*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
NonProfiledCodeHeapSizeuintxx8613*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NumberOfLoopInstrToAlignintxc24
range(0, max_jint)
productNumber of first instructions in a loop to alignshare/opto/c2_globals.hpp
OSROnlyBCIintxcompiler-1developOSR only at this bci. Negative values mean exclude that bcishare/compiler/compiler_globals.hpp
ObjArrayMarkingStrideuintxgc2048developNumber of object array elements to push onto the marking stack before pushing a continuation entryshare/gc/shared/gc_globals.hpp
ObjectAlignmentInBytesintxruntime8
range(8, 256)
productDefault object alignment in bytes, 8 is minimumshare/runtime/globals.hpp
ObjectCountCutOffPercentdoubleruntime0.5
range(0.0, 100.0)
productThe percentage of the used heap that the instances of a class must occupy for the class to generate a trace eventshare/runtime/globals.hpp
OldPLABSizesize_tgc1024productSize of old gen promotion LAB's (in HeapWords)share/gc/shared/tlab_globals.hpp
OldSizesize_tgcScaleForWordSize(4*M)
range(0, max_uintx)
productInitial tenured generation size (in bytes)share/gc/shared/gc_globals.hpp
OmitStackTraceInFastThrowboolruntimetrueproductOmit backtraces for some 'hot' exceptions in optimized codeshare/runtime/globals.hpp
OnErrorccstrlistruntimeRun user-defined commands on fatal error; see VMError.cpp for examplesproductshare/runtime/globals.hpp
OnOutOfMemoryErrorccstrlistruntimeRun user-defined commands on first java.lang.OutOfMemoryError thrown from JVMproductshare/runtime/globals.hpp
OnStackReplacePercentageintxaarch64933define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
OnStackReplacePercentageintxarm140define_pd_globalcpu/arm/c2_globals_arm.hpp
OnStackReplacePercentageintxcompilerproduct_pdNON_TIERED number of method invocations/branches (expressed as % of CompileThreshold) before (re-)compiling OSR codeshare/compiler/compiler_globals.hpp
OnStackReplacePercentageintxppc1400define_pd_globalcpu/ppc/c1_globals_ppc.hpp
OnStackReplacePercentageintxs390140define_pd_globalcpu/s390/c2_globals_s390.hpp
OnStackReplacePercentageintxx86933define_pd_globalcpu/x86/c1_globals_x86.hpp
OptimizeExpensiveOpsboolc2trueproductFind best control for expensive operationsshare/opto/c2_globals.hpp
OptimizeFillboolc2true PPC64_ONLY(&& false)productconvert fill/copy loops into intrinsicshare/opto/c2_globals.hpp
OptimizeIfOpsboolc1truedevelopOptimize multiple IfOpsshare/c1/c1_globals.hpp
OptimizePollingPageLocationboolaixtrueproductOptimize the location of the polling page used for Safepointsos/aix/globals_aix.hpp
OptimizePtrCompareboolc2trueproductUse escape analysis to optimize pointers compareshare/opto/c2_globals.hpp
OptimizeSinglePrecisionboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
OptimizeSinglePrecisionboolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
OptimizeSinglePrecisionboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
OptimizeSinglePrecisionbools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
OptimizeSinglePrecisionboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
OptimizeStringConcatboolc2trueproductOptimize the construction of Strings by StringBuildershare/opto/c2_globals.hpp
OptimizeUnsafesboolc1truedevelopOptimize raw unsafe opsshare/c1/c1_globals.hpp
OptoBlockListSizeintxc28
range(1, max_jint)
developStarting allocation size of Block_List data structuresshare/opto/c2_globals.hpp
OptoBreakpointC2Rboolc2falsenotproductinsert breakpoint at runtime stub entryshare/opto/c2_globals.hpp
OptoBreakpointOSRboolc2falsenotproductinsert breakpoint at osr method entryshare/opto/c2_globals.hpp
OptoBreakpointboolc2falsedevelopinsert breakpoint at method entryshare/opto/c2_globals.hpp
OptoBundlingboolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoBundlingboolc2product_pdGenerate nops to fill i-cache linesshare/opto/c2_globals.hpp
OptoBundlingboolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoBundlingbools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoBundlingboolx86falsedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoCoalesceboolc2truedevelopUse Conservative Copy Coalescing in the Register Allocatorshare/opto/c2_globals.hpp
OptoLoopAlignmentintxaarch6416define_pd_globalcpu/aarch64/globals_aarch64.hpp
OptoLoopAlignmentintxarm16define_pd_globalcpu/arm/globals_arm.hpp
OptoLoopAlignmentintxruntimeproduct_pdAlign inner loops to zero relative to this modulusshare/runtime/globals.hpp
OptoLoopAlignmentintxppc16define_pd_globalcpu/ppc/globals_ppc.hpp
OptoLoopAlignmentintxs3902define_pd_globalcpu/s390/globals_s390.hpp
OptoLoopAlignmentintxx8616define_pd_globalcpu/x86/globals_x86.hpp
OptoLoopAlignmentintxzero16define_pd_globalcpu/zero/globals_zero.hpp
OptoNoExecuteboolc2falsenotproductAttempt to parse and compile but do not execute generated codeshare/opto/c2_globals.hpp
OptoNodeListSizeintxc24
range(1, max_jint)
developStarting allocation size of Node_List data structuresshare/opto/c2_globals.hpp
OptoPeepholeAtintxc2-1developApply peephole optimizations to this peephole ruleshare/opto/c2_globals.hpp
OptoPeepholeboolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoPeepholeboolc2develop_pdApply peephole optimizations after register allocationshare/opto/c2_globals.hpp
OptoPeepholeboolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoPeepholebools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoPeepholeboolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoPrologueNopsintxc20
range(0, 128)
developInsert this many extra nop instructions in the prologue of every nmethodshare/opto/c2_globals.hpp
OptoRegSchedulingboolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoRegSchedulingboolc2product_pdInstruction Scheduling before register allocation for pressureshare/opto/c2_globals.hpp
OptoRegSchedulingboolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoRegSchedulingbools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoRegSchedulingboolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoRemoveUselessboolc2truedevelopRemove useless nodes after parsingshare/opto/c2_globals.hpp
OptoSchedulingboolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoSchedulingboolc2product_pdInstruction Scheduling after register allocationshare/opto/c2_globals.hpp
OptoSchedulingboolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoSchedulingbools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoSchedulingboolx86falsedefine_pd_globalcpu/x86/c2_globals_x86.hpp
PLABWeightuintxgc75
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for ResizePLABshare/gc/shared/gc_globals.hpp
PSAdaptiveSizePolicyResizeVirtualSpaceAlotintxgc-1
range(-1, 1)
developResize the virtual spaces of the young or old generationsshare/gc/shared/gc_globals.hpp
PSChunkLargeArraysboolgctrueproductProcess large arrays in chunksshare/gc/parallel/parallel_globals.hpp
ParGCArrayScanChunkintgc50
range(1, max_jint/3)
productScan a subset of object array and push remainder, if array is bigger than thisshare/gc/shared/gc_globals.hpp
ParallelGCBufferWastePctuintxgc10
range(0, 100)
productWasted fraction of parallel allocation buffershare/gc/shared/gc_globals.hpp
ParallelGCThreadsuintgc0productNumber of parallel threads parallel gc will useshare/gc/shared/gc_globals.hpp
ParallelOldDeadWoodLimiterMeansize_tgc50
range(0, 100)
productThe mean used by the parallel compact dead wood limiter (a number between 0-100)share/gc/parallel/parallel_globals.hpp
ParallelOldDeadWoodLimiterStdDevsize_tgc80
range(0, 100)
productThe standard deviation used by the parallel compact dead wood limiter (a number between 0-100)share/gc/parallel/parallel_globals.hpp
ParallelRefProcBalancingEnabledboolgctrueproductEnable balancing of reference processing queuesshare/gc/shared/gc_globals.hpp
ParallelRefProcEnabledboolgcfalseproductEnable parallel reference processing whenever possibleshare/gc/shared/gc_globals.hpp
PartialPeelAtUnsignedTestsboolc2trueproductPartial peel at unsigned tests if no signed test existsshare/opto/c2_globals.hpp
PartialPeelLoopboolc2trueproductPartial peel (rotate) loopsshare/opto/c2_globals.hpp
PartialPeelNewPhiDeltaintxc20
range(0, max_jint)
productAdditional phis that can be created by partial peelingshare/opto/c2_globals.hpp
PatchALotboolc1falsedevelopMarks all fields as having unloaded classesshare/c1/c1_globals.hpp
PauseAtExitboolruntimefalseproductPause and wait for keypress on exit if a debugger is attachedshare/runtime/globals.hpp
PauseAtStartupFileccstrruntimeNULLproductThe file to create and for whose removal to await when pausing at startup. (default: ./vm.paused.<pid>)share/runtime/globals.hpp
PauseAtStartupboolruntimefalseproductCauses the VM to pause at startup time and wait for the pause file to be removed (default: ./vm.paused.<pid>)share/runtime/globals.hpp
PausePaddinguintxgc1
range(0, max_juint)
productHow much buffer to keep for pause timeshare/gc/shared/gc_globals.hpp
PerBytecodeRecompilationCutoffintxruntime200
range(-1, max_intx)
productPer-BCI limit on repeated recompilation (-1=>'Inf')share/runtime/globals.hpp
PerBytecodeTrapLimitintxruntime4
range(0, max_jint)
productLimit on traps (of one kind) at a particular BCIshare/runtime/globals.hpp
PerMethodRecompilationCutoffintxruntime400
range(-1, max_intx)
productAfter recompiling N times, stay in the interpreter (-1=>'Inf')share/runtime/globals.hpp
PerMethodSpecTrapLimitintxruntime5000
range(0, max_jint)
productLimit on speculative traps (of one kind) in a method (includes inlines)share/runtime/globals.hpp
PerMethodTrapLimitintxruntime100
range(0, max_jint)
productLimit on traps (of one kind) in a method (includes inlines)share/runtime/globals.hpp
PerfAllowAtExitRegistrationboolruntimefalseproductAllow registration of atexit() methodsshare/runtime/globals.hpp
PerfBypassFileSystemCheckboolruntimefalseproductBypass Win32 file system criteria checks (Windows Only)share/runtime/globals.hpp
PerfDataMemorySizeintxruntime32*K
range(128, 32*64*K)
productSize 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)
productData sampling interval (in milliseconds)share/runtime/globals.hpp
PerfDataSaveFileccstrruntimeNULLproductSave PerfData memory to the specified absolute pathname. The string %p in the file name (if present) will be replaced by pidshare/runtime/globals.hpp
PerfDataSaveToFileboolruntimefalseproductSave PerfData memory to hsperfdata_<pid> file on exitshare/runtime/globals.hpp
PerfDisableSharedMemboolruntimefalseproductStore performance data in standard memoryshare/runtime/globals.hpp
PerfMaxStringConstLengthintxruntime1024
range(32, 32*K)
productMaximum PerfStringConstant string length before truncationshare/runtime/globals.hpp
PinAllInstructionsboolc1falsedevelopAll instructions are pinnedshare/c1/c1_globals.hpp
PoisonOSREntryboolc2truedevelopDetect abnormal calls to OSR codeshare/opto/c2_globals.hpp
PostLoopMultiversioningboolc2falseproductMulti versioned post loops to eliminate range checksshare/opto/c2_globals.hpp
PowerArchitecturePPC64uintxppc0productSpecify 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_globalos/aix/globals_aix.hpp
PreTouchParallelChunkSizesize_tbsd1 * Gdefine_pd_globalos/bsd/globals_bsd.hpp
PreTouchParallelChunkSizesize_tlinux4 * Mdefine_pd_globalos/linux/globals_linux.hpp
PreTouchParallelChunkSizesize_tgcproduct_pdPer-thread chunk size for parallel memory pre-touch.share/gc/shared/gc_globals.hpp
PreTouchParallelChunkSizesize_twindows1 * Gdefine_pd_globalos/windows/globals_windows.hpp
PreallocatedOutOfMemoryErrorCountuintxruntime4developNumber of OutOfMemoryErrors preallocated with backtraceshare/runtime/globals.hpp
PreferContainerQuotaForCPUCountboollinuxtrueproductCalculate the container CPU availability based on the value of quotas (if set), when true. Otherwise, use the CPU shares value, provided it is less than quota.os/linux/globals_linux.hpp
PreferInterpreterNativeStubsboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
PreferInterpreterNativeStubsboolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
PreferInterpreterNativeStubsboolcompilertruedefine_pd_globalshare/compiler/compiler_globals_pd.hpp
PreferInterpreterNativeStubsboolruntimeproduct_pdUse always interpreter stubs for native methods invoked via interpretershare/runtime/globals.hpp
PreferInterpreterNativeStubsboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
PreferInterpreterNativeStubsbools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
PreferInterpreterNativeStubsboolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
PreferLAoverADDbools390falseproductUse LA/LAY instructions over ADD instructions (z/Architecture).cpu/s390/globals_s390.hpp
PrefetchCopyIntervalInBytesintxgc-1
range(-1, max_jint)
productHow far ahead to prefetch destination area (<= 0 means off)share/gc/shared/gc_globals.hpp
PrefetchFieldsAheadintxgc-1
range(-1, max_jint)
productHow many fields ahead to prefetch in oop scan (<= 0 means off)share/gc/shared/gc_globals.hpp
PrefetchScanIntervalInBytesintxgc-1
range(-1, max_jint)
productHow far ahead to prefetch scan area (<= 0 means off)share/gc/shared/gc_globals.hpp
PreserveAllAnnotationsboolruntimefalseproductPreserve RuntimeInvisibleAnnotations as well as RuntimeVisibleAnnotationsshare/runtime/globals.hpp
PreserveFramePointerboolaarch64falsedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
PreserveFramePointerboolarmfalsedefine_pd_globalcpu/arm/globals_arm.hpp
PreserveFramePointerboolruntimeproduct_pdUse the FP register for holding the frame pointer and not as a general purpose register.share/runtime/globals.hpp
PreserveFramePointerboolppcfalsedefine_pd_globalcpu/ppc/globals_ppc.hpp
PreserveFramePointerbools390falsedefine_pd_globalcpu/s390/globals_s390.hpp
PreserveFramePointerboolx86falsedefine_pd_globalcpu/x86/globals_x86.hpp
PreserveFramePointerboolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
PretenureSizeThresholdsize_tgc0
range(0, max_uintx)
productMaximum size in bytes of objects allocated in DefNew generation; zero means no maximumshare/gc/shared/gc_globals.hpp
PrintAOTStatisticsboolruntimefalsenotproductPrint AOT statisticsshare/runtime/globals.hpp
PrintAOTboolruntimefalseproductPrint used AOT klasses and methodsshare/runtime/globals.hpp
PrintAdapterHandlersboolruntimefalseproductPrint code generated for i2c/c2i adaptersshare/runtime/globals.hpp
PrintAssemblyOptionsccstrruntimeNULLproductPrint options string passed to disassembler.soshare/runtime/globals.hpp
PrintAssemblyboolruntimefalseproductPrint assembly code (using external disassembler.so)share/runtime/globals.hpp
PrintBailoutsboolc1falsedevelopPrint bailout and its reasonshare/c1/c1_globals.hpp
PrintBiasedLockingStatisticsDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolruntimefalseproduct(Deprecated) Print statistics of biased locking in JVMshare/runtime/globals.hpp
PrintBlockEliminationboolc1falsedevelopPrint basic block eliminationshare/c1/c1_globals.hpp
PrintBootstrapbooljvmcitrueproductPrint JVMCI bootstrap progress and summaryshare/jvmci/jvmci_globals.hpp
PrintBytecodeHistogramboolruntimefalsedevelopPrint histogram of the executed bytecodesshare/runtime/globals.hpp
PrintBytecodePairHistogramboolruntimefalsedevelopPrint histogram of the executed bytecode pairsshare/runtime/globals.hpp
PrintC1Statisticsboolc1falsenotproductPrint Compiler1 statisticsshare/c1/c1_globals.hpp
PrintCEEboolc1falsedevelopPrint Conditional Expression Eliminationshare/c1/c1_globals.hpp
PrintCFG0boolc1falsenotproductPrint control flow graph after constructionshare/c1/c1_globals.hpp
PrintCFG1boolc1falsenotproductPrint control flow graph after optimizationsshare/c1/c1_globals.hpp
PrintCFG2boolc1falsenotproductPrint control flow graph before code generationshare/c1/c1_globals.hpp
PrintCFGBlockFreqboolc2falsedevelopPrint CFG block freqenciesshare/opto/c2_globals.hpp
PrintCFGToFileboolc1falsedevelopprint control flow graph to a separate file during compilationshare/c1/c1_globals.hpp
PrintCFGboolc1falsenotproductPrint control flow graph after each changeshare/c1/c1_globals.hpp
PrintCanonicalizationboolc1falsedevelopPrint graph node canonicalizationshare/c1/c1_globals.hpp
PrintClassHistogramboolruntimefalseproductPrint a histogram of class instancesshare/runtime/globals.hpp
PrintClassLoaderDataGraphAtExitboolruntimefalsenotproductPrint the class loader data graph at exitshare/runtime/globals.hpp
PrintCodeCache2boolruntimefalsedevelopPrint detailed usage information on the code cache when exitingshare/runtime/globals.hpp
PrintCodeCacheExtensionboolruntimefalsedevelopPrint extension of code cacheshare/runtime/globals.hpp
PrintCodeCacheOnCompilationboolruntimefalseproductPrint the code cache memory usage each time a method is compiledshare/runtime/globals.hpp
PrintCodeCacheboolruntimefalseproductPrint the code cache memory usage when exitingshare/runtime/globals.hpp
PrintCodeHeapAnalyticsboolruntimefalseproductPrint code heap usage statistics on exit and on full conditionshare/runtime/globals.hpp
PrintCommandLineFlagsboolruntimefalseproductPrint flags specified on command line or set by ergonomicsshare/runtime/globals.hpp
PrintCompilation2boolruntimefalseproductPrint additional statistics per compilationshare/runtime/globals.hpp
PrintCompilationboolruntimefalseproductPrint compilationsshare/runtime/globals.hpp
PrintConcurrentLocksboolruntimefalseproductPrint java.util.concurrent locks in thread dumpshare/runtime/globals.hpp
PrintDebugInfoboolruntimefalsedevelopPrint debug information for all nmethods when generatedshare/runtime/globals.hpp
PrintDeoptimizationDetailsboolruntimefalsedevelopPrint more information about deoptimizationshare/runtime/globals.hpp
PrintDependenciesboolruntimefalsedevelopPrint dependency information for all nmethods when generatedshare/runtime/globals.hpp
PrintDominatorsboolc2falsedevelopPrint out dominator trees for GVNshare/opto/c2_globals.hpp
PrintEliminateAllocationsboolc2falsenotproductPrint out when allocations are eliminatedshare/opto/c2_globals.hpp
PrintEliminateLocksboolc2falsenotproductPrint out when locks are eliminatedshare/opto/c2_globals.hpp
PrintEscapeAnalysisboolc2falsenotproductPrint the results of escape analysisshare/opto/c2_globals.hpp
PrintExceptionHandlersboolruntimefalsedevelopPrint exception handler tables for all nmethods when generatedshare/runtime/globals.hpp
PrintExtendedThreadInfoboolruntimetrueproductPrint more information in thread dumpshare/runtime/globals.hpp
PrintFieldLayoutboolruntimefalsenotproductPrint field layout for each classshare/runtime/globals.hpp
PrintFlagsFinalboolruntimefalseproductPrint all VM flags after argument and ergonomic processingshare/runtime/globals.hpp
PrintFlagsInitialboolruntimefalseproductPrint all VM flags before argument processing and exit VMshare/runtime/globals.hpp
PrintFlagsRangesboolruntimefalseproductPrint VM flags and their rangesshare/runtime/globals.hpp
PrintFlagsWithCommentsboolruntimefalsenotproductPrint all VM flags with default values and descriptions and exitshare/runtime/globals.hpp
PrintFrameConverterAssemblyboolc2falsenotproductPrint New compiler assembly output for frame convertersshare/opto/c2_globals.hpp
PrintGCDetailsboolgcfalseproductPrint more details at garbage collection. Deprecated, use -Xlog:gc* instead.share/gc/shared/gc_globals.hpp
PrintGCboolgcfalseproductPrint message at garbage collection. Deprecated, use -Xlog:gc instead.share/gc/shared/gc_globals.hpp
PrintHeapAtSIGBREAKboolruntimetrueproductPrint heap layout in response to SIGBREAKshare/runtime/globals.hpp
PrintIR0boolc1falsenotproductPrint full intermediate representation after constructionshare/c1/c1_globals.hpp
PrintIR1boolc1falsenotproductPrint full intermediate representation after optimizationsshare/c1/c1_globals.hpp
PrintIR2boolc1falsenotproductPrint full intermediate representation before code generationshare/c1/c1_globals.hpp
PrintIRDuringConstructionboolc1falsenotproductPrint IR as it's being constructed (helpful for debugging frontend)share/c1/c1_globals.hpp
PrintIRWithLIRboolc1falsenotproductPrint IR instructions with generated LIRshare/c1/c1_globals.hpp
PrintIRboolc1falsenotproductPrint full intermediate representation after each changeshare/c1/c1_globals.hpp
PrintIdealGraphAddressccstrc2127.0.0.1notproductIP address to connect to visualizershare/opto/c2_globals.hpp
PrintIdealGraphFileccstrc2NULLnotproductFile to dump ideal graph to. If set overrides the use of the networkshare/opto/c2_globals.hpp
PrintIdealGraphLevelintxc20
range(-1, 4)
notproductLevel 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)
notproductIdeal graph printer to network portshare/opto/c2_globals.hpp
PrintIdealGraphboolc2falsenotproductPrint ideal graph to XML file / network interface. By default attempts to connect to the visualizer on a socket.share/opto/c2_globals.hpp
PrintIdealIndentThresholduintxc20notproductA depth threshold of ideal graph. Indentation is disabled when users attempt to dump an ideal graph deeper than it.share/opto/c2_globals.hpp
PrintIdealNodeCountboolc2falsenotproductPrint liveness counts of ideal nodesshare/opto/c2_globals.hpp
PrintIdealboolc2falsenotproductPrint ideal graph before code generationshare/opto/c2_globals.hpp
PrintInitialBlockListboolc1falsenotproductPrint block list of BlockListBuildershare/c1/c1_globals.hpp
PrintInliningboolruntimefalseproductPrint inlining optimizationsshare/runtime/globals.hpp
PrintInterpreterboolruntimefalseproductPrint the generated interpreter codeshare/runtime/globals.hpp
PrintIntrinsicsboolc2falseproductprints attempted and successful inlining of intrinsicsshare/opto/c2_globals.hpp
PrintLIRWithAssemblyboolc1falsenotproductShow LIR instruction with generated assemblyshare/c1/c1_globals.hpp
PrintLIRboolc1falsedevelopprint low-level IRshare/c1/c1_globals.hpp
PrintLockStatisticsboolc2falsenotproductPrint precise statistics on the dynamic lock usageshare/opto/c2_globals.hpp
PrintMetaspaceStatisticsAtExitboolruntimefalseproductPrint metaspace statistics upon VM exit.share/runtime/globals.hpp
PrintMethodDataboolruntimefalseproductPrint the results of +ProfileInterpreter at end of runshare/runtime/globals.hpp
PrintMethodFlushingStatisticsboolruntimefalseproductprint statistics about method flushingshare/runtime/globals.hpp
PrintMethodFlushingboolruntimefalsedevelopPrint the nmethods being flushedshare/runtime/globals.hpp
PrintMethodHandleStubsboolruntimefalseproductPrint generated stub code for method handlesshare/runtime/globals.hpp
PrintMiscellaneousboolruntimefalsedevelopPrint uncategorized debugging information (requires +Verbose)share/runtime/globals.hpp
PrintNMTStatisticsboolruntimefalseproductPrint native memory tracking summary data if it is onshare/runtime/globals.hpp
PrintNMethodStatisticsboolruntimefalsenotproductPrint a summary statistic for the generated nmethodsshare/runtime/globals.hpp
PrintNMethodsboolruntimefalseproductPrint assembly code for nmethods when generatedshare/runtime/globals.hpp
PrintNativeNMethodsboolruntimefalseproductPrint assembly code for native nmethods when generatedshare/runtime/globals.hpp
PrintNotLoadedboolc1falsedevelopPrints where classes are not loaded during code generationshare/c1/c1_globals.hpp
PrintNullCheckEliminationboolc1falsedevelopPrint null check eliminationshare/c1/c1_globals.hpp
PrintOptimizePtrCompareboolc2falsenotproductPrint information about optimized pointers compareshare/opto/c2_globals.hpp
PrintOptimizeStringConcatboolc2falsenotproductPrint information about transformations performed on Stringsshare/opto/c2_globals.hpp
PrintOptoAssemblyboolc2falseproductPrint New compiler assembly outputshare/opto/c2_globals.hpp
PrintOptoInliningboolc2falsenotproductPrint compiler2 inlining decisionsshare/opto/c2_globals.hpp
PrintOptoPeepholeboolc2falsenotproductPrint New compiler peephole replacementsshare/opto/c2_globals.hpp
PrintOptoStatisticsboolc2falsenotproductPrint New compiler statisticsshare/opto/c2_globals.hpp
PrintOptoboolc2falsenotproductPrint compiler2 attemptsshare/opto/c2_globals.hpp
PrintParseStatisticsboolc2falsenotproductPrint nodes, transforms and new values made per bytecode parsedshare/opto/c2_globals.hpp
PrintPhiFunctionsboolc1falsenotproductPrint phi functions when they are created and simplifiedshare/c1/c1_globals.hpp
PrintPreciseBiasedLockingStatisticsDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolc2falseproduct(Deprecated) Print per-lock-site statistics of biased locking in JVMshare/opto/c2_globals.hpp
PrintPreciseRTMLockingStatisticsboolc2falseproductPrint per-lock-site statistics of rtm locking in JVMshare/opto/c2_globals.hpp
PrintRelocationsboolruntimefalsedevelopPrint relocation information for all nmethods when generatedshare/runtime/globals.hpp
PrintRewritesboolruntimefalsenotproductPrint methods that are being rewrittenshare/runtime/globals.hpp
PrintSharedArchiveAndExitboolruntimefalseproductPrint shared archive file contentsshare/runtime/globals.hpp
PrintSharedDictionaryboolruntimefalseproductIf PrintSharedArchiveAndExit is true, also print the shared dictionaryshare/runtime/globals.hpp
PrintSignatureHandlersboolruntimefalseproductPrint code generated for native method signature handlersshare/runtime/globals.hpp
PrintSimpleStubsboolc1falsenotproductPrint SimpleStubsshare/c1/c1_globals.hpp
PrintStringTableStatisticsboolruntimefalseproductprint statistics about the StringTable and SymbolTableshare/runtime/globals.hpp
PrintStubCodeboolruntimefalseproductPrint generated stub codeshare/runtime/globals.hpp
PrintSymbolTableSizeHistogramboolruntimefalsenotproductprint histogram of the symbol tableshare/runtime/globals.hpp
PrintSystemDictionaryAtExitboolruntimefalsenotproductPrint the system dictionary at exitshare/runtime/globals.hpp
PrintTieredEventsboolcompilerfalseproductPrint tiered events notificationsshare/compiler/compiler_globals.hpp
PrintTouchedMethodsAtExitboolruntimefalseproductPrint all methods that have been ever touched in runtimeshare/runtime/globals.hpp
PrintUnsafeOptimizationboolc1falsedevelopPrint optimization of raw unsafe opsshare/c1/c1_globals.hpp
PrintVMOptionsboolruntimefalseproductPrint flags that appeared on the command lineshare/runtime/globals.hpp
PrintValueNumberingboolc1falsedevelopPrint Value Numberingshare/c1/c1_globals.hpp
PrintVtableStatsboolruntimefalsenotproductprint vtables stats at end of runshare/runtime/globals.hpp
PrintWarningsboolruntimetrueproductPrint JVM warnings to output streamshare/runtime/globals.hpp
ProcessDistributionStrideuintxruntime4
range(0, max_juint)
productStride through processors when distributing processesshare/runtime/globals.hpp
ProfileDynamicTypesboolc2trueproductdo extra type profiling and use it more aggressivelyshare/opto/c2_globals.hpp
ProfileInterpreterboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfileInterpreterboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
ProfileInterpreterboolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals_pd.hpp
ProfileInterpreterboolruntimeproduct_pdProfile at the bytecode level during interpretationshare/runtime/globals.hpp
ProfileInterpreterboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfileInterpreterbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
ProfileInterpreterboolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
ProfileMaturityPercentageintxruntime20
range(0, 100)
productnumber of method invocations/branches (expressed as % of CompileThreshold) before using the method's profileshare/runtime/globals.hpp
ProfileTrapsboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfileTrapsboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
ProfileTrapsboolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals_pd.hpp
ProfileTrapsboolruntimedevelop_pdProfile deoptimization traps at the bytecode levelshare/runtime/globals.hpp
ProfileTrapsboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfileTrapsbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
ProfileTrapsboolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
ProfiledCodeHeapSizeintxaarch6414*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfiledCodeHeapSizesize_tarm14*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
ProfiledCodeHeapSizeuintxcompiler0define_pd_globalshare/compiler/compiler_globals_pd.hpp
ProfiledCodeHeapSizeuintxruntimeproduct_pdSize of code heap with profiled methods (in bytes)share/runtime/globals.hpp
ProfiledCodeHeapSizeuintxppc14*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfiledCodeHeapSizeuintxs39022*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
ProfiledCodeHeapSizeuintxx8614*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
PromotedPaddinguintxgc3
range(0, max_juint)
productHow much buffer to keep for promotion failureshare/gc/shared/gc_globals.hpp
PromotionFailureALotCountuintxgc1000developNumber of promotion failures occurring at PLAB promotion attempts at young collectorsshare/gc/shared/gc_globals.hpp
PromotionFailureALotIntervaluintxgc5developTotal collections between promotion failures a lotshare/gc/shared/gc_globals.hpp
PromotionFailureALotboolgcfalsenotproductUse promotion failure handling on every youngest generation collectionshare/gc/shared/gc_globals.hpp
QueuedAllocationWarningCountuintxgc0
range(0, max_uintx)
productNumber of times an allocation that queues behind a GC will retry before printing a warningshare/gc/shared/gc_globals.hpp
RTMAbortRatiointppc50
range(0, 100) /* natural range */
productLock abort ratio at which to stop use RTM lock elidingcpu/ppc/globals_ppc.hpp
RTMAbortRatiointx8650
range(0, 100) /* natural range */
productLock abort ratio at which to stop use RTM lock elidingcpu/x86/globals_x86.hpp
RTMAbortThresholdintppc1000
range(0, max_jint)
productCalculate abort ratio after this number of abortscpu/ppc/globals_ppc.hpp
RTMAbortThresholdintx861000
range(0, max_jint)
productCalculate abort ratio after this number of abortscpu/x86/globals_x86.hpp
RTMLockingCalculationDelayintxppc0productNumber of milliseconds to wait before start calculating aborts for RTM lockingcpu/ppc/globals_ppc.hpp
RTMLockingCalculationDelayintxx860productNumber of milliseconds to wait before start calculating aborts for RTM lockingcpu/x86/globals_x86.hpp
RTMLockingThresholdintppc10000
range(0, max_jint)
productLock count at which to do RTM lock eliding without abort ratio calculationcpu/ppc/globals_ppc.hpp
RTMLockingThresholdintx8610000
range(0, max_jint)
productLock count at which to do RTM lock eliding without abort ratio calculationcpu/x86/globals_x86.hpp
RTMRetryCountintppc5
range(0, max_jint)
productNumber of RTM retries on lock abort or busycpu/ppc/globals_ppc.hpp
RTMRetryCountintx865
range(0, max_jint)
productNumber of RTM retries on lock abort or busycpu/x86/globals_x86.hpp
RTMSpinLoopCountintppc100
range(0, 32767) /* immediate operand limit on ppc */
productSpin count for lock to become free before RTM retrycpu/ppc/globals_ppc.hpp
RTMSpinLoopCountintx86100
range(0, max_jint)
productSpin count for lock to become free before RTM retrycpu/x86/globals_x86.hpp
RTMTotalCountIncrRateintppc64
range(1, 32767) /* immediate operand limit on ppc */
productIncrement total RTM attempted lock count once every n timescpu/ppc/globals_ppc.hpp
RTMTotalCountIncrRateintx8664
range(1, max_jint)
productIncrement total RTM attempted lock count once every n timescpu/x86/globals_x86.hpp
RangeCheckEliminationboolruntimetrueproductEliminate range checksshare/runtime/globals.hpp
ReassociateInvariantsboolc2trueproductEnable reassociation of expressions with loop invariants.share/opto/c2_globals.hpp
ReduceBulkZeroingboolc2trueproductWhen bulk-initializing, try to avoid needless zeroingshare/opto/c2_globals.hpp
ReduceFieldZeroingboolc2trueproductWhen initializing fields, try to avoid needless zeroingshare/opto/c2_globals.hpp
ReduceInitialCardMarksboolc2trueproductWhen initializing fields, try to avoid needless card marksshare/opto/c2_globals.hpp
ReduceNumberOfCompilerThreadsboolruntimetrueproductReduce the number of parallel compiler threads when they are not usedshare/runtime/globals.hpp
ReduceSignalUsageboolruntimefalseproductReduce the use of OS signals in Java and/or the VMshare/runtime/globals.hpp
RefDiscoveryPolicyintxgc0
range(ReferenceProcessor::DiscoveryPolicyMin,
productSelect type of reference discovery policy: reference-based(0) or referent-based(1)share/gc/shared/gc_globals.hpp
ReferencesPerThreadsize_tgc1000productErgonomically 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_globalcpu/aarch64/c2_globals_aarch64.hpp
RegisterCostAreaRatiointxc2develop_pdSpill selection in reg allocator: scale area by (X/64K) before adding costshare/opto/c2_globals.hpp
RegisterCostAreaRatiointxppc16000define_pd_globalcpu/ppc/c2_globals_ppc.hpp
RegisterCostAreaRatiointxs39012000define_pd_globalcpu/s390/c2_globals_s390.hpp
RegisterCostAreaRatiointxx8616000define_pd_globalcpu/x86/c2_globals_x86.hpp
RegisterFinalizersAtInitboolruntimetrueproductRegister finalizable objects at end of Object.<init> or after allocationshare/runtime/globals.hpp
RegisterReferencesboolruntimetruedevelopTell whether the VM should register soft/weak/final/phantom referencesshare/runtime/globals.hpp
RelaxAccessControlCheckboolruntimefalseproductRelax the access control checks in the verifiershare/runtime/globals.hpp
RenumberLiveNodesboolc2truedevelopRenumber live nodesshare/opto/c2_globals.hpp
ReoptimizeCallSequencesboolppctrueproductReoptimize code-sequences of calls at runtime.cpu/ppc/globals_ppc.hpp
ReoptimizeCallSequencesbools390trueproductReoptimize code-sequences of calls at runtime.cpu/s390/globals_s390.hpp
RepeatCompilationintxruntime0
range(0, max_jint)
productRepeat compilation without installing code (number of times)share/runtime/globals.hpp
ReplayCompilesboolcompilerfalsedevelopEnable replay of compilations from ReplayDataFileshare/compiler/compiler_globals.hpp
ReplayDataFileccstrcompilerNULLproductFile containing compilation replay information[default: ./replay_pid%p.log] (%p replaced with pid)share/compiler/compiler_globals.hpp
ReplayIgnoreInitErrorsboolcompilerfalsedevelopIgnore exceptions thrown during initialization for replayshare/compiler/compiler_globals.hpp
ReplaySuppressInitializersintxcompiler2
range(0, 3)
developControl 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
RequireSharedSpacesboolruntimefalseproductRequire shared spaces for metadatashare/runtime/globals.hpp
ReservedCodeCacheSizeintxaarch6432*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ReservedCodeCacheSizesize_tarm32*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
ReservedCodeCacheSizeuintxcompiler32*Mdefine_pd_globalshare/compiler/compiler_globals_pd.hpp
ReservedCodeCacheSizeuintxruntimeproduct_pdReserved code cache size (in bytes) - maximum code cache sizeshare/runtime/globals.hpp
ReservedCodeCacheSizeuintxppc32*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ReservedCodeCacheSizeuintxs39048*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
ReservedCodeCacheSizeuintxx8632*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
ResizePLABboolgctrueproductDynamically resize (survivor space) promotion LAB'sshare/gc/shared/gc_globals.hpp
ResizeTLABboolgctrueproductDynamically resize TLAB size for threadsshare/gc/shared/tlab_globals.hpp
RestoreMXCSROnJNICallsboolruntimefalseproductRestore MXCSR when returning from JNI callsshare/runtime/globals.hpp
RestrictContendedboolruntimetrueproductRestrict @Contended to trusted classesshare/runtime/globals.hpp
RestrictReservedStackboolruntimetrueproductRestrict @ReservedStackAccess to trusted classesshare/runtime/globals.hpp
RewriteBytecodesboolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
RewriteBytecodesboolarmtruedefine_pd_globalcpu/arm/globals_arm.hpp
RewriteBytecodesboolruntimeproduct_pdAllow rewriting of bytecodes (bytecodes are not immutable)share/runtime/globals.hpp
RewriteBytecodesboolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
RewriteBytecodesbools390truedefine_pd_globalcpu/s390/globals_s390.hpp
RewriteBytecodesboolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
RewriteBytecodesboolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
RewriteFrequentPairsboolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
RewriteFrequentPairsboolarmtruedefine_pd_globalcpu/arm/globals_arm.hpp
RewriteFrequentPairsboolruntimeproduct_pdRewrite frequently used bytecode pairs into a single bytecodeshare/runtime/globals.hpp
RewriteFrequentPairsboolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
RewriteFrequentPairsbools390truedefine_pd_globalcpu/s390/globals_s390.hpp
RewriteFrequentPairsboolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
RewriteFrequentPairsboolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
SafepointALotboolruntimefalseproductGenerate a lot of safepoints. This works with GuaranteedSafepointIntervalshare/runtime/globals.hpp
SafepointTimeoutDelayintxruntime10000
range(0, max_intx LP64_ONLY(/MICROUNITS))
productDelay in milliseconds for option SafepointTimeoutshare/runtime/globals.hpp
SafepointTimeoutboolruntimefalseproductTime out and warn or fail after SafepointTimeoutDelay milliseconds if failed to reach safepointshare/runtime/globals.hpp
ScavengeALotIntervalintxgc1notproductInterval between which scavenge will occur with +ScavengeALotshare/gc/shared/gc_globals.hpp
ScavengeALotboolgcfalsenotproductForce scavenge at every Nth exit from the runtime system (N=ScavengeALotInterval)share/gc/shared/gc_globals.hpp
ScavengeBeforeFullGCboolgctrueproductScavenge youngest generation before each full GC.share/gc/shared/gc_globals.hpp
ScavengeRootsInCodeintxruntime2
range(0, 2)
product0: 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
SegmentedCodeCacheboolruntimefalseproductUse a segmented code cacheshare/runtime/globals.hpp
SelectivePhiFunctionsboolc1truedevelopcreate phi functions at loop headers only when necessaryshare/c1/c1_globals.hpp
SelfDestructTimerintxruntime0
range(0, max_intx)
productWill cause VM to terminate after a given time (in minutes) (0 means off)share/runtime/globals.hpp
SerializeVMOutputboolruntimetrueproductUse a mutex to serialize output to tty and LogFileshare/runtime/globals.hpp
SharedArchiveConfigFileccstrruntimeNULLproductData to add to the CDS archive fileshare/runtime/globals.hpp
SharedArchiveFileccstrruntimeNULLproductOverride the default location of the CDS archive fileshare/runtime/globals.hpp
SharedBaseAddresssize_truntimeLP64_ONLY(32*G)NOT_LP64(LINUX_ONLY(2*G) NOT_LINUX(0))
range(0, SIZE_MAX)
productAddress to allocate shared memory region for class datashare/runtime/globals.hpp
SharedClassListFileccstrruntimeNULLproductOverride the default CDS class listshare/runtime/globals.hpp
SharedSymbolTableBucketSizeuintxruntime4
range(2, 246)
productAverage number of symbols per bucket in shared tableshare/runtime/globals.hpp
ShenandoahAdaptiveDecayFactordoublegc0.5
range(0,1.0)
productThe 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.8productThe 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.8productIf 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
ShenandoahAdaptiveSampleFrequencyHzuintxgc10productThe number of times per second to update the allocation rate moving average.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAdaptiveSampleSizeSecondsuintxgc10productThe 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
ShenandoahAllocFailureALotboolgcfalseproductTesting: make lots of artificial allocation failures.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocSpikeFactoruintxgc5
range(0,100)
productHow 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)
productHow 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
ShenandoahAlwaysClearSoftRefsboolgcfalseproductUnconditionally clear soft references, instead of using any other cleanup policy. This minimizes footprint at expense ofmore soft reference churn in applications.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCASBarrierboolgctrueproductTurn on/off CAS barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCloneBarrierboolgctrueproductTurn on/off clone barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahControlIntervalAdjustPerioduintxgc1000productThe 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
ShenandoahControlIntervalMaxuintxgc10productThe 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
ShenandoahControlIntervalMinuintxgc1productThe 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)
productHow 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
ShenandoahDegeneratedGCboolgctrueproductEnable 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
ShenandoahElasticTLABboolgctrueproductUse Elastic TLABs with Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahEvacReserveOverflowboolgctrueproductAllow 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)
productHow 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)
productHow 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
ShenandoahFullGCThresholduintxgc3productHow many back-to-back Degenerated GCs should happen before going to a Full GC.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahGCHeuristicsccstrgcadaptiveproductGC 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
ShenandoahGCModeccstrgcsatbproductGC 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)
productHow 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*1000productMany 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
ShenandoahHumongousMovesboolgctrueproductAllow 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)
productHumongous 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
ShenandoahIUBarrierboolgcfalseproductTurn on/off I-U barriers barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahImmediateThresholduintxgc90
range(0,100)
productThe 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
ShenandoahImplicitGCInvokesConcurrentboolgcfalseproductShould 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)
productHow 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)
productThe number of cycles some heuristics take to collect in order to learn application and GC performance.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahLoadRefBarrierboolgctrueproductTurn on/off load-reference barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahLoopOptsAfterExpansionboolgctrueproductAttempt more loop opts after barrier expansion.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMarkLoopStrideuintxgc1000productHow 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)
productHow many objects to prefetch ahead when traversing mark bitmaps.Set to 0 to disable prefetching.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMaxRegionSizesize_tgc32 * MproductWith automatic region sizing, the regions would be at most this large.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMaxSATBBufferFlushesuintxgc5productHow 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)
productHow 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 * KproductWith automatic region sizing, the regions would be at least this large.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahNMethodBarrierboolgctrueproductTurn on/off NMethod entry barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahOOMDuringEvacALotboolgcfalseproductTesting: simulate OOM during evacuation.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingCycleSlackuintxgc10
range(0, 100)
productHow 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)
productHow 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
ShenandoahPacingMaxDelayuintxgc10productMax 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)
productAdditional 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
ShenandoahPacingboolgctrueproductPace application allocations to give GC chance to start and complete before allocation failure is reached.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahParallelRegionStrideuintxgc1024productHow many regions to process at once during parallel region iteration. Affects heaps with lots of regions.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRegionSamplingRateintgc40productSampling 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
ShenandoahRegionSamplingboolgcfalseproductProvide heap region sampling data via jvmstat.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRegionSizesize_tgc0productStatic heap region size. Set zero to enable automatic sizing.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBarrierboolgctrueproductTurn on/off SATB barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBufferSizesize_tgc1 * K
range(1, max_uintx)
productNumber of entries in an SATB log buffer.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSelfFixingboolgctrueproductFix references with load reference barrier. Disabling this might degrade performance.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahStackWatermarkBarrierboolgctrueproductTurn on/off stack watermark barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSuspendibleWorkersboolgcfalseproductSuspend concurrent GC worker threads at safepointsshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahTargetNumRegionssize_tgc2048productWith 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*1000productUncommit 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
ShenandoahUncommitboolgctrueproductAllow 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
ShenandoahUnloadClassesFrequencyuintxgc1productUnload the classes every Nth cycle. Normally affects concurrent GC cycles, as degenerated and full GCs would try to unload classes regardless. Set to zero to disable class unloading.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahVerifyLevelintxgc4productVerification 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 objectsshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahVerifyOptoBarriersboolgcfalsedevelopVerify no missing barriers in C2.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahVerifyboolgcfalseproductEnable 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
ShowCodeDetailsInExceptionMessagesboolruntimetrueproductShow exception messages from RuntimeExceptions that contain snippets of the failing code. Disable this to improve privacy.share/runtime/globals.hpp
ShowHiddenFramesboolruntimefalseproductshow method handle implementation frames (usually hidden)share/runtime/globals.hpp
ShowMessageBoxOnErrorboolruntimefalseproductKeep process alive on VM fatal errorshare/runtime/globals.hpp
ShowRegistersOnAssertboolruntimetrueproductOn internal errors, include registers in error report.share/runtime/globals.hpp
ShrinkHeapInStepsboolruntimetrueproductWhen 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
SoftMatchFailureboolc2trueInProductdevelopIf the DFA fails to match a node, print a message and bail outshare/opto/c2_globals.hpp
SoftMaxHeapSizesize_tgc0productSoft limit for maximum heap size (in bytes)share/gc/shared/gc_globals.hpp
SoftRefLRUPolicyMSPerMBintxruntime1000
range(0, max_intx)
productNumber of milliseconds per MB of free space in the heapshare/runtime/globals.hpp
SoftwarePrefetchHintDistanceintaarch64-1
range(-1, 4096)
productUse prfm hint with specified distance in compiled code.Value -1 means off.cpu/aarch64/globals_aarch64.hpp
SpecTrapLimitExtraEntriesintxruntime3productExtra method data trap entries for speculationshare/runtime/globals.hpp
SpecialArraysEqualsboolc2trueproductspecial version of Arrays.equals(char[],char[])share/opto/c2_globals.hpp
SpecialEncodeISOArrayboolc2trueproductspecial version of ISO_8859_1$Encoder.encodeISOArrayshare/opto/c2_globals.hpp
SpecialStringCompareToboolc2trueproductspecial version of string compareToshare/opto/c2_globals.hpp
SpecialStringEqualsboolc2trueproductspecial version of string equalsshare/opto/c2_globals.hpp
SpecialStringIndexOfboolc2trueproductspecial version of string indexOfshare/opto/c2_globals.hpp
SplitIfBlocksboolc2trueproductClone compares and control flow through merge points to fold some branchesshare/opto/c2_globals.hpp
StackPrintLimitintxruntime100developnumber of stack frames to print in VM-level stack dumpshare/runtime/globals.hpp
StackRedPagesintxaarch64DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackRedPagesintxarmDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackRedPagesintxruntimeproduct_pdNumber 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_globalcpu/ppc/globals_ppc.hpp
StackRedPagesintxs390DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackRedPagesintxx86DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackRedPagesintxzeroDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackReservedPagesintxaarch64DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackReservedPagesintxarmDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackReservedPagesintxruntimeproduct_pdNumber 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_globalcpu/ppc/globals_ppc.hpp
StackReservedPagesintxs390DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackReservedPagesintxx86DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackReservedPagesintxzeroDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackShadowPagesintxaarch64DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackShadowPagesintxarmDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackShadowPagesintxruntimeproduct_pdNumber 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_globalcpu/ppc/globals_ppc.hpp
StackShadowPagesintxs390DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackShadowPagesintxx86DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackShadowPagesintxzeroDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackTraceInThrowableboolruntimetrueproductCollect backtrace in throwable when exception happensshare/runtime/globals.hpp
StackYellowPagesintxaarch64DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackYellowPagesintxarmDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackYellowPagesintxruntimeproduct_pdNumber 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_globalcpu/ppc/globals_ppc.hpp
StackYellowPagesintxs390DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackYellowPagesintxx86DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackYellowPagesintxzeroDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StartAggressiveSweepingAtuintxruntime10
range(0, 100)
productStart 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 cacheshare/runtime/globals.hpp
StartAttachListenerboolruntimefalseproductAlways start Attach Listener at VM startupshare/runtime/globals.hpp
StartFlightRecordingccstrruntimeNULLproductStart flight recording with optionsshare/runtime/globals.hpp
StopInterpreterAtintxruntime0developStop interpreter execution at specified bytecode numbershare/runtime/globals.hpp
StressArrayCopyMacroNodeboolc2falsedevelopPerform ArrayCopy load/store replacement during IGVN onlyshare/opto/c2_globals.hpp
StressCCPboolc2falseproductRandomize worklist traversal in CCPshare/opto/c2_globals.hpp
StressCodeAgingboolruntimefalseproductStart with counters compiled inshare/runtime/globals.hpp
StressCodeBuffersboolruntimefalsedevelopExercise code buffer expansion and other rare state changesshare/runtime/globals.hpp
StressCompiledExceptionHandlersboolruntimefalsedevelopExercise compiled exception handlersshare/runtime/globals.hpp
StressGCMboolc2falseproductRandomize instruction scheduling in GCMshare/opto/c2_globals.hpp
StressIGVNboolc2falseproductRandomize worklist traversal in IGVNshare/opto/c2_globals.hpp
StressLCMboolc2falseproductRandomize instruction scheduling in LCMshare/opto/c2_globals.hpp
StressLdcRewriteboolruntimefalseproductForce 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
StressLinearScanboolc1falsedevelopscramble block order used by LinearScan (stress test)share/c1/c1_globals.hpp
StressLongCountedLoopuintxc20
range(0, max_juint)
developif > 0, convert int counted loops to long counted loopsto stress handling of long counted loops: run inner loopfor at most jint_max / StressLongCountedLoopshare/opto/c2_globals.hpp
StressLoopInvariantCodeMotionboolc1falsedevelopstress loop invariant code motionshare/c1/c1_globals.hpp
StressMethodHandleLinkerInliningboolc2falsedevelopStress inlining through method handle linkersshare/opto/c2_globals.hpp
StressRangeCheckEliminationboolc1falsedevelopstress Range Check Eliminationshare/c1/c1_globals.hpp
StressRecompilationboolc2falsedevelopRecompile each compiled method without subsuming loads or escape analysis.share/opto/c2_globals.hpp
StressReflectiveCodeboolc2falsedevelopUse inexact types at allocations, etc., to test reflectionshare/opto/c2_globals.hpp
StressRewriterboolruntimefalsedevelopStress linktime bytecode rewritingshare/runtime/globals.hpp
StressSeeduintc20
range(0, max_juint)
productSeed 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
StringDeduplicationAgeThresholduintxruntime3
range(1, markWord::max_age)
productA string must reach this age (or be promoted to an old region) to be considered for deduplicationshare/runtime/globals.hpp
StringDeduplicationRehashALotboolruntimefalseproductForce table rehash every time the table is scannedshare/runtime/globals.hpp
StringDeduplicationResizeALotboolruntimefalseproductForce table resize every time the table is scannedshare/runtime/globals.hpp
StringTableSizeuintxruntimedefaultStringTableSize
range(minimumStringTableSize, 16777216ul /* 2^24 */)
productNumber of buckets in the interned String table (will be rounded to nearest higher power of 2)share/runtime/globals.hpp
SubsumeLoadsboolc2truedevelopAttempt to compile while subsuming loads into machine instructions.share/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisboolaarch64truedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
SuperWordLoopUnrollAnalysisboolc2product_pdMap number of unrolls for main loop via Superword Level Parallelism analysisshare/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisboolppctruedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
SuperWordLoopUnrollAnalysisbools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
SuperWordLoopUnrollAnalysisboolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
SuperWordRTDepCheckboolc2falsedevelopEnable runtime dependency checks.share/opto/c2_globals.hpp
SuperWordReductionsboolc2trueproductEnable reductions support in superword.share/opto/c2_globals.hpp
SuperwordUseVSXboolppcfalseproductUse Power8 VSX instructions for superword optimization.cpu/ppc/globals_ppc.hpp
SuppressErrorAtccstrlistruntimeList of assertions (file:line) to muzzlenotproductshare/runtime/globals.hpp
SuppressFatalErrorMessageboolruntimefalseproductReport NO fatal error message (avoid deadlock)share/runtime/globals.hpp
SurvivorPaddinguintxgc3
range(0, max_juint)
productHow much buffer to keep for survivor overflowshare/gc/shared/gc_globals.hpp
SurvivorRatiouintxgc8
range(1, max_uintx-2)
productRatio of eden/survivor space sizeshare/gc/shared/gc_globals.hpp
SuspendRetryCountintxruntime50
range(0, max_intx)
productMaximum retry count for an external suspend requestshare/runtime/globals.hpp
SuspendRetryDelayintxruntime5
range(0, max_intx)
productMilliseconds to delay per retry (* current_retry_count)share/runtime/globals.hpp
SweeperLogEntriesintxruntime1024notproductNumber of records in the ring buffer of sweeper activityshare/runtime/globals.hpp
SweeperThresholddoubleruntime0.5
range(0.0, 100.0)
productThreshold controlling when code cache sweeper is invoked.Value is percentage of ReservedCodeCacheSize.share/runtime/globals.hpp
SymbolTableSizeuintxruntimedefaultSymbolTableSize
range(minimumSymbolTableSize, 16777216ul /* 2^24 */)
productNumber of buckets in the JVM internal Symbol tableshare/runtime/globals.hpp
TLABAllocationWeightuintxgc35
range(0, 100)
productAllocation averaging weightshare/gc/shared/tlab_globals.hpp
TLABRefillWasteFractionuintxgc64
range(1, max_juint)
productMaximum TLAB waste at a refill (internal fragmentation)share/gc/shared/tlab_globals.hpp
TLABSizesize_tgc0productStarting TLAB size (in bytes); zero means set ergonomicallyshare/gc/shared/tlab_globals.hpp
TLABStatsDeprecated in JDK12
Obsoleted in JDK
Expired in JDK
boolgctrueproductProvide more detailed and expensive TLAB statistics.share/gc/shared/tlab_globals.hpp
TLABWasteIncrementuintxgc4
range(0, max_jint)
productIncrement allowed waste at slow allocationshare/gc/shared/tlab_globals.hpp
TLABWasteTargetPercentuintxgc1
range(1, 100)
productPercentage of Eden that can be wastedshare/gc/shared/tlab_globals.hpp
TargetPLABWastePctuintxgc10
range(1, 100)
productTarget wasted space in last buffer as percent of overall allocationshare/gc/shared/gc_globals.hpp
TargetSurvivorRatiouintxgc50
range(0, 100)
productDesired percentage of survivor space used after scavengeshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeIncrementuintxgc20
range(0, 100)
productAdaptive size percentage change in tenured generationshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementDecayuintxgc2
range(1, max_uintx)
productDecay factor to TenuredGenerationSizeIncrementshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementuintxgc80
range(0, 100)
productSupplement to TenuredGenerationSizeIncrement used at startupshare/gc/shared/gc_globals.hpp
TestCrashInErrorHandleruintxruntime0
range(0, 17)
developIf > 0, provokes an error inside VM error handler (a secondary crash). see controlled_crash() in vmError.cppshare/runtime/globals.hpp
TestSafeFetchInErrorHandlerboolruntimefalsedevelopIf true, tests SafeFetch inside error handler.share/runtime/globals.hpp
TestUnresponsiveErrorHandlerboolruntimefalsedevelopIf true, simulates an unresponsive error handler.share/runtime/globals.hpp
ThreadPriorityPolicyintxruntime0
range(0, 1)
product0 : 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
ThreadPriorityVerboseboolruntimefalseproductPrint priority changesshare/runtime/globals.hpp
ThreadStackSizeintxaixppc2048define_pd_global// 0 => use system defaultos_cpu/aix_ppc/globals_aix_ppc.hpp
ThreadStackSizeintxbsdaarch642048define_pd_global// 0 => use system defaultos_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
ThreadStackSizeintxbsdx86320define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
ThreadStackSizeintxbsdzero1536define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
ThreadStackSizeintxlinuxaarch642048define_pd_global// 0 => use system defaultos_cpu/linux_aarch64/globals_linux_aarch64.hpp
ThreadStackSizeintxlinuxarm320define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
ThreadStackSizeintxlinuxppc2048define_pd_global// 0 => use system defaultos_cpu/linux_ppc/globals_linux_ppc.hpp
ThreadStackSizeintxlinuxs3901024define_pd_global// 0 => Use system default.os_cpu/linux_s390/globals_linux_s390.hpp
ThreadStackSizeintxlinuxx86320define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
ThreadStackSizeintxlinuxzero1536define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
ThreadStackSizeintxruntimeproduct_pdThread Stack Size (in Kbytes)share/runtime/globals.hpp
ThreadStackSizeintxwindowsaarch640define_pd_global// 0 => use system defaultos_cpu/windows_aarch64/globals_windows_aarch64.hpp
ThreadStackSizeintxwindowsx860define_pd_global// 0 => use system defaultos_cpu/windows_x86/globals_windows_x86.hpp
ThresholdToleranceuintxgc10
range(0, 100)
productAllowed collection cost difference between generationsshare/gc/shared/gc_globals.hpp
Tier0BackedgeNotifyFreqLogintxcompiler10
range(0, 30)
productInterpreter (tier 0) invocation notification frequencyshare/compiler/compiler_globals.hpp
Tier0Delayintxcompiler20
range(0, max_jint)
productIf C2 queue size grows over this amount per compiler thread do not start profiling in the interpretershare/compiler/compiler_globals.hpp
Tier0InvokeNotifyFreqLogintxcompiler7
range(0, 30)
productInterpreter (tier 0) invocation notification frequencyshare/compiler/compiler_globals.hpp
Tier0ProfilingStartPercentageintxcompiler200
range(0, max_jint)
productStart profiling in interpreter if the counters exceed the specified percentage of tier 3 thresholds (tier 4 thresholds with CompilationMode=high-only|high-only-quick-internal)share/compiler/compiler_globals.hpp
Tier23InlineeNotifyFreqLogintxcompiler20
range(0, 30)
productInlinee invocation (tiers 2 and 3) notification frequencyshare/compiler/compiler_globals.hpp
Tier2BackEdgeThresholdintxcompiler0
range(0, max_jint)
productBack edge threshold at which tier 2 compilation is invokedshare/compiler/compiler_globals.hpp
Tier2BackedgeNotifyFreqLogintxcompiler14
range(0, 30)
productC1 without MDO (tier 2) invocation notification frequencyshare/compiler/compiler_globals.hpp
Tier2CompileThresholdintxcompiler0
range(0, max_jint)
productthreshold at which tier 2 compilation is invokedshare/compiler/compiler_globals.hpp
Tier2InvokeNotifyFreqLogintxcompiler11
range(0, 30)
productC1 without MDO (tier 2) invocation notification frequencyshare/compiler/compiler_globals.hpp
Tier3AOTBackEdgeThresholdintxcompiler120000
range(0, max_jint)
productBack edge threshold at which tier 3 OSR compilation is invoked if coming from AOT;with CompilationMode=high-only|high-only-quick-internal)determines when to transition from AOT to interpretershare/compiler/compiler_globals.hpp
Tier3AOTCompileThresholdintxcompiler15000
range(0, max_jint)
productThreshold at which tier 3 compilation is invoked (invocation minimum must be satisfied) if coming from AOT;with CompilationMode=high-only|high-only-quick-internal)determines when to transition from AOT to interpretershare/compiler/compiler_globals.hpp
Tier3AOTInvocationThresholdintxcompiler10000
range(0, max_jint)
productCompile if number of method invocations crosses this threshold if coming from AOT;with CompilationMode=high-only|high-only-quick-internal)determines when to transition from AOT to interpretershare/compiler/compiler_globals.hpp
Tier3AOTMinInvocationThresholdintxcompiler1000
range(0, max_jint)
productMinimum invocation to compile at tier 3 if coming from AOT;with CompilationMode=high-only|high-only-quick-internal)determines when to transition from AOT to interpretershare/compiler/compiler_globals.hpp
Tier3BackEdgeThresholdintxcompiler60000
range(0, max_jint)
productBack edge threshold at which tier 3 OSR compilation is invokedshare/compiler/compiler_globals.hpp
Tier3BackedgeNotifyFreqLogintxcompiler13
range(0, 30)
productC1 with MDO profiling (tier 3) invocation notification frequencyshare/compiler/compiler_globals.hpp
Tier3CompileThresholdintxcompiler2000
range(0, max_jint)
productThreshold at which tier 3 compilation is invoked (invocation minimum must be satisfied)share/compiler/compiler_globals.hpp
Tier3DelayOffintxcompiler2
range(0, max_jint)
productIf C2 queue size is less than this amount per compiler thread allow methods compiled at tier 2 transition to tier 3share/compiler/compiler_globals.hpp
Tier3DelayOnintxcompiler5
range(0, max_jint)
productIf C2 queue size grows over this amount per compiler thread stop compiling at tier 3 and start compiling at tier 2share/compiler/compiler_globals.hpp
Tier3InvocationThresholdintxcompiler200
range(0, max_jint)
productCompile if number of method invocations crosses this thresholdshare/compiler/compiler_globals.hpp
Tier3InvokeNotifyFreqLogintxcompiler10
range(0, 30)
productC1 with MDO profiling (tier 3) invocation notification frequencyshare/compiler/compiler_globals.hpp
Tier3LoadFeedbackintxcompiler5
range(0, max_jint)
productTier 3 thresholds will increase twofold when C1 queue size reaches this amount per compiler threadshare/compiler/compiler_globals.hpp
Tier3MinInvocationThresholdintxcompiler100
range(0, max_jint)
productMinimum invocation to compile at tier 3share/compiler/compiler_globals.hpp
Tier4BackEdgeThresholdintxcompiler40000
range(0, max_jint)
productBack edge threshold at which tier 4 OSR compilation is invokedshare/compiler/compiler_globals.hpp
Tier4CompileThresholdintxcompiler15000
range(0, max_jint)
productThreshold at which tier 4 compilation is invoked (invocation minimum must be satisfied)share/compiler/compiler_globals.hpp
Tier4InvocationThresholdintxcompiler5000
range(0, max_jint)
productCompile if number of method invocations crosses this thresholdshare/compiler/compiler_globals.hpp
Tier4LoadFeedbackintxcompiler3
range(0, max_jint)
productTier 4 thresholds will increase twofold when C2 queue size reaches this amount per compiler threadshare/compiler/compiler_globals.hpp
Tier4MinInvocationThresholdintxcompiler600
range(0, max_jint)
productMinimum invocation to compile at tier 4share/compiler/compiler_globals.hpp
TieredCompilationboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
TieredCompilationboolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
TieredCompilationboolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals_pd.hpp
TieredCompilationboolruntimeproduct_pdEnable tiered compilationshare/runtime/globals.hpp
TieredCompilationboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
TieredCompilationbools390COMPILER1_PRESENT(true) NOT_COMPILER1(false)define_pd_globalcpu/s390/c2_globals_s390.hpp
TieredCompilationboolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
TieredCompileTaskTimeoutintxcompiler50
range(0, max_intx)
productKill compile task if method was not used within given timeout in millisecondsshare/compiler/compiler_globals.hpp
TieredRateUpdateMaxTimeintxcompiler25
range(0, max_intx)
productMaximum rate sampling interval (in milliseconds)share/compiler/compiler_globals.hpp
TieredRateUpdateMinTimeintxcompiler1
range(0, max_intx)
productMinimum rate sampling interval (in milliseconds)share/compiler/compiler_globals.hpp
TieredStopAtLevelintxcompiler4
range(0, 4)
productStop at given compilation levelshare/compiler/compiler_globals.hpp
TimeEachLinearScanboolc1falsedevelopprint detailed timing of each LinearScan runshare/c1/c1_globals.hpp
TimeLinearScanboolc1falseproductdetailed timing of LinearScan phasesshare/c1/c1_globals.hpp
TimeOopMap2boolruntimefalsedevelopTime calls to GenerateOopMap::compute_map() individuallyshare/runtime/globals.hpp
TimeOopMapboolruntimefalsedevelopTime calls to GenerateOopMap::compute_map() in sumshare/runtime/globals.hpp
TraceBytecodesAtintxruntime0developTrace bytecodes starting with specified bytecode numbershare/runtime/globals.hpp
TraceBytecodesboolruntimefalsedevelopTrace bytecode executionshare/runtime/globals.hpp
TraceCISCSpillboolc2falsenotproductTrace allocators use of cisc spillable instructionsshare/opto/c2_globals.hpp
TraceCallFixupboolruntimefalsedevelopTrace all call fixupsshare/runtime/globals.hpp
TraceCodeBlobStacksboolruntimefalsenotproductTrace stack-walk of codeblobsshare/runtime/globals.hpp
TraceCompiledICboolruntimefalsedevelopTrace changes of compiled ICshare/runtime/globals.hpp
TraceCompilerThreadsboolruntimefalseproductTrace creation and removal of compiler threadsshare/runtime/globals.hpp
TraceCreateZombiesboolruntimefalsedeveloptrace creation of zombie nmethodsshare/runtime/globals.hpp
TraceDeoptimizationboolruntimefalsedevelopTrace deoptimizationshare/runtime/globals.hpp
TraceDependenciesboolruntimefalsedevelopTrace dependenciesshare/runtime/globals.hpp
TraceDerivedPointersboolruntimefalsedevelopTrace traversal of derived pointers on stackshare/runtime/globals.hpp
TraceFPURegisterUsageboolc1falsedevelopTrace usage of FPU registers at start of blocks (intel only)share/c1/c1_globals.hpp
TraceFPUStackboolc1falsedevelopTrace emulation of the FPU stack (intel only)share/c1/c1_globals.hpp
TraceFinalizerRegistrationboolruntimefalsedevelopTrace registration of final referencesshare/runtime/globals.hpp
TraceFrequencyInliningboolruntimefalsedevelopTrace frequency based inliningshare/runtime/globals.hpp
TraceICBufferboolruntimefalsedevelopTrace usage of IC buffershare/runtime/globals.hpp
TraceICsboolruntimefalsedevelopTrace inline cache changesshare/runtime/globals.hpp
TraceInlineCacheClearingboolruntimefalsedevelopTrace clearing of inline caches in nmethodsshare/runtime/globals.hpp
TraceInvocationCounterOverflowboolruntimefalsenotproductTrace method invocation counter overflowshare/runtime/globals.hpp
TraceIterativeGVNboolc2falsedevelopPrint progress during Iterative Global Value Numberingshare/opto/c2_globals.hpp
TraceJVMTIccstrruntimeNULLproductTrace flags for JVMTI functions and eventsshare/runtime/globals.hpp
TraceJavaAssertionsboolruntimefalsedevelopTrace java language assertionsshare/runtime/globals.hpp
TraceLinearScanLevelintxc10
range(0, 4)
developDebug levels for the linear scan allocatorshare/c1/c1_globals.hpp
TraceLivenessGenboolruntimefalsedevelopTrace the generation of liveness analysis informationshare/runtime/globals.hpp
TraceLivenessQueryboolruntimefalsenotproductTrace queries of liveness analysis informationshare/runtime/globals.hpp
TraceLoopLimitCheckboolc2falsedevelopTrace generation of loop limits checksshare/opto/c2_globals.hpp
TraceLoopOptsboolc2falsedevelopTrace executed loop optimizationsshare/opto/c2_globals.hpp
TraceLoopPredicateboolc2falsedevelopTrace generation of loop predicatesshare/opto/c2_globals.hpp
TraceLoopUnswitchingboolc2falsenotproductTrace loop unswitchingshare/opto/c2_globals.hpp
TraceMemoryWritebackboolruntimefalsedevelopTrace memory writeback operationsshare/runtime/globals.hpp
TraceMethodReplacementboolruntimefalsedevelopPrint when methods are replaced do to recompilationshare/runtime/globals.hpp
TraceNewOopMapGenerationDetailedboolruntimefalsedevelopTrace OopMapGeneration: print detailed cell statesshare/runtime/globals.hpp
TraceNewOopMapGenerationboolruntimefalsedevelopTrace OopMapGenerationshare/runtime/globals.hpp
TraceNewVectorsboolc2falsenotproductTrace creation of Vector nodesshare/opto/c2_globals.hpp
TraceOnStackReplacementboolruntimefalsenotproductTrace on stack replacementshare/runtime/globals.hpp
TraceOopMapRewritesboolruntimefalsedevelopTrace rewriting of methods during oop map generationshare/runtime/globals.hpp
TraceOptimizeFillboolc2falsedevelopprint detailed information about fill conversionshare/opto/c2_globals.hpp
TraceOptoOutputboolc2falsenotproductTrace pipelining informationshare/opto/c2_globals.hpp
TraceOptoParseboolc2falsedevelopTrace bytecode parse and control-flow mergeshare/opto/c2_globals.hpp
TraceOptoPipeliningboolc2falsenotproductTrace pipelining informationshare/opto/c2_globals.hpp
TracePartialPeelingboolc2falsenotproductTrace partial peeling (loop rotation) informationshare/opto/c2_globals.hpp
TracePatchingboolc1falsedevelopTrace patching of field access on uninitialized classesshare/c1/c1_globals.hpp
TracePcPatchingboolruntimefalsedevelopTrace usage of frame::patch_pcshare/runtime/globals.hpp
TracePhaseCCPboolc2falsenotproductPrint progress during Conditional Constant Propagationshare/opto/c2_globals.hpp
TracePostallocExpandboolc2falsedevelopTrace expanding nodes after register allocation.share/opto/c2_globals.hpp
TracePredicateFailedTrapsboolc1falsedeveloptrace runtime traps caused by predicate failureshare/c1/c1_globals.hpp
TraceProfileTripCountboolc2falsenotproductTrace profile loop trip count informationshare/opto/c2_globals.hpp
TraceRangeCheckEliminationboolc1falsedevelopTrace Range Check Eliminationshare/c1/c1_globals.hpp
TraceRangeLimitCheckboolc2falsedevelopTrace additional overflow checks in RCEshare/opto/c2_globals.hpp
TraceRelocatorboolruntimefalsedevelopTrace the bytecode relocatorshare/runtime/globals.hpp
TraceSpillingboolc2falseproductTrace spillingshare/opto/c2_globals.hpp
TraceSuperWordLoopUnrollAnalysisboolc2falsenotproductTrace what Superword Level Parallelism analysis appliesshare/opto/c2_globals.hpp
TraceSuperWordboolc2falsenotproductTrace superword transformsshare/opto/c2_globals.hpp
TraceSuspendWaitFailuresDeprecated in JDK
Obsoleted in JDK17
Expired in JDK18
boolruntimefalseproductTrace external suspend wait failuresshare/runtime/globals.hpp
TraceTrapsboolaarch64falseproductTrace all traps the signal handlercpu/aarch64/globals_aarch64.hpp
TraceTrapsboolppcfalseproductTrace all traps the signal handler handles.cpu/ppc/globals_ppc.hpp
TraceTrapsbools390falseproductTrace all traps the signal handler handles.cpu/s390/globals_s390.hpp
TraceTypeProfileboolc2falseproductTrace type profileshare/opto/c2_globals.hpp
TrackedInitializationLimitintxc250
range(0, 65535)
productWhen initializing fields, track up to this many wordsshare/opto/c2_globals.hpp
TrapBasedICMissChecksboolppctrueproductRaise and handle SIGTRAP if inline cache miss detected.cpu/ppc/globals_ppc.hpp
TrapBasedNullChecksboolaarch64falsedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
TrapBasedNullChecksboolarmfalsedefine_pd_global// Not neededcpu/arm/globals_arm.hpp
TrapBasedNullChecksboolruntimeproduct_pdGenerate code for null checks that uses a cmp and trap instruction raising SIGTRAP. This is only used if an access tonull (+offset) will not raise a SIGSEGV, i.e.,ImplicitNullChecks don't work (PPC64).share/runtime/globals.hpp
TrapBasedNullChecksboolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
TrapBasedNullChecksbools390truedefine_pd_globalcpu/s390/globals_s390.hpp
TrapBasedNullChecksboolx86falsedefine_pd_global// Not needed on x86.cpu/x86/globals_x86.hpp
TrapBasedNullChecksboolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
TrapBasedRangeChecksboolaarch64falsedefine_pd_global// Not needed.cpu/aarch64/c2_globals_aarch64.hpp
TrapBasedRangeChecksboolc2product_pdGenerate code for range checks that uses a cmp and trap instruction raising SIGTRAP. Used on PPC64.share/opto/c2_globals.hpp
TrapBasedRangeChecksboolppctruedefine_pd_globalcpu/ppc/c2_globals_ppc.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
TrustFinalNonStaticFieldsboolruntimefalseproducttrust final non-static declarations for constant foldingshare/runtime/globals.hpp
TwoOperandLIRFormboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
TwoOperandLIRFormboolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
TwoOperandLIRFormboolc1develop_pdtrue if LIR requires src1 and dst to match in binary LIR opsshare/c1/c1_globals.hpp
TwoOperandLIRFormboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
TwoOperandLIRFormbools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
TwoOperandLIRFormboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
TypeProfileArgsLimitintxruntime2
range(0, 16)
productmax number of call arguments to consider for type profilingshare/runtime/globals.hpp
TypeProfileCastsboolruntimetruedeveloptreat casts like calls for purposes of type profilingshare/runtime/globals.hpp
TypeProfileLeveluintxaarch64111define_pd_globalcpu/aarch64/globals_aarch64.hpp
TypeProfileLeveluintxarm0define_pd_globalcpu/arm/globals_arm.hpp
TypeProfileLeveluintxruntimeproduct_pd=XYZ, with Z: Type profiling of arguments at call; Y: Type profiling of return value at call; X: Type profiling of parameters to methods; X, Y and Z in 0=off ; 1=jsr292 only; 2=all methodsshare/runtime/globals.hpp
TypeProfileLeveluintxppc111define_pd_globalcpu/ppc/globals_ppc.hpp
TypeProfileLeveluintxs390111define_pd_globalcpu/s390/globals_s390.hpp
TypeProfileLeveluintxx86111define_pd_globalcpu/x86/globals_x86.hpp
TypeProfileLeveluintxzero0define_pd_globalcpu/zero/globals_zero.hpp
TypeProfileMajorReceiverPercentintxc290
range(0, 100)
product% of major receiver type to all profiled receiversshare/opto/c2_globals.hpp
TypeProfileParmsLimitintxruntime2
range(-1, 64)
productmax number of incoming parameters to consider for type profiling, -1 for allshare/runtime/globals.hpp
TypeProfileWidthintxruntime2
range(0, 8)
productNumber of receiver types to record in call/cast profileshare/runtime/globals.hpp
UncommonNullCastboolaarch64truedefine_pd_global// Uncommon-trap NULLs past to check castcpu/aarch64/globals_aarch64.hpp
UncommonNullCastboolarmtruedefine_pd_global// Uncommon-trap NULLs past to check castcpu/arm/globals_arm.hpp
UncommonNullCastboolruntimedevelop_pdtrack occurrences of null in casts; adjust compiler tacticsshare/runtime/globals.hpp
UncommonNullCastboolppctruedefine_pd_global// Uncommon-trap NULLs passed to check cast.cpu/ppc/globals_ppc.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 castcpu/x86/globals_x86.hpp
UncommonNullCastboolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
UnguardOnExecutionViolationintxruntime0
range(0, 2)
productUnguard page and retry on no-execute fault (Win32 only)
0=off, 1=conservative, 2=aggressive
share/runtime/globals.hpp
UnlockDiagnosticVMOptionsboolruntimetrueInDebugproductEnable normal processing of flags relating to field diagnosticsshare/runtime/globals.hpp
UnlockExperimentalVMOptionsboolruntimefalseproductEnable normal processing of flags relating to experimental featuresshare/runtime/globals.hpp
UnrollLimitForProfileCheckintxc21
range(0, max_intx)
developDon'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
Use64KPagesThresholduintxaix0develop4K/64K page allocation threshold.os/aix/globals_aix.hpp
Use64KPagesboolaixtrueproductUse 64K pages if available.os/aix/globals_aix.hpp
UseAESCTRIntrinsicsboolruntimefalseproductUse intrinsics for the paralleled version of AES/CTR cryptoshare/runtime/globals.hpp
UseAESIntrinsicsboolruntimefalseproductUse intrinsics for AES versions of cryptoshare/runtime/globals.hpp
UseAESboolruntimefalseproductControl whether AES instructions are used when availableshare/runtime/globals.hpp
UseAOTStrictLoadingboolruntimefalseproductExit the VM if any of the AOT libraries has invalid configshare/runtime/globals.hpp
UseAOTboolruntimefalseproductUse AOT compiled filesshare/runtime/globals.hpp
UseAVXintxx863
range(0, 99)
productHighest supported AVX instructions set on x86/x64cpu/x86/globals_x86.hpp
UseAdaptiveGenerationSizePolicyAtMajorCollectionboolgctrueproductUse adaptive young-old sizing policies at major collectionsshare/gc/shared/gc_globals.hpp
UseAdaptiveGenerationSizePolicyAtMinorCollectionboolgctrueproductUse adaptive young-old sizing policies at minor collectionsshare/gc/shared/gc_globals.hpp
UseAdaptiveNUMAChunkSizingboolruntimetrueproductEnable adaptive chunk sizing for NUMAshare/runtime/globals.hpp
UseAdaptiveSizeDecayMajorGCCostboolgctrueproductAdaptive size decays the major cost for long major intervalsshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyFootprintGoalboolgctrueproductUse adaptive minimum footprint as a goalshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyWithSystemGCboolgcfalseproductInclude statistics from System.gc() for adaptive size policyshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyboolgctrueproductUse adaptive generation sizing policiesshare/gc/shared/gc_globals.hpp
UseAddressNopboolx86falseproductUse '0F 1F [addr]' NOP instructions on x86 cpuscpu/x86/globals_x86.hpp
UseAdler32Intrinsicsboolruntimefalseproductuse intrinsics for java.util.zip.Adler32share/runtime/globals.hpp
UseBASE64IntrinsicsboolruntimefalseproductUse intrinsics for java.util.Base64share/runtime/globals.hpp
UseBMI1Instructionsboolx86falseproductUse BMI1 instructionscpu/x86/globals_x86.hpp
UseBMI2Instructionsboolx86falseproductUse BMI2 instructionscpu/x86/globals_x86.hpp
UseBiasedLockingDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolruntimefalseproduct(Deprecated) Enable biased locking in JVMshare/runtime/globals.hpp
UseBimorphicInliningboolc2trueproductProfiling based inlining for two receiversshare/opto/c2_globals.hpp
UseBlockZeroingboolaarch64trueproductUse DC ZVA for block zeroingcpu/aarch64/globals_aarch64.hpp
UseBootstrapCallInfointruntime1product0: 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
UseByteReverseInstructionbools390trueproductUse byte reverse instruction.cpu/s390/globals_s390.hpp
UseByteReverseInstructionsboolppcfalseproductUse byte reverse instructions.cpu/ppc/globals_ppc.hpp
UseC1Optimizationsboolc1truedevelopTurn on C1 optimizationsshare/c1/c1_globals.hpp
UseCHAboolruntimetruedevelopEnable CHAshare/runtime/globals.hpp
UseCISCSpillboolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
UseCISCSpillboolc2develop_pdUse ADLC supplied cisc instructions during allocationshare/opto/c2_globals.hpp
UseCISCSpillboolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
UseCISCSpillbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
UseCISCSpillboolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
UseCLMULboolx86falseproductControl whether CLMUL instructions can be used on x86/x64cpu/x86/globals_x86.hpp
UseCMoveUnconditionallyboolc2falseproductUse CMove (scalar and vector) ignoring profitability test.share/opto/c2_globals.hpp
UseCRC32CIntrinsicsboolruntimefalseproductuse intrinsics for java.util.zip.CRC32Cshare/runtime/globals.hpp
UseCRC32Intrinsicsboolruntimefalseproductuse intrinsics for java.util.zip.CRC32share/runtime/globals.hpp
UseCRC32boolaarch64falseproductUse CRC32 instructions for CRC32 computationcpu/aarch64/globals_aarch64.hpp
UseCharacterCompareIntrinsicsboolc2falseproductEnables intrinsification of java.lang.Character functionsshare/opto/c2_globals.hpp
UseCodeAgingboolruntimetrueproductInsert counter to detect warm methodsshare/runtime/globals.hpp
UseCodeCacheFlushingboolruntimetrueproductRemove cold/old nmethods from the code cacheshare/runtime/globals.hpp
UseCompilerboolruntimetrueproductUse Just-In-Time compilationshare/runtime/globals.hpp
UseCompressedClassPointersboolruntimefalseproductUse 32-bit class pointers in 64-bit VM. lp64_product means flag is always constant in 32 bit VMshare/runtime/globals.hpp
UseCompressedOopsboolruntimefalseproductUse 32-bit object references in 64-bit VM. lp64_product means flag is always constant in 32 bit VMshare/runtime/globals.hpp
UseCondCardMarkboolgcfalseproductCheck for already marked card before updating card tableshare/gc/shared/gc_globals.hpp
UseContainerSupportboollinuxtrueproductEnable detection and runtime container configuration supportos/linux/globals_linux.hpp
UseCopySignIntrinsicboolruntimefalseproductEnables intrinsification of Math.copySignshare/runtime/globals.hpp
UseCountLeadingZerosInstructionboolx86falseproductUse count leading zeros instructioncpu/x86/globals_x86.hpp
UseCountLeadingZerosInstructionsPPC64boolppctrueproductUse count leading zeros instructions.cpu/ppc/globals_ppc.hpp
UseCountTrailingZerosInstructionboolx86falseproductUse count trailing zeros instructioncpu/x86/globals_x86.hpp
UseCountTrailingZerosInstructionsPPC64boolppcfalseproductUse count trailing zeros instructions.cpu/ppc/globals_ppc.hpp
UseCountedLoopSafepointsboolc2falseproductForce counted loops to keep a safepointshare/opto/c2_globals.hpp
UseCounterDecayboolruntimetrueproductAdjust recompilation countersshare/runtime/globals.hpp
UseCpuAllocPathboollinuxfalseproductUse CPU_ALLOC code path in os::active_processor_countos/linux/globals_linux.hpp
UseCriticalCompilerThreadPriorityboolruntimefalseproductCompiler thread(s) run at critical scheduling priorityshare/runtime/globals.hpp
UseCriticalJavaThreadPriorityboolruntimefalseproductJava thread priority 10 maps to critical scheduling priorityshare/runtime/globals.hpp
UseDebuggerErgo1boolruntimefalsenotproductDebugging Only: Enable workarounds for debugger induced os::processor_id() >= os::processor_count() problemsshare/runtime/globals.hpp
UseDebuggerErgo2boolruntimefalsenotproductDebugging Only: Limit the number of spawned JVM threadsshare/runtime/globals.hpp
UseDebuggerErgoboolruntimefalsenotproductDebugging Only: Adjust the VM to be more debugger-friendly. Turns on the other UseDebuggerErgo* flagsshare/runtime/globals.hpp
UseDivModboolc2trueproductUse combined DivMod instruction if availableshare/opto/c2_globals.hpp
UseDynamicNumberOfCompilerThreadsboolruntimetrueproductDynamically choose the number of parallel compiler threadsshare/runtime/globals.hpp
UseDynamicNumberOfGCThreadsboolgctrueproductDynamically choose the number of threads up to a maximum of ParallelGCThreads parallel collectors will use for garbage collection workshare/gc/shared/gc_globals.hpp
UseEmptySlotsInSupersboolruntimetrueproductAllow allocating fields in empty slots of super-classesshare/runtime/globals.hpp
UseEpsilonGCboolgcfalseproductUse the Epsilon (no-op) garbage collectorshare/gc/shared/gc_globals.hpp
UseExplicitCommitboolaixfalseproductExplicit commit for virtual memory.os/aix/globals_aix.hpp
UseExtendedLoadAndReserveInstructionsPPC64boolppcfalseproductUse extended versions of load-and-reserve instructions.cpu/ppc/globals_ppc.hpp
UseFMAboolruntimefalseproductControl whether FMA instructions are used when availableshare/runtime/globals.hpp
UseFPUForSpillingboolc2falseproductSpill integer registers to FPU instead of stack when possibleshare/opto/c2_globals.hpp
UseFastAccessorMethodsboolzerotrueproductUse fast method entry code for accessor methodscpu/zero/globals_zero.hpp
UseFastEmptyMethodsboolzerotrueproductUse fast method entry code for empty methodscpu/zero/globals_zero.hpp
UseFastJNIAccessorsboolruntimetrueproductUse optimized versions of Get<Primitive>Fieldshare/runtime/globals.hpp
UseFastLockingboolc1truedevelopUse fast inlined locking codeshare/c1/c1_globals.hpp
UseFastNewInstanceboolc1truedevelopUse fast inlined instance allocationshare/c1/c1_globals.hpp
UseFastNewObjectArrayboolc1truedevelopUse fast inlined object array allocationshare/c1/c1_globals.hpp
UseFastNewTypeArrayboolc1truedevelopUse fast inlined type array allocationshare/c1/c1_globals.hpp
UseFastSignatureHandlersboolruntimetruedevelopUse fast signature handlers for native callsshare/runtime/globals.hpp
UseFastStosbboolx86falseproductUse fast-string operation for zeroing: rep stosbcpu/x86/globals_x86.hpp
UseFastUnorderedTimeStampsboolruntimefalseproductUse platform unstable time where supported for timestamps onlyshare/runtime/globals.hpp
UseG1GCboolgcfalseproductUse the Garbage-First garbage collectorshare/gc/shared/gc_globals.hpp
UseGCOverheadLimitboolgctrueproductUse policy to limit of proportion of time spent in GC before an OutOfMemory error is thrownshare/gc/shared/gc_globals.hpp
UseGHASHIntrinsicsboolruntimefalseproductUse intrinsics for GHASH versions of cryptoshare/runtime/globals.hpp
UseGlobalValueNumberingboolc1truedevelopUse Global Value Numbering (separate phase)share/c1/c1_globals.hpp
UseHeavyMonitorsboolruntimefalseproductuse heavyweight instead of lightweight Java monitorsshare/runtime/globals.hpp
UseHugeTLBFSDeprecated in JDK
Obsoleted in JDK12
Expired in JDK13
boollinuxfalseproductUse MAP_HUGETLB for large pagesos/linux/globals_linux.hpp
UseIncDecboolx86trueproductUse INC, DEC instructions on x86cpu/x86/globals_x86.hpp
UseInlineCachesboolruntimetrueproductUse Inline Caches for virtual callsshare/runtime/globals.hpp
UseInlineDepthForSpeculativeTypesboolc2trueproductCarry inline depth of profile point with speculative type and give priority to profiling from lower inline depthshare/opto/c2_globals.hpp
UseInterpreterboolruntimetrueproductUse interpreter for non-compiled methodsshare/runtime/globals.hpp
UseJVMCICompilerbooljvmcifalseproductUse JVMCI as the default compiler. Defaults to true if EnableJVMCIProduct is true.share/jvmci/jvmci_globals.hpp
UseJVMCINativeLibrarybooljvmcifalseproductExecute JVMCI Java code from a shared library instead of loading it from class files and executing it on the HotSpot heap. Defaults to true if EnableJVMCIProduct is true and a JVMCI native library is available.share/jvmci/jvmci_globals.hpp
UseJumpTablesboolc2trueproductUse JumpTables instead of a binary search tree for switchesshare/opto/c2_globals.hpp
UseLSEboolaarch64falseproductUse LSE instructionscpu/aarch64/globals_aarch64.hpp
UseLargePagesIndividualAllocationboolaixfalsedefine_pd_globalos/aix/globals_aix.hpp
UseLargePagesIndividualAllocationboolbsdfalsedefine_pd_globalos/bsd/globals_bsd.hpp
UseLargePagesIndividualAllocationboollinuxfalsedefine_pd_globalos/linux/globals_linux.hpp
UseLargePagesIndividualAllocationboolruntimeproduct_pdAllocate large pages individually for better affinityshare/runtime/globals.hpp
UseLargePagesIndividualAllocationboolwindowstruedefine_pd_globalos/windows/globals_windows.hpp
UseLargePagesboolaixfalsedefine_pd_globalos/aix/globals_aix.hpp
UseLargePagesboolbsdfalsedefine_pd_globalos/bsd/globals_bsd.hpp
UseLargePagesboollinuxfalsedefine_pd_globalos/linux/globals_linux.hpp
UseLargePagesboolruntimeproduct_pdUse large page memoryshare/runtime/globals.hpp
UseLargePagesboolwindowsfalsedefine_pd_globalos/windows/globals_windows.hpp
UseLibmIntrinsicboolx86trueproductUse Libm Intrinsicscpu/x86/globals_x86.hpp
UseLinuxPosixThreadCPUClocksboollinuxtrueproductenable fast Linux Posix clocks where availableos/linux/globals_linux.hpp
UseLoadInstructionsForStackBangingPPC64boolppcfalseproductUse load instructions for stack banging.cpu/ppc/globals_ppc.hpp
UseLocalValueNumberingboolc1truedevelopUse Local Value Numbering (embedded in GraphBuilder)share/c1/c1_globals.hpp
UseLoopCounterboolruntimetrueproductIncrement invocation counter on backward branchshare/runtime/globals.hpp
UseLoopInvariantCodeMotionboolc1trueproductSimple loop invariant code motion for short loops during GVNshare/c1/c1_globals.hpp
UseLoopPredicateboolc2trueproductGenerate a predicate to select fast/slow loop versionsshare/opto/c2_globals.hpp
UseLoopSafepointsboolruntimetruedevelopGenerate Safepoint nodes in every loopshare/runtime/globals.hpp
UseMD5IntrinsicsboolruntimefalseproductUse intrinsics for MD5 crypto hash functionshare/runtime/globals.hpp
UseMallocOnlyboolruntimefalsedevelopUse only malloc/free for allocation (no resource area/arena)share/runtime/globals.hpp
UseMathExactIntrinsicsboolc2trueproductEnables intrinsification of various java.lang.Math functionsshare/opto/c2_globals.hpp
UseMaximumCompactionOnSystemGCboolgctrueproductUse maximum compaction in the Parallel Old garbage collector for a system GCshare/gc/parallel/parallel_globals.hpp
UseMontgomeryMultiplyIntrinsicboolc2falseproductEnables intrinsification of BigInteger.montgomeryMultiply()share/opto/c2_globals.hpp
UseMontgomerySquareIntrinsicboolc2falseproductEnables intrinsification of BigInteger.montgomerySquare()share/opto/c2_globals.hpp
UseMulAddIntrinsicboolc2falseproductEnables intrinsification of BigInteger.mulAdd()share/opto/c2_globals.hpp
UseMultiplyToLenIntrinsicboolc2falseproductEnables intrinsification of BigInteger.multiplyToLen()share/opto/c2_globals.hpp
UseNUMAInterleavingboolruntimefalseproductInterleave memory across NUMA nodes if availableshare/runtime/globals.hpp
UseNUMAboolruntimefalseproductUse NUMA if availableshare/runtime/globals.hpp
UseNeonboolaarch64falseproductUse Neon for CRC32 computationcpu/aarch64/globals_aarch64.hpp
UseNewCode2boolruntimefalseproductTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewCode3boolruntimefalseproductTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewCodeboolruntimefalseproductTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewLongLShiftboolx86falseproductUse optimized bitwise shift leftcpu/x86/globals_x86.hpp
UseNotificationThreadboolruntimetrueproductUse Notification Threadshare/runtime/globals.hpp
UseOSErrorReportingboolwindowsfalseproductLet VM fatal error propagate to the OS (ie. WER on Windows)os/windows/globals_windows.hpp
UseOnStackReplacementboolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
UseOnStackReplacementboolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
UseOnStackReplacementboolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals_pd.hpp
UseOnStackReplacementboolruntimeproduct_pdUse on stack replacement, calls runtime if invoc. counter overflows in loopshare/runtime/globals.hpp
UseOnStackReplacementboolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
UseOnStackReplacementbools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
UseOnStackReplacementboolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
UseOnlyInlinedBimorphicboolc2trueproductDon't use BimorphicInlining if can't inline a second methodshare/opto/c2_globals.hpp
UseOprofileDeprecated in JDK
Obsoleted in JDK16
Expired in JDK17
boollinuxfalseproductenable support for Oprofile profileros/linux/globals_linux.hpp
UseOptoBiasInliningDeprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolc2trueproduct(Deprecated) Generate biased locking code in C2 ideal graphshare/opto/c2_globals.hpp
UsePSAdaptiveSurvivorSizePolicyboolgctrueproductUse adaptive survivor sizing policiesshare/gc/shared/gc_globals.hpp
UseParallelGCboolgcfalseproductUse the Parallel garbage collector.share/gc/shared/gc_globals.hpp
UsePerfDataboolruntimetrueproductFlag to disable jvmstat instrumentation for performance testing and problem isolation purposesshare/runtime/globals.hpp
UsePopCountInstructionboolruntimefalseproductUse population count instructionshare/runtime/globals.hpp
UsePrivilegedStackboolruntimetruedevelopEnable the security JVM functionsshare/runtime/globals.hpp
UseProfiledLoopPredicateboolc2trueproductMove predicates out of loops based on profiling datashare/opto/c2_globals.hpp
UseRTMDeoptboolppcfalseproductPerform deopt and recompilation based on RTM abort ratiocpu/ppc/globals_ppc.hpp
UseRTMDeoptboolx86falseproductPerform deopt and recompilation based on RTM abort ratiocpu/x86/globals_x86.hpp
UseRTMForStackLocksboolppcfalseproductEnable RTM lock eliding for stack locks in compiled codecpu/ppc/globals_ppc.hpp
UseRTMForStackLocksboolx86falseproductEnable RTM lock eliding for stack locks in compiled codecpu/x86/globals_x86.hpp
UseRTMLockingboolppcfalseproductEnable RTM lock eliding for inflated locks in compiled codecpu/ppc/globals_ppc.hpp
UseRTMLockingboolx86falseproductEnable RTM lock eliding for inflated locks in compiled codecpu/x86/globals_x86.hpp
UseRTMXendForLockBusyboolppctrueproductUse RTM Xend instead of Xabort when lock busycpu/ppc/globals_ppc.hpp
UseRTMXendForLockBusyboolx86trueproductUse RTM Xend instead of Xabort when lock busycpu/x86/globals_x86.hpp
UseRotateAndMaskInstructionsPPC64boolppctrueproductUse rotate and mask instructions.cpu/ppc/globals_ppc.hpp
UseSHA1IntrinsicsboolruntimefalseproductUse intrinsics for SHA-1 crypto hash function. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHA256IntrinsicsboolruntimefalseproductUse intrinsics for SHA-224 and SHA-256 crypto hash functions. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHA3IntrinsicsboolruntimefalseproductUse intrinsics for SHA3 crypto hash function. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHA512IntrinsicsboolruntimefalseproductUse intrinsics for SHA-384 and SHA-512 crypto hash functions. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHAboolruntimefalseproductControl whether SHA instructions are used when availableshare/runtime/globals.hpp
UseSHMDeprecated in JDK
Obsoleted in JDK12
Expired in JDK13
boollinuxfalseproductUse SYSV shared memory for large pagesos/linux/globals_linux.hpp
UseSIGTRAPboolppctrueproductAllow trap instructions that make use of SIGTRAP. Use this to switch off all optimizations requiring SIGTRAP.cpu/ppc/globals_ppc.hpp
UseSIMDForArrayEqualsboolaarch64trueproductUse SIMD instructions in generated array equals codecpu/aarch64/globals_aarch64.hpp
UseSIMDForBigIntegerShiftIntrinsicsboolaarch64trueproductUse SIMD instructions for left/right shift of BigIntegercpu/aarch64/globals_aarch64.hpp
UseSIMDForMemoryOpsboolaarch64falseproductUse SIMD instructions in generated memory move codecpu/aarch64/globals_aarch64.hpp
UseSSE42Intrinsicsboolx86falseproductSSE4.2 versions of intrinsicscpu/x86/globals_x86.hpp
UseSSEDeprecated in JDK
Obsoleted in JDK15
Expired in JDK16
intxx8699
range(0, 99)
productHighest supported SSE instructions set on x86/x64cpu/x86/globals_x86.hpp
UseSVEuintaarch640
range(0, 2)
productHighest supported SVE instruction set versioncpu/aarch64/globals_aarch64.hpp
UseSerialGCboolgcfalseproductUse the Serial garbage collectorshare/gc/shared/gc_globals.hpp
UseSharedSpacesboolruntimetrueproductUse shared spaces for metadatashare/runtime/globals.hpp
UseShenandoahGCboolgcfalseproductUse the Shenandoah garbage collectorshare/gc/shared/gc_globals.hpp
UseSignalChainingboolruntimetrueproductUse signal-chaining to invoke signal handlers installed by the application (Unix only)share/runtime/globals.hpp
UseSignumIntrinsicboolruntimefalseproductEnables intrinsification of Math.signumshare/runtime/globals.hpp
UseSimpleArrayEqualsboolaarch64falseproductUse simpliest and shortest implementation for array equalscpu/aarch64/globals_aarch64.hpp
UseSlowPathboolc1falsedevelopFor debugging: test slow cases by always using themshare/c1/c1_globals.hpp
UseSquareToLenIntrinsicboolc2falseproductEnables intrinsification of BigInteger.squareToLen()share/opto/c2_globals.hpp
UseStaticBranchPredictionForUncommonPathsPPC64boolppcfalseproductUse static branch prediction hints for uncommon paths.cpu/ppc/globals_ppc.hpp
UseStaticBranchPredictionInCompareAndSwapPPC64boolppctrueproductUse static branch prediction hints in CAS operations.cpu/ppc/globals_ppc.hpp
UseStoreImmI16boolx86trueproductUse store immediate 16-bits value instruction on x86cpu/x86/globals_x86.hpp
UseStringDeduplicationboolruntimefalseproductUse string deduplicationshare/runtime/globals.hpp
UseSubwordForMaxVectorboolc2trueproductUse Subword Analysis to set maximum vector sizeshare/opto/c2_globals.hpp
UseSuperWordboolc2trueproductTransform scalar operations into superword operationsshare/opto/c2_globals.hpp
UseSwitchProfilingboolruntimetrueproductleverage profiling for table/lookup switchshare/runtime/globals.hpp
UseTLABboolgctrueproductUse thread-local object allocationshare/gc/shared/tlab_globals.hpp
UseTableRangesboolc1truedevelopFaster versions of lookup table using rangesshare/c1/c1_globals.hpp
UseThreadPrioritiesboolruntimeproduct_pdUse native thread prioritiesshare/runtime/globals.hpp
UseTransparentHugePagesboollinuxfalseproductUse MADV_HUGEPAGE for large pagesos/linux/globals_linux.hpp
UseTypeProfileboolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
UseTypeProfileboolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
UseTypeProfileboolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals_pd.hpp
UseTypeProfileboolruntimetrueproductCheck interpreter profile for historically monomorphic callsshare/runtime/globals.hpp
UseTypeProfileboolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
UseTypeProfilebools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
UseTypeProfileboolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
UseTypeSpeculationboolc2trueproductSpeculatively propagate types from profilesshare/opto/c2_globals.hpp
UseUnalignedAccessesboolruntimefalseproductUse unaligned memory accesses in Unsafeshare/runtime/globals.hpp
UseUnalignedLoadStoresboolx86falseproductUse SSE2 MOVDQU instruction for Arraycopycpu/x86/globals_x86.hpp
UseUniqueSubclassesboolc2truedevelopNarrow an abstract reference to the unique concrete subclassshare/opto/c2_globals.hpp
UseVectorByteReverseInstructionsPPC64boolppcfalseproductUse Power9 xxbr* vector byte reverse instructions.cpu/ppc/globals_ppc.hpp
UseVectorCmovboolc2falseproductUse Vectorized Cmovshare/opto/c2_globals.hpp
UseVectorMacroLogicboolc2trueproductUse ternary macro logic instructionsshare/opto/c2_globals.hpp
UseVectorizedMismatchIntrinsicboolruntimefalseproductEnables intrinsification of ArraysSupport.vectorizedMismatch()share/runtime/globals.hpp
UseXMMForArrayCopyboolruntimefalseproductUse SSE2 MOVQ instruction for Arraycopyshare/runtime/globals.hpp
UseXMMForObjInitboolx86falseproductUse XMM/YMM MOVDQU instruction for Object Initializationcpu/x86/globals_x86.hpp
UseXmmI2Dboolx86falseproductUse SSE2 CVTDQ2PD instruction to convert Integer to Doublecpu/x86/globals_x86.hpp
UseXmmI2Fboolx86falseproductUse SSE2 CVTDQ2PS instruction to convert Integer to Floatcpu/x86/globals_x86.hpp
UseXmmLoadAndClearUpperboolx86trueproductLoad low part of XMM register and clear upper partcpu/x86/globals_x86.hpp
UseXmmRegToRegMoveAllboolx86falseproductCopy all XMM register bits when moving value between registerscpu/x86/globals_x86.hpp
UseZGCboolgcfalseproductUse the Z garbage collectorshare/gc/shared/gc_globals.hpp
VMThreadPriorityintxruntime-1
range(-1, 127)
productThe native priority at which the VM thread should run (-1 means no change)share/runtime/globals.hpp
VMThreadStackSizeintxaixppc2048define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
VMThreadStackSizeintxbsdaarch642048define_pd_globalos_cpu/bsd_aarch64/globals_bsd_aarch64.hpp
VMThreadStackSizeintxbsdx86512define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
VMThreadStackSizeintxbsdzero512define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
VMThreadStackSizeintxlinuxaarch642048define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
VMThreadStackSizeintxlinuxarm512define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
VMThreadStackSizeintxlinuxppc2048define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
VMThreadStackSizeintxlinuxs3901024define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
VMThreadStackSizeintxlinuxx86512define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
VMThreadStackSizeintxlinuxzero512define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
VMThreadStackSizeintxruntimeproduct_pdNon-Java Thread Stack Size (in Kbytes)share/runtime/globals.hpp
VMThreadStackSizeintxwindowsaarch640define_pd_globalos_cpu/windows_aarch64/globals_windows_aarch64.hpp
VMThreadStackSizeintxwindowsx860define_pd_global// 0 => use system defaultos_cpu/windows_x86/globals_windows_x86.hpp
ValueMapInitialSizeintxc111
range(1, NOT_LP64(1*K) LP64_ONLY(32*K))
productInitial size of a value mapshare/c1/c1_globals.hpp
ValueMapMaxLoopSizeintxc18
range(0, 128)
productmaximum size of a loop optimized by global value numberingshare/c1/c1_globals.hpp
ValueSearchLimitintxc21000
range(0, max_jint)
productRecursion limit in PhaseMacroExpand::value_from_mem_phishare/opto/c2_globals.hpp
VerboseboolruntimefalsedevelopPrint additional debugging information from other modesshare/runtime/globals.hpp
VerifyActivationFrameSizeboolruntimefalsedevelopVerify that activation frame didn't become smaller than its minimal sizeshare/runtime/globals.hpp
VerifyAdapterCallsboolruntimetrueInDebugproductVerify that i2c/c2i adapters are called properlyshare/runtime/globals.hpp
VerifyAdapterSharingboolruntimefalsedevelopVerify that the code for shared adapters is the equivalentshare/runtime/globals.hpp
VerifyAfterGCboolgcfalseproductVerify memory system after GCshare/gc/shared/gc_globals.hpp
VerifyAliasesboolc2falsedevelopperform extra checks on the results of alias analysisshare/opto/c2_globals.hpp
VerifyArchivedFieldsboolgctrueInDebugproductVerify memory when archived oop fields are loaded from CDS)share/gc/shared/gc_globals.hpp
VerifyBeforeExitboolgctrueInDebugproductVerify system before exitingshare/gc/shared/gc_globals.hpp
VerifyBeforeGCboolgcfalseproductVerify memory system before GCshare/gc/shared/gc_globals.hpp
VerifyBeforeIterationboolruntimefalseproductVerify memory system before JVMTI iterationshare/runtime/globals.hpp
VerifyCodeCacheboolruntimefalsenotproductVerify code cache on memory allocation/deallocationshare/runtime/globals.hpp
VerifyConnectionGraphboolc2truenotproductVerify Connection Graph construction in Escape Analysisshare/opto/c2_globals.hpp
VerifyCrossModifyFenceboolruntimefalse AARCH64_ONLY(DEBUG_ONLY(||true))developMark all threads after a safepoint, and clear on a modify fence. Add cleanliness checks.share/runtime/globals.hpp
VerifyDUIteratorsboolc2truenotproductVerify the safety of all iterations of Bi-directional Edgesshare/opto/c2_globals.hpp
VerifyDataPointerboolruntimetrueInDebugdevelopVerify the method data pointer during interpreter profilingshare/runtime/globals.hpp
VerifyDependenciesboolruntimetrueInDebugdevelopExercise and verify the compilation dependency mechanismshare/runtime/globals.hpp
VerifyDuringGCboolgcfalseproductVerify memory system during GC (between phases)share/gc/shared/gc_globals.hpp
VerifyDuringStartupboolgcfalseproductVerify memory system before executing any Java code during VM initializationshare/gc/shared/gc_globals.hpp
VerifyFPUboolruntimefalsedevelopVerify FPU state (check for NaN's, etc.)share/runtime/globals.hpp
VerifyGCLevelintxgc0
range(0, 1)
productGeneration level at which to start +VerifyBefore/AfterGCshare/gc/shared/gc_globals.hpp
VerifyGCStartAtuintxgc0
range(0, max_uintx)
productGC invoke count where +VerifyBefore/AfterGC kicks inshare/gc/shared/gc_globals.hpp
VerifyGCTypeccstrlistgcDIAGNOSTICproductGC type(s) to verify when Verify*GC is enabled.Available types are collector specific.share/gc/shared/gc_globals.hpp
VerifyGraphEdgesboolc2falsenotproductVerify Bi-directional Edgesshare/opto/c2_globals.hpp
VerifyHashTableKeysboolc2truenotproductVerify the immutability of keys in the VN hash tablesshare/opto/c2_globals.hpp
VerifyIdealNodeCountboolc2falsenotproductVerify that tracked dead ideal node count is accurateshare/opto/c2_globals.hpp
VerifyIterativeGVNboolc2falsedevelopVerify Def-Use modifications during sparse Iterative Global Value Numberingshare/opto/c2_globals.hpp
VerifyJNIEnvThreadboolruntimefalsenotproductVerify JNIEnv.thread == Thread::current() when entering VM from JNIshare/runtime/globals.hpp
VerifyJNIFieldsboolruntimetrueInDebugdevelopVerify jfieldIDs for instance fieldsshare/runtime/globals.hpp
VerifyLastFrameboolruntimefalsenotproductVerify oops on last frame on entry to VMshare/runtime/globals.hpp
VerifyLoopOptimizationsboolc2falsenotproductverify major loop optimizationsshare/opto/c2_globals.hpp
VerifyMetaspaceIntervalintruntimeDEBUG_ONLY(500) NOT_DEBUG(0)developRun periodic metaspace verifications (0 - none,
1 - always, >1 every nth interval)
share/runtime/globals.hpp
VerifyMethodHandlesboolruntimetrueInDebugproductperform extra checks when constructing method handlesshare/runtime/globals.hpp
VerifyObjectStartArrayboolgctrueproductVerify GC object start array if verify before/aftershare/gc/shared/gc_globals.hpp
VerifyOopsboolruntimefalsedevelopDo plausibility checks for oopsshare/runtime/globals.hpp
VerifyRegisterAllocatorboolc2falsenotproductVerify Register Allocatorshare/opto/c2_globals.hpp
VerifyRememberedSetsboolgcfalseproductVerify GC remembered setsshare/gc/shared/gc_globals.hpp
VerifySharedSpacesboolruntimefalseproductVerify integrity of shared spacesshare/runtime/globals.hpp
VerifyStackAtCallsboolruntimefalsedevelopVerify that the stack pointer is unchanged after callsshare/runtime/globals.hpp
VerifyStackboolruntimefalsedevelopVerify stack of each thread when it is entering a runtime callshare/runtime/globals.hpp
VerifyStringTableAtExitboolruntimefalseproductverify StringTable contents at exitshare/runtime/globals.hpp
VerifySubSetccstrlistgcDIAGNOSTICproductMemory 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_oopsshare/gc/shared/gc_globals.hpp
VerifyThreadboolruntimefalsedevelopWatch the thread register for corruption (SPARC only)share/runtime/globals.hpp
VitalsFileccstrruntimeNULLproductWhen DumpVitalsAtExit is set, the file name prefix for the output files (default is sapmachine_vitals_<pid>).share/runtime/globals.hpp
VitalsLockFreeSamplingboolruntimefalseproductWhen sampling vitals, omit any actions which require locking.share/runtime/globals.hpp
VitalsSampleIntervaluintxruntime0productVitals sample rate interval (0=use default sample rate)share/runtime/globals.hpp
WalkStackALotboolruntimefalsenotproductTrace stack (no print) at every exit from the runtime systemshare/runtime/globals.hpp
WarmCallMaxSizeintxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developsize of the largest inlinable methodshare/opto/c2_globals.hpp
WarmCallMaxWorkintxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developexecution time of the largest inlinable methodshare/opto/c2_globals.hpp
WarmCallMinCountintxc2-1
range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developnumber of calls (per method invocation) to enable inliningshare/opto/c2_globals.hpp
WarmCallMinProfitintxc2-1
range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developnumber of calls (per method invocation) to enable inliningshare/opto/c2_globals.hpp
WhiteBoxAPIboolruntimefalseproductEnable internal testing APIsshare/runtime/globals.hpp
WizardModeboolruntimefalsedevelopPrint much more debugging informationshare/runtime/globals.hpp
WorkStealingHardSpinsuintxgc4096productNumber of iterations in a spin loop between checks on time out of hard spinshare/gc/shared/gc_globals.hpp
WorkStealingSleepMillisuintxgc1productSleep time when sleep is used for yieldsshare/gc/shared/gc_globals.hpp
WorkStealingSpinToYieldRatiouintxgc10productRatio of hard spins to calls to yieldshare/gc/shared/gc_globals.hpp
WorkStealingYieldsBeforeSleepuintxgc5000productNumber of yields before a sleep is done during work stealingshare/gc/shared/gc_globals.hpp
YoungGenerationSizeIncrementuintxgc20
range(0, 100)
productAdaptive size percentage change in young generationshare/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementDecayuintxgc8
range(1, max_uintx)
productDecay factor to YoungedGenerationSizeSupplementshare/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementuintxgc80
range(0, 100)
productSupplement to YoungedGenerationSizeIncrement used at startupshare/gc/shared/gc_globals.hpp
YoungPLABSizesize_tgc4096productSize of young gen promotion LAB's (in HeapWords)share/gc/shared/tlab_globals.hpp
ZAllocationSpikeTolerancedoublegc2.0productAllocation spike tolerance factorshare/gc/z/z_globals.hpp
ZCollectionIntervaldoublegc0productForce GC at a fixed time interval (in seconds)share/gc/z/z_globals.hpp
ZFragmentationLimitdoublegc25.0productMaximum allowed heap fragmentationshare/gc/z/z_globals.hpp
ZMarkStackSpaceLimitsize_tgc8*G
range(32*M, 1024*G)
productMaximum number of bytes allocated for mark stacksshare/gc/z/z_globals.hpp
ZProactiveboolgctrueproductEnable proactive GC cyclesshare/gc/z/z_globals.hpp
ZStatisticsIntervaluintgc10
range(1, (uint)-1)
productTime between statistics print outs (in seconds)share/gc/z/z_globals.hpp
ZStressRelocateInPlaceboolgcfalseproductAlways relocate pages in-placeshare/gc/z/z_globals.hpp
ZUncommitDelayuintxgc5 * 60productUncommit memory if it has been unused for the specified amount of time (in seconds)share/gc/z/z_globals.hpp
ZUncommitboolgctrueproductUncommit unused memoryshare/gc/z/z_globals.hpp
ZVerifyForwardingboolgcfalseproductVerify forwarding tablesshare/gc/z/z_globals.hpp
ZVerifyMarkingboolgctrueInDebugproductVerify marking stacksshare/gc/z/z_globals.hpp
ZVerifyObjectsboolgcfalseproductVerify objectsshare/gc/z/z_globals.hpp
ZVerifyRootsboolgctrueInDebugproductVerify rootsshare/gc/z/z_globals.hpp
ZVerifyViewsboolgcfalseproductVerify heap view accessesshare/gc/z/z_globals.hpp
ZapEmptyStackFieldsbools390falsedevelopWrite 0x0101... to empty stack fields. Use this to ease stack debugging.cpu/s390/globals_s390.hpp
ZapFillerObjectsboolruntimetrueInDebugdevelopZap filler objects with 0xDEAFBABEshare/runtime/globals.hpp
ZapMemoryboolppcfalsedevelopWrite 0x0101... to empty memory. Use this to ease debugging.cpu/ppc/globals_ppc.hpp
ZapResourceAreaboolruntimetrueInDebugdevelopZap freed resource/arena space with 0xABABABABshare/runtime/globals.hpp
ZapStackSegmentsboolruntimetrueInDebugnotproductZap allocated/freed stack segments with 0xFADFADEDshare/runtime/globals.hpp
ZapUnusedHeapAreaboolruntimetrueInDebugdevelopZap unused heap space with 0xBAADBABEshare/runtime/globals.hpp
ZapVMHandleAreaboolruntimetrueInDebugnotproductZap freed VM handle space with 0xBCBCBCBCshare/runtime/globals.hpp
ZeroTLABboolgcfalseproductZero out the newly created TLABshare/gc/shared/tlab_globals.hpp
ZombieALotIntervalintxruntime5notproductNumber of exits until ZombieALot kicks inshare/runtime/globals.hpp
ZombieALotboolruntimefalsenotproductCreate zombies (non-entrant) at exit from the runtime systemshare/runtime/globals.hpp
batchdisable background compilationlauncher.properties
bootclasspath/a<directories and zip/jar files separated by :> append to end of bootstrap class pathlauncher.properties
check:jniperform additional checks for JNI functionslauncher.properties
compforces compilation of methods on first invocationlauncher.properties
debugdoes nothing. Provided for backward compatibility.launcher.properties
diagshow additional diagnostic messageslauncher.properties
futureenable strictest checks, anticipating future default. This option is deprecated and may be removed in a future release.launcher.properties
hashCodeintxruntime5product(Unstable) select hashCode generation algorithmshare/runtime/globals.hpp
intinterpreted mode execution onlylauncher.properties
internalversion displays more detailed JVM version information than the -version optionlauncher.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:<file>.launcher.properties
mixedmixed 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 sizelauncher.properties
mx<size>set maximum Java heap sizelauncher.properties
noclassgcdisable class garbage collectionlauncher.properties
rsreduce use of OS signals by Java/VM (see documentation)launcher.properties
share:autouse shared class data if possible (default)launcher.properties
share:offdo not attempt to use shared class datalauncher.properties
share:onrequire 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 continuelauncher.properties
showSettings:locale show all locale related settings and continuelauncher.properties
showSettings:properties show all property settings and continuelauncher.properties
showSettings:system (Linux Only) show host system or container configuration and continuelauncher.properties
showSettings:vm show all vm related settings and continuelauncher.properties
showSettingsshow all settings and continuelauncher.properties
ss<size>set java thread stack sizelauncher.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