VM Options Explorer - OpenJDK15 HotSpot

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
AOTLibraryOpenJDK10ccstrlistruntimeNULLexperimentalAOT libraryshare/runtime/globals.hpp
AVX3ThresholdOpenJDK11intx864096
range(0, max_jint)
diagnosticMinimum 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
AbortVMOnCompilationFailureOpenJDK11boolruntimefalsediagnosticAbort VM when method had failed to compile.share/runtime/globals.hpp
AbortVMOnExceptionMessageOpenJDK10ccstrruntimeNULLdiagnosticCall fatal if the exception pointed by AbortVMOnException has this messageshare/runtime/globals.hpp
AbortVMOnExceptionOpenJDK10ccstrruntimeNULLdiagnosticCall fatal if this exception is thrown. Example: java -XX:AbortVMOnException=java.lang.NullPointerException Fooshare/runtime/globals.hpp
AbortVMOnSafepointTimeoutOpenJDK11boolruntimefalsediagnosticAbort upon failure to reach safepoint (see SafepointTimeout)share/runtime/globals.hpp
AbortVMOnVMOperationTimeoutDelayOpenJDK11intxruntime1000
range(0, max_intx)
diagnosticDelay in milliseconds for option AbortVMOnVMOperationTimeoutshare/runtime/globals.hpp
AbortVMOnVMOperationTimeoutOpenJDK11boolruntimefalsediagnosticAbort upon failure to complete VM operation promptlyshare/runtime/globals.hpp
ActiveProcessorCountOpenJDK10intgc-1productSpecify the CPU count the VM should use and report as activeshare/gc/shared/gc_globals.hpp
AdaptiveSizeDecrementScaleFactorOpenJDK10uintxgc4
range(1, max_uintx)
productAdaptive size scale down factor for shrinkingshare/gc/shared/gc_globals.hpp
AdaptiveSizeMajorGCDecayTimeScaleOpenJDK10uintxgc10
range(0, max_uintx)
productTime scale over which major costs decayshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyCollectionCostMarginOpenJDK10uintxgc50
range(0, 100)
productIf collection costs are within margin, reduce both by full deltashare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyInitializingStepsOpenJDK10uintxgc20
range(0, max_uintx)
productNumber of steps where heuristics is used before data is usedshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyOutputIntervalOpenJDK10uintxgc0
range(0, max_uintx)
productCollection interval for printing information; zero means nevershare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyReadyThresholdOpenJDK10uintxgc5developNumber of collections before the adaptive sizing is startedshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyWeightOpenJDK10uintxgc10
range(0, 100)
productWeight given to exponential resizing, between 0 and 100share/gc/shared/gc_globals.hpp
AdaptiveSizeThroughPutPolicyOpenJDK10uintxgc0
range(0, 1)
productPolicy for changing generation size for throughput goalsshare/gc/shared/gc_globals.hpp
AdaptiveTimeWeightOpenJDK10uintxgc25
range(0, 100)
productWeight given to time in adaptive policy, between 0 and 100share/gc/shared/gc_globals.hpp
AdjustStackSizeForTLSOpenJDK14boollinuxfalseproductIncrease the thread stack size to include space for glibc static thread-local storage (TLS) if trueos/linux/globals_linux.hpp
AggressiveHeapOpenJDK10boolgcfalseproductOptimize heap options for long-running memory intensive appsshare/gc/shared/gc_globals.hpp
AggressiveUnboxingOpenJDK10boolc2truediagnosticControl optimizations for aggressive boxing eliminationshare/opto/c2_globals.hpp
AliasLevelOpenJDK10intxc23
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
AlignVectorOpenJDK10boolc2trueproductPerform vector store/load alignment in loopshare/opto/c2_globals.hpp
AllocateHeapAtOpenJDK10ccstrruntimeNULLproductPath to the directoy where a temporary file will be created to use as the backing store for Java Heap.share/runtime/globals.hpp
AllocateInstancePrefetchLinesOpenJDK10intxruntime1
range(1, 64)
productNumber of lines to prefetch ahead of instance allocation pointershare/runtime/globals.hpp
AllocateOldGenAtOpenJDK12ccstrruntimeNULLexperimentalPath to the directoy where a temporary file will be created to use as the backing store for old generation.File of size Xmx is pre-allocated for performance reason, sowe need that much space availableshare/runtime/globals.hpp
AllocatePrefetchDistanceOpenJDK10intxruntime-1productDistance to prefetch ahead of allocation pointer. -1: use system-specific value (automatically determinedshare/runtime/globals.hpp
AllocatePrefetchInstrOpenJDK10intxruntime0productSelect instruction to prefetch ahead of allocation pointershare/runtime/globals.hpp
AllocatePrefetchLinesOpenJDK10intxruntime3
range(1, 64)
productNumber of lines to prefetch ahead of array allocation pointershare/runtime/globals.hpp
AllocatePrefetchStepSizeOpenJDK10intxruntime16
range(1, 512)
productStep size in bytes of sequential prefetch instructionsshare/runtime/globals.hpp
AllocatePrefetchStyleOpenJDK10intxruntime1
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
AllowArchivingWithJavaAgentOpenJDK12boolruntimefalsediagnosticAllow Java agent to be run with CDS dumpingshare/runtime/globals.hpp
AllowExtshmOpenJDK10boolaixfalseproductAllow VM to run with EXTSHM=ON.os/aix/globals_aix.hpp
AllowParallelDefineClassOpenJDK10boolruntimefalseproductAllow parallel defineClass requests for class loaders registering as parallel capableshare/runtime/globals.hpp
AllowRedefinitionToAddDeleteMethodsOpenJDK13Deprecated in JDK13boolruntimefalseproduct(Deprecated) Allow redefinition to add and delete private static or final methods for compatibility with old releasesshare/runtime/globals.hpp
AllowUserSignalHandlersOpenJDK10boolruntimefalseproductDo not complain if the application installs signal handlers (Unix only)share/runtime/globals.hpp
AllowVectorizeOnDemandOpenJDK10boolc2trueproductGlobally supress vectorization set in VectorizeMethodshare/opto/c2_globals.hpp
AlwaysActAsServerClassMachineOpenJDK10boolgcfalseproductAlways act like a server-class machineshare/gc/shared/gc_globals.hpp
AlwaysAtomicAccessesOpenJDK10boolruntimefalseexperimentalAccesses to all variables should always be atomicshare/runtime/globals.hpp
AlwaysCompileLoopMethodsOpenJDK10boolruntimefalseproductWhen using recompilation, never interpret methods containing loopsshare/runtime/globals.hpp
AlwaysIncrementalInlineOpenJDK10boolc2falsedevelopdo all inlining incrementallyshare/opto/c2_globals.hpp
AlwaysLockClassLoaderOpenJDK10boolruntimefalseproductRequire the VM to acquire the class loader lock before calling loadClass() even for class loaders registering as parallel capableshare/runtime/globals.hpp
AlwaysPreTouchOpenJDK10boolgcfalseproductForce all freshly committed pages to be pre-touchedshare/gc/shared/gc_globals.hpp
AlwaysRestoreFPUOpenJDK10boolruntimefalseproductRestore the FPU control word after every JNI call (expensive)share/runtime/globals.hpp
AlwaysSafeConstructorsOpenJDK10boolruntimefalseexperimentalForce safe construction, as if all fields are final.share/runtime/globals.hpp
AlwaysTenureOpenJDK10boolgcfalseproductAlways tenure objects in eden (ParallelGC only)share/gc/shared/gc_globals.hpp
ArchiveClassesAtExitOpenJDK13ccstrruntimeNULLproductThe path and name of the dynamic archive fileshare/runtime/globals.hpp
ArchiveRelocationModeOpenJDK14intxruntime0
range(0, 2)
diagnostic(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
ArrayAllocatorMallocLimitOpenJDK10size_truntime(size_t)-1experimentalAllocation less than this value will be allocated using malloc. Larger allocations will use mmap.share/runtime/globals.hpp
ArrayCopyLoadStoreMaxElemOpenJDK10intxc28
range(0, max_intx)
productMaximum number of arraycopy elements inlined as a sequence ofloads/storesshare/opto/c2_globals.hpp
AssertOnSuspendWaitFailureOpenJDK10boolruntimefalseproductAssert/Guarantee on external suspend wait failureshare/runtime/globals.hpp
AssertRangeCheckEliminationOpenJDK10boolc1falsedevelopAssert Range Check Eliminationshare/c1/c1_globals.hpp
AsyncDeflateIdleMonitorsOpenJDK15boolruntimetruediagnosticDeflate idle monitors using the ServiceThread.share/runtime/globals.hpp
AsyncDeflationIntervalOpenJDK15intxruntime250
range(0, max_jint)
diagnosticAsync deflate idle monitors every so many milliseconds when MonitorUsedDeflationThreshold is exceeded (0 is off).share/runtime/globals.hpp
AutoBoxCacheMaxOpenJDK10intxc2128
range(0, max_jint)
productSets max value cached by the java.lang.Integer autobox cacheshare/opto/c2_globals.hpp
AvoidUnalignedAccessesOpenJDK10boolaarch64falseproductAvoid generating unaligned memory accessescpu/aarch64/globals_aarch64.hpp
BCEATraceLevelOpenJDK10intxruntime0
range(0, 3)
productHow much tracing to do of bytecode escape analysis estimates (0-3)share/runtime/globals.hpp
BackgroundCompilationOpenJDK10boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
BackgroundCompilationOpenJDK10boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
BackgroundCompilationOpenJDK10boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
BackgroundCompilationOpenJDK10boolruntimeproduct_pdA thread requesting compilation is not blocked during compilationshare/runtime/globals.hpp
BackgroundCompilationOpenJDK10boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
BackgroundCompilationOpenJDK10bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
BackgroundCompilationOpenJDK10boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
BailoutAfterHIROpenJDK10boolc1falsedevelopbailout of compilation after building of HIRshare/c1/c1_globals.hpp
BailoutAfterLIROpenJDK10boolc1falsedevelopbailout of compilation after building of LIRshare/c1/c1_globals.hpp
BailoutOnExceptionHandlersOpenJDK10boolc1falsedevelopbailout of compilation for methods with exception handlersshare/c1/c1_globals.hpp
BailoutToInterpreterForThrowsOpenJDK10boolc2falsedevelopCompiled methods which throws/catches exceptions will be deopt and intp.share/opto/c2_globals.hpp
BaseFootPrintEstimateOpenJDK10size_tgc256*M
range(0, max_uintx)
productEstimate of footprint other than Java Heapshare/gc/shared/gc_globals.hpp
BciProfileWidthOpenJDK10intxruntime2developNumber of return bci's to record in ret profileshare/runtime/globals.hpp
BiasedLockingBulkRebiasThresholdOpenJDK10Deprecated 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
BiasedLockingBulkRevokeThresholdOpenJDK10Deprecated 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
BiasedLockingDecayTimeOpenJDK10Deprecated 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
BiasedLockingStartupDelayOpenJDK10Deprecated 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
BinarySwitchThresholdOpenJDK10intxruntime5developMinimal number of lookupswitch entries for rewriting to binary switchshare/runtime/globals.hpp
BlockLayoutByFrequencyOpenJDK10boolc2trueproductUse edge frequencies to drive block orderingshare/opto/c2_globals.hpp
BlockLayoutMinDiamondPercentageOpenJDK10intxc220
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
BlockLayoutRotateLoopsOpenJDK10boolc2trueproductAllow back branches to be fall throughs in the block layoutshare/opto/c2_globals.hpp
BlockZeroingLowLimitOpenJDK10intxaarch64256
range(1, max_jint)
productMinimum size in bytes when block zeroing will be usedcpu/aarch64/globals_aarch64.hpp
BootstrapJVMCIOpenJDK10booljvmcifalseexperimentalBootstrap 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
BreakAtNodeOpenJDK10intxc20notproductBreak at construction of this Node (either _idx or _debug_idx)share/opto/c2_globals.hpp
BreakAtWarningOpenJDK10boolruntimefalsedevelopExecute breakpoint upon encountering VM warningshare/runtime/globals.hpp
BytecodeVerificationLocalOpenJDK10boolruntimefalsediagnosticEnable the Java bytecode verifier for local classesshare/runtime/globals.hpp
BytecodeVerificationRemoteOpenJDK10boolruntimetruediagnosticEnable the Java bytecode verifier for remote classesshare/runtime/globals.hpp
C1BreakpointOpenJDK10boolc1falsedevelopSets a breakpoint at entry of each compiled methodshare/c1/c1_globals.hpp
C1InlineStackLimitOpenJDK15intxc110
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
C1MaxInlineLevelOpenJDK15intxc19
range(0, max_jint)
productThe maximum number of nested calls that are inlined by C1share/c1/c1_globals.hpp
C1MaxInlineSizeOpenJDK15intxc135
range(0, max_jint)
productThe maximum bytecode size of a method to be inlined by C1share/c1/c1_globals.hpp
C1MaxRecursiveInlineLevelOpenJDK15intxc11
range(0, max_jint)
productmaximum number of nested recursive calls that are inlined by C1share/c1/c1_globals.hpp
C1MaxTrivialSizeOpenJDK15intxc16
range(0, max_jint)
productThe maximum bytecode size of a trivial method to be inlined by C1share/c1/c1_globals.hpp
C1OptimizeVirtualCallProfilingOpenJDK10boolc1trueproductUse CHA and exact type results at call sites when updating MDOsshare/c1/c1_globals.hpp
C1ProfileBranchesOpenJDK10boolc1trueproductProfile branches when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileCallsOpenJDK10boolc1trueproductProfile calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileCheckcastsOpenJDK10boolc1trueproductProfile checkcasts when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileInlinedCallsOpenJDK10boolc1trueproductProfile inlined calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileVirtualCallsOpenJDK10boolc1trueproductProfile virtual calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1UpdateMethodDataOpenJDK10boolc1trueInTieredproductUpdate MethodData*s in Tier1-generated codeshare/c1/c1_globals.hpp
CIBreakAtOSROpenJDK10intxruntime-1developThe id of osr compilation to break atshare/runtime/globals.hpp
CIBreakAtOpenJDK10intxruntime-1developThe id of compilation to break atshare/runtime/globals.hpp
CICompileNativesOpenJDK10boolruntimetruedevelopcompile native methods if supported by the compilershare/runtime/globals.hpp
CICompileOSROpenJDK10boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CICompileOSROpenJDK10boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
CICompileOSROpenJDK10boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
CICompileOSROpenJDK10boolruntimedevelop_pdcompile on stack replacement methods if supported by the compilershare/runtime/globals.hpp
CICompileOSROpenJDK10boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CICompileOSROpenJDK10bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
CICompileOSROpenJDK10boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
CICompilerCountPerCPUOpenJDK10boolruntimefalseproduct1 compiler thread for log(N CPUs)share/runtime/globals.hpp
CICompilerCountOpenJDK10intxruntimeCI_COMPILER_COUNT
range(0, max_jint)
productNumber of compiler threads to runshare/runtime/globals.hpp
CICountOSROpenJDK10boolruntimefalsedevelopuse a separate counter when assigning ids to osr compilationsshare/runtime/globals.hpp
CICrashAtOpenJDK10intxruntime-1notproductid of compilation to trigger assert in compiler thread for the purpose of testing, e.g. generation of replay datashare/runtime/globals.hpp
CIObjectFactoryVerifyOpenJDK10boolruntimefalsenotproductenable potentially expensive verification in ciObjectFactoryshare/runtime/globals.hpp
CIPrintCompileQueueOpenJDK10boolruntimefalsediagnosticdisplay the contents of the compile queue whenever a compilation is enqueuedshare/runtime/globals.hpp
CIPrintCompilerNameOpenJDK10boolruntimefalsedevelopwhen CIPrint is active, print the name of the active compilershare/runtime/globals.hpp
CIPrintMethodCodesOpenJDK10boolruntimefalsedevelopprint method bytecodes of the compiled codeshare/runtime/globals.hpp
CIPrintRequestsOpenJDK10boolruntimefalsedevelopdisplay every request for compilationshare/runtime/globals.hpp
CIPrintTypeFlowOpenJDK10boolruntimefalsedevelopprint the results of ciTypeFlow analysisshare/runtime/globals.hpp
CIStartOSROpenJDK10intxruntime0developThe id of the first osr compilation to permit (CICountOSR must be on)share/runtime/globals.hpp
CIStartOpenJDK10intxruntime0developThe id of the first compilation to permitshare/runtime/globals.hpp
CIStopOSROpenJDK10intxruntimemax_jintdevelopThe id of the last osr compilation to permit (CICountOSR must be on)share/runtime/globals.hpp
CIStopOpenJDK10intxruntimemax_jintdevelopThe id of the last compilation to permitshare/runtime/globals.hpp
CITimeEachOpenJDK10boolruntimefalsedevelopdisplay timing information after each successful compilationshare/runtime/globals.hpp
CITimeVerboseOpenJDK10boolruntimefalsedevelopbe more verbose in compilation timingsshare/runtime/globals.hpp
CITimeOpenJDK10boolruntimefalseproductcollect timing information for compilationshare/runtime/globals.hpp
CITraceTypeFlowOpenJDK10boolruntimefalsedevelopdetailed per-bytecode tracing of ciTypeFlow analysisshare/runtime/globals.hpp
CSEArrayLengthOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CSEArrayLengthOpenJDK10boolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
CSEArrayLengthOpenJDK10boolc1develop_pdCreate separate nodes for length in array accessesshare/c1/c1_globals.hpp
CSEArrayLengthOpenJDK10boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CSEArrayLengthOpenJDK10bools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
CSEArrayLengthOpenJDK10boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
CalculateClassFingerprintOpenJDK10boolruntimefalseproductCalculate class fingerprintshare/runtime/globals.hpp
CanonicalizeNodesOpenJDK10boolc1truedevelopCanonicalize graph nodesshare/c1/c1_globals.hpp
CheckCompressedOopsOpenJDK10boolruntimetruenotproductGenerate checks in encoding/decoding code in debug VMshare/runtime/globals.hpp
CheckIntrinsicsOpenJDK10boolruntimetruediagnosticWhen a class C is loaded, check that (1) all intrinsics defined by the VM for class C are present in the loaded class file and are marked with the @HotSpotIntrinsicCandidate annotation, that (2) there is an intrinsic registered for all loaded methods that are annotated with the @HotSpotIntrinsicCandidate annotation, and that (3) no orphan methods exist for class C (i.e., methods for which the VM declares an intrinsic but that are not declared in the loaded class C. Check (3) is available only in debug builds.share/runtime/globals.hpp
CheckJNICallsOpenJDK10boolruntimefalseproductVerify all arguments to JNI callsshare/runtime/globals.hpp
CheckMemoryInitializationOpenJDK10boolruntimefalsenotproductCheck memory initializationshare/runtime/globals.hpp
CheckUnhandledOopsOpenJDK10boolruntimefalsedevelopCheck for unhandled oops in VM codeshare/runtime/globals.hpp
CheckZapUnusedHeapAreaOpenJDK10boolruntimefalsedevelopCheck zapping of unused heap spaceshare/runtime/globals.hpp
ClassUnloadingWithConcurrentMarkOpenJDK10boolruntimetrueproductDo unloading of classes with a concurrent marking cycleshare/runtime/globals.hpp
ClassUnloadingOpenJDK10boolruntimetrueproductDo unloading of classesshare/runtime/globals.hpp
CleanChunkPoolAsyncOpenJDK10boolruntimetruedevelopClean the chunk pool asynchronouslyshare/runtime/globals.hpp
ClipInliningOpenJDK10boolruntimetrueproductClip inlining if aggregate method exceeds DesiredMethodLimitshare/runtime/globals.hpp
CodeCacheExpansionSizeOpenJDK10intxaarch6432*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheExpansionSizeOpenJDK10size_tarm32*Kdefine_pd_globalcpu/arm/c2_globals_arm.hpp
CodeCacheExpansionSizeOpenJDK10uintxcompiler32*Kdefine_pd_globalshare/compiler/compiler_globals.hpp
CodeCacheExpansionSizeOpenJDK10uintxruntimeproduct_pdCode cache expansion size (in bytes)share/runtime/globals.hpp
CodeCacheExpansionSizeOpenJDK10uintxppc32*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheExpansionSizeOpenJDK10uintxs39064*Kdefine_pd_globalcpu/s390/c2_globals_s390.hpp
CodeCacheExpansionSizeOpenJDK10uintxx8632*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheMinBlockLengthOpenJDK10uintxaarch641define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinBlockLengthOpenJDK10uintxarm6define_pd_globalcpu/arm/c2_globals_arm.hpp
CodeCacheMinBlockLengthOpenJDK10uintxcompiler1define_pd_globalshare/compiler/compiler_globals.hpp
CodeCacheMinBlockLengthOpenJDK10uintxruntimediagnostic_pdMinimum number of segments in a code cache blockshare/runtime/globals.hpp
CodeCacheMinBlockLengthOpenJDK10uintxppc1define_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheMinBlockLengthOpenJDK10uintxs3904define_pd_globalcpu/s390/c2_globals_s390.hpp
CodeCacheMinBlockLengthOpenJDK10uintxx861define_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheMinimumUseSpaceOpenJDK10uintxaarch64400*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinimumUseSpaceOpenJDK10size_tarm400*Kdefine_pd_globalcpu/arm/c2_globals_arm.hpp
CodeCacheMinimumUseSpaceOpenJDK10uintxcompiler200*Kdefine_pd_globalshare/compiler/compiler_globals.hpp
CodeCacheMinimumUseSpaceOpenJDK10uintxruntimedevelop_pdMinimum code cache size (in bytes) required to start VM.share/runtime/globals.hpp
CodeCacheMinimumUseSpaceOpenJDK10uintxppc400*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheMinimumUseSpaceOpenJDK10uintxs390400*Kdefine_pd_globalcpu/s390/c2_globals_s390.hpp
CodeCacheMinimumUseSpaceOpenJDK10uintxx86400*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheSegmentSizeOpenJDK10uintxaarch6464 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/aarch64/globals_aarch64.hpp
CodeCacheSegmentSizeOpenJDK10uintxarm64 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/arm/globals_arm.hpp
CodeCacheSegmentSizeOpenJDK10uintxruntimedevelop_pdCode cache segment size (in bytes) - smallest unit of allocationshare/runtime/globals.hpp
CodeCacheSegmentSizeOpenJDK10uintxppc128define_pd_globalcpu/ppc/globals_ppc.hpp
CodeCacheSegmentSizeOpenJDK10uintxs390256define_pd_globalcpu/s390/globals_s390.hpp
CodeCacheSegmentSizeOpenJDK10uintxx8664 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/x86/globals_x86.hpp
CodeCacheSegmentSizeOpenJDK10uintxzero64 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/zero/globals_zero.hpp
CodeEntryAlignmentOpenJDK10intxaarch6464define_pd_globalcpu/aarch64/globals_aarch64.hpp
CodeEntryAlignmentOpenJDK10intxarm16define_pd_globalcpu/arm/globals_arm.hpp
CodeEntryAlignmentOpenJDK10intxruntimedevelop_pdCode entry alignment for generated code (in bytes)share/runtime/globals.hpp
CodeEntryAlignmentOpenJDK10intxppc128define_pd_globalcpu/ppc/globals_ppc.hpp
CodeEntryAlignmentOpenJDK10intxs39064define_pd_globalcpu/s390/globals_s390.hpp
CodeEntryAlignmentOpenJDK10intxx8616define_pd_globalcpu/x86/globals_x86.hpp
CodeEntryAlignmentOpenJDK10intxzero32define_pd_globalcpu/zero/globals_zero.hpp
CollectIndexSetStatisticsOpenJDK10boolruntimefalsenotproductCollect information about IndexSetsshare/runtime/globals.hpp
CommentedAssemblyOpenJDK10boolc1trueInDebugdevelopShow extra info in PrintNMethods outputshare/c1/c1_globals.hpp
CompactStringsOpenJDK10boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
CompactStringsOpenJDK10boolarmfalsedefine_pd_globalcpu/arm/globals_arm.hpp
CompactStringsOpenJDK10boolruntimeproduct_pdEnable Strings to use single byte chars in backing storeshare/runtime/globals.hpp
CompactStringsOpenJDK10boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
CompactStringsOpenJDK10bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
CompactStringsOpenJDK10boolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
CompactStringsOpenJDK10boolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
CompilationModeOpenJDK14ccstrruntimedefaultproductCompilation 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/runtime/globals.hpp
CompileCommandFileOpenJDK10ccstrruntimeNULLproductRead compiler commands from this file [.hotspot_compiler]share/runtime/globals.hpp
CompileCommandOpenJDK10ccstrlistruntimePrepend to .hotspot_compiler; e.g. log,java/lang/String.productshare/runtime/globals.hpp
CompileOnlyOpenJDK10ccstrlistruntimeList of methods (pkg/class.name) to restrict compilation toproductshare/runtime/globals.hpp
CompileThresholdScalingOpenJDK10doubleruntime1.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/runtime/globals.hpp
CompileThresholdOpenJDK10intxaarch641500define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CompileThresholdOpenJDK10intxarm10000define_pd_globalcpu/arm/c2_globals_arm.hpp
CompileThresholdOpenJDK10intxcompiler0define_pd_globalshare/compiler/compiler_globals.hpp
CompileThresholdOpenJDK10intxruntimeproduct_pdnumber of interpreted method invocations before (re-)compilingshare/runtime/globals.hpp
CompileThresholdOpenJDK10intxppc1000define_pd_globalcpu/ppc/c1_globals_ppc.hpp
CompileThresholdOpenJDK10intxs39010000define_pd_globalcpu/s390/c2_globals_s390.hpp
CompileThresholdOpenJDK10intxx861500define_pd_globalcpu/x86/c1_globals_x86.hpp
CompilerDirectivesFileOpenJDK10ccstrruntimeNULLdiagnosticRead compiler directives from this fileshare/runtime/globals.hpp
CompilerDirectivesIgnoreCompileCommandsOpenJDK10boolruntimefalsediagnosticDisable backwards compatibility for compile commands.share/runtime/globals.hpp
CompilerDirectivesLimitOpenJDK10intruntime50diagnosticLimit on number of compiler directives.share/runtime/globals.hpp
CompilerDirectivesPrintOpenJDK10boolruntimefalsediagnosticPrint compiler directives on installation.share/runtime/globals.hpp
CompilerThreadPriorityOpenJDK10intxruntime-1
range(min_jint, max_jint)
productThe native priority at which compiler threads should run (-1 means no change)share/runtime/globals.hpp
CompilerThreadStackSizeOpenJDK10intxaixppc4096define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
CompilerThreadStackSizeOpenJDK10intxbsdx86512define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
CompilerThreadStackSizeOpenJDK10intxbsdzero0define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
CompilerThreadStackSizeOpenJDK10intxlinuxaarch642048define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
CompilerThreadStackSizeOpenJDK10intxlinuxarm512define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
CompilerThreadStackSizeOpenJDK10intxlinuxppc4096define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
CompilerThreadStackSizeOpenJDK10intxlinuxs3902048define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
CompilerThreadStackSizeOpenJDK10intxlinuxx86512define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
CompilerThreadStackSizeOpenJDK10intxlinuxzero0define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
CompilerThreadStackSizeOpenJDK10intxruntimeproduct_pdCompiler Thread Stack Size (in Kbytes)share/runtime/globals.hpp
CompilerThreadStackSizeOpenJDK10intxwindowsx860define_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
CompressedClassSpaceSizeOpenJDK10size_truntime1*G
range(1*M, 3*G)
productMaximum size of class area in Metaspace when compressed class pointers are usedshare/runtime/globals.hpp
ComputeExactFPURegisterUsageOpenJDK10boolc1truedevelopCompute additional live set for fpu registers to simplify fpu stack merge (Intel only)share/c1/c1_globals.hpp
ConcGCThreadsOpenJDK10uintgc0productNumber of threads concurrent gc will useshare/gc/shared/gc_globals.hpp
ConcGCYieldTimeoutOpenJDK10intxgc0
range(0, max_intx)
developIf non-zero, assert that GC threads yield within this number of millisecondsshare/gc/shared/gc_globals.hpp
ConditionalMoveLimitOpenJDK10intxaarch643define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
ConditionalMoveLimitOpenJDK10intxarm4define_pd_globalcpu/arm/c2_globals_arm.hpp
ConditionalMoveLimitOpenJDK10intxc2product_pdLimit of ops to make speculative when using CMOVEshare/opto/c2_globals.hpp
ConditionalMoveLimitOpenJDK10intxppc3define_pd_globalcpu/ppc/c2_globals_ppc.hpp
ConditionalMoveLimitOpenJDK10intxs3904define_pd_globalcpu/s390/c2_globals_s390.hpp
ConditionalMoveLimitOpenJDK10intxx863define_pd_globalcpu/x86/c2_globals_x86.hpp
ContendedPaddingWidthOpenJDK10intxruntime128
range(0, 8192)
productHow many bytes to pad the fields/classes marked @Contended withshare/runtime/globals.hpp
ConvertCmpD2CmpFOpenJDK10boolc2truedevelopConvert cmpD to cmpF when one input is constant in float rangeshare/opto/c2_globals.hpp
ConvertFloat2IntClippingOpenJDK10boolc2truedevelopConvert float2int clipping idiom to integer clippingshare/opto/c2_globals.hpp
CountBytecodesOpenJDK10boolruntimefalsedevelopCount number of bytecodes executedshare/runtime/globals.hpp
CountCompiledCallsOpenJDK10boolruntimefalsedevelopCount method invocationsshare/runtime/globals.hpp
CountJNICallsOpenJDK10boolruntimefalsedevelopCount jni method invocationsshare/runtime/globals.hpp
CountJVMCallsOpenJDK10boolruntimefalsenotproductCount jvm method invocationsshare/runtime/globals.hpp
CountLinearScanOpenJDK10boolc1falsedevelopcollect statistic counters during LinearScanshare/c1/c1_globals.hpp
CountRemovableExceptionsOpenJDK10boolruntimefalsenotproductCount exceptions that could be replaced by branches due to inliningshare/runtime/globals.hpp
CountRuntimeCallsOpenJDK10boolruntimefalsenotproductCount VM runtime callsshare/runtime/globals.hpp
CounterDecayMinIntervalLengthOpenJDK10intxruntime500developThe minimum interval (in milliseconds) between invocation of CounterDecayshare/runtime/globals.hpp
CounterHalfLifeTimeOpenJDK10intxruntime30developHalf-life time of invocation counters (in seconds)share/runtime/globals.hpp
CrashGCForDumpingJavaThreadOpenJDK10boolruntimefalsenotproductManually make GC thread crash then dump java stack trace; Test onlyshare/runtime/globals.hpp
CrashOnOutOfMemoryErrorOpenJDK10boolruntimefalseproductJVM aborts, producing an error log and core/mini dump, on the first occurrence of an out-of-memory errorshare/runtime/globals.hpp
CreateCoredumpOnCrashOpenJDK10boolruntimetrueproductCreate core/mini dump on VM fatal errorshare/runtime/globals.hpp
CriticalJNINativesOpenJDK10Deprecated in JDK16
Obsoleted in JDK17
Expired in JDK18
boolruntimetrueproductCheck for critical JNI entry pointsshare/runtime/globals.hpp
DSCR_DPFD_PPC64OpenJDK10uint64_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_PPC64OpenJDK10uint64_tppc(uintx)-1productPower8 or later: Specify encoded value for Data Stream Control Registercpu/ppc/globals_ppc.hpp
DSCR_URG_PPC64OpenJDK10uint64_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
DTraceAllocProbesOpenJDK10boolruntimefalseproductEnable dtrace probes for object allocationshare/runtime/globals.hpp
DTraceMethodProbesOpenJDK10boolruntimefalseproductEnable dtrace probes for method-entry and method-exitshare/runtime/globals.hpp
DTraceMonitorProbesOpenJDK10boolruntimefalseproductEnable dtrace probes for monitor eventsshare/runtime/globals.hpp
DebugDeoptimizationOpenJDK10boolruntimefalsedevelopTracing various information while debugging deoptimizationshare/runtime/globals.hpp
DebugInlinedCallsOpenJDK10boolc2truediagnosticIf false, restricts profiled locations to the root method onlyshare/opto/c2_globals.hpp
DebugNonSafepointsOpenJDK10boolruntimetrueInDebugdiagnosticGenerate extra debugging information for non-safepoints in nmethodsshare/runtime/globals.hpp
DebugVtablesOpenJDK10boolruntimefalsedevelopadd debugging code to vtable dispatchshare/runtime/globals.hpp
DebuggingOpenJDK10Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproductSet when executing debug methods in debug.cpp (to prevent triggering assertions)share/runtime/globals.hpp
DeferInitialCardMarkOpenJDK10boolgcfalsediagnosticWhen +ReduceInitialCardMarks, explicitly defer any that may arise from new_pre_store_barriershare/gc/shared/gc_globals.hpp
DeoptC1OpenJDK10boolc1truedevelopUse deoptimization in C1share/c1/c1_globals.hpp
DeoptimizeALotIntervalOpenJDK10intxruntime5notproductNumber of exits until DeoptimizeALot kicks inshare/runtime/globals.hpp
DeoptimizeALotOpenJDK10boolruntimefalsedevelopDeoptimize at every exit from the runtime systemshare/runtime/globals.hpp
DeoptimizeNMethodBarriersALotOpenJDK15boolruntimefalsediagnosticMake nmethod barriers deoptimise a lot.share/runtime/globals.hpp
DeoptimizeOnlyAtOpenJDK10ccstrlistruntimeA comma separated list of bcis to deoptimize atnotproductshare/runtime/globals.hpp
DeoptimizeRandomOpenJDK10boolruntimefalsedevelopDeoptimize random frames on random exit from the runtime systemshare/runtime/globals.hpp
DesiredMethodLimitOpenJDK10intxruntime8000developThe desired maximum method size (in bytecodes) after inliningshare/runtime/globals.hpp
DisableAttachMechanismOpenJDK10boolruntimefalseproductDisable mechanism that allows tools to attach to this VMshare/runtime/globals.hpp
DisableExplicitGCOpenJDK10boolgcfalseproductIgnore calls to System.gc()share/gc/shared/gc_globals.hpp
DisableIntrinsicOpenJDK10ccstrlistruntimedo not expand intrinsics whose (internal) names appear herediagnosticshare/runtime/globals.hpp
DisablePrimordialThreadGuardPagesOpenJDK10boolruntimefalseexperimentalDisable the use of stack guard pages if the JVM is loaded on the primordial process threadshare/runtime/globals.hpp
DisableStartThreadOpenJDK10boolruntimefalsedevelopDisable starting of additional Java threads (for debugging only)share/runtime/globals.hpp
DisplayVMOutputToStderrOpenJDK10boolruntimefalseproductIf DisplayVMOutput is true, display all VM output to stderrshare/runtime/globals.hpp
DisplayVMOutputToStdoutOpenJDK10boolruntimefalseproductIf DisplayVMOutput is true, display all VM output to stdoutshare/runtime/globals.hpp
DisplayVMOutputOpenJDK10boolruntimetruediagnosticDisplay all VM output on the tty, independently of LogVMOutputshare/runtime/globals.hpp
DoCEEOpenJDK10boolc1truedevelopDo Conditional Expression Elimination to simplify CFGshare/c1/c1_globals.hpp
DoEscapeAnalysisOpenJDK10boolc2trueproductPerform escape analysisshare/opto/c2_globals.hpp
DoReserveCopyInSuperWordOpenJDK10boolc2trueproductCreate reserve copy of graph in SuperWord.share/opto/c2_globals.hpp
DominatorSearchLimitOpenJDK10intxc21000
range(0, max_jint)
diagnosticIterations limit in Node::dominatesshare/opto/c2_globals.hpp
DontCompileHugeMethodsOpenJDK10boolruntimetrueproductDo not compile methods > HugeMethodLimitshare/runtime/globals.hpp
DontYieldALotIntervalOpenJDK10intxruntime10developInterval between which yields will be dropped (milliseconds)share/runtime/globals.hpp
DontYieldALotOpenJDK10boolaixppcfalsedefine_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
DontYieldALotOpenJDK10boolbsdx86falsedefine_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
DontYieldALotOpenJDK10boolbsdzerofalsedefine_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
DontYieldALotOpenJDK10boollinuxaarch64falsedefine_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
DontYieldALotOpenJDK10boollinuxarmfalsedefine_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
DontYieldALotOpenJDK10boollinuxppcfalsedefine_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
DontYieldALotOpenJDK10boollinuxs390falsedefine_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
DontYieldALotOpenJDK10boollinuxx86falsedefine_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
DontYieldALotOpenJDK10boollinuxzerofalsedefine_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
DontYieldALotOpenJDK10boolruntimeproduct_pdThrow away obvious excess yield callsshare/runtime/globals.hpp
DontYieldALotOpenJDK10boolwindowsx86falsedefine_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
DumpLoadedClassListOpenJDK10ccstrruntimeNULLproductDump the names all loaded classes, that could be stored into the CDS archive, in the specified fileshare/runtime/globals.hpp
DumpPrivateMappingsInCoreOpenJDK11boollinuxtruediagnosticIf 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
DumpReplayDataOnErrorOpenJDK10boolruntimetrueproductRecord replay data for crashing compiler threadsshare/runtime/globals.hpp
DumpSharedMappingsInCoreOpenJDK11boollinuxtruediagnosticIf 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
DumpSharedSpacesOpenJDK10boolruntimefalseproductSpecial 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
DynamicDumpSharedSpacesOpenJDK13boolruntimefalseproductDynamic archiveshare/runtime/globals.hpp
DynamicallyResizeSystemDictionariesOpenJDK10boolruntimetruediagnosticDynamically resize system dictionaries as neededshare/runtime/globals.hpp
EagerInitializationOpenJDK10boolruntimefalsedevelopEagerly initialize classes if possibleshare/runtime/globals.hpp
EagerJVMCIOpenJDK11booljvmcifalseexperimentalForce eager JVMCI initializationshare/jvmci/jvmci_globals.hpp
EagerXrunInitOpenJDK10boolruntimefalseproductEagerly initialize -Xrun libraries; allows startup profiling, but not all -Xrun libraries may support the state of the VM at this timeshare/runtime/globals.hpp
EliminateAllocationArraySizeLimitOpenJDK10intxc264
range(0, max_jint)
productArray size (number of elements) limit for scalar replacementshare/opto/c2_globals.hpp
EliminateAllocationsOpenJDK10boolc2trueproductUse escape analysis to eliminate allocationsshare/opto/c2_globals.hpp
EliminateAutoBoxOpenJDK10boolc2trueproductControl optimizations for autobox eliminationshare/opto/c2_globals.hpp
EliminateBlocksOpenJDK10boolc1truedevelopEliminate unneccessary basic blocksshare/c1/c1_globals.hpp
EliminateFieldAccessOpenJDK10boolc1truedevelopOptimize field loads and storesshare/c1/c1_globals.hpp
EliminateLocksOpenJDK10boolc2trueproductCoarsen locks when possibleshare/opto/c2_globals.hpp
EliminateNestedLocksOpenJDK10boolc2trueproductEliminate nested locks of the same object when possibleshare/opto/c2_globals.hpp
EliminateNullChecksOpenJDK10boolc1truedevelopEliminate unneccessary null checksshare/c1/c1_globals.hpp
EnableContendedOpenJDK10boolruntimetrueproductEnable @Contended annotation supportshare/runtime/globals.hpp
EnableDynamicAgentLoadingOpenJDK10boolruntimetrueproductAllow tools to load agents with the attach mechanismshare/runtime/globals.hpp
EnableJVMCIProductOpenJDK14booljvmcifalseexperimentalAllow 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
EnableJVMCIOpenJDK10booljvmcifalseexperimentalEnable JVMCIshare/jvmci/jvmci_globals.hpp
EnableThreadSMRExtraValidityChecksOpenJDK10boolruntimetruediagnosticEnable Thread SMR extra validity checksshare/runtime/globals.hpp
EnableThreadSMRStatisticsOpenJDK10boolruntimetrueInDebugdiagnosticEnable Thread SMR Statisticsshare/runtime/globals.hpp
EpsilonElasticTLABDecayOpenJDK11boolgctrueexperimentalUse 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
EpsilonElasticTLABOpenJDK11boolgctrueexperimentalUse elastic policy to manage TLAB sizes. This conserves memory for non-actively allocating threads, even when they request large TLABs for themselves. Active threads would experience smaller TLABs until policy catches up.share/gc/epsilon/epsilon_globals.hpp
EpsilonMaxTLABSizeOpenJDK11size_tgc4 * M
range(1, max_intx)
experimentalMax TLAB size to use with Epsilon GC. Larger value improves performance at the expense of per-thread memory waste. This asks TLAB machinery to cap TLAB sizes at this value.share/gc/epsilon/epsilon_globals.hpp
EpsilonMinHeapExpandOpenJDK11size_tgc128 * M
range(1, max_intx)
experimentalMin expansion step for heap. Larger value improves performance at the potential expense of memory waste.share/gc/epsilon/epsilon_globals.hpp
EpsilonPrintHeapStepsOpenJDK11size_tgc20
range(0, max_intx)
experimentalPrint heap occupancy stats with this number of steps.
0 turns the printing off.
share/gc/epsilon/epsilon_globals.hpp
EpsilonTLABDecayTimeOpenJDK11size_tgc1000
range(1, max_intx)
experimentalTLAB sizing policy decays to initial size after thread had not allocated for this long. Time is in milliseconds. Lower value improves memory footprint, but penalizes actively allocating threads.share/gc/epsilon/epsilon_globals.hpp
EpsilonTLABElasticityOpenJDK11doublegc1.1
range(1.0, DBL_MAX)
experimentalMultiplier to use when deciding on next TLAB size. Larger value improves performance at the expense of per-thread memory waste. Lower value improves memory footprint, but penalizes actively allocating threads.share/gc/epsilon/epsilon_globals.hpp
EpsilonUpdateCountersStepOpenJDK11size_tgc1 * M
range(1, max_intx)
experimentalUpdate 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
ErgoHeapSizeLimitOpenJDK10size_tgc0
range(0, max_uintx)
productMaximum ergonomically set heap size (in bytes); zero means use MaxRAM * MaxRAMPercentage / 100share/gc/shared/gc_globals.hpp
ErrorFileToStderrOpenJDK11boolruntimefalseproductIf true, error data is printed to stderr instead of a fileshare/runtime/globals.hpp
ErrorFileToStdoutOpenJDK11boolruntimefalseproductIf true, error data is printed to stdout instead of a fileshare/runtime/globals.hpp
ErrorFileOpenJDK10ccstrruntimeNULLproductIf an error occurs, save the error data to this file [default: ./hs_err_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
ErrorHandlerTestOpenJDK10uintxruntime0notproductIf > 0, provokes an error after VM initialization; the value determines which error to provoke. See test_error_handler() in vmError.cpp.share/runtime/globals.hpp
ErrorLogTimeoutOpenJDK10uint64_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
EscapeAnalysisTimeoutOpenJDK10doublec220. DEBUG_ONLY(+40.)
range(0, DBL_MAX)
productAbort EA when it reaches time limit (in sec)share/opto/c2_globals.hpp
EstimateArgEscapeOpenJDK10boolruntimetrueproductAnalyze bytecodes to estimate escape state of argumentsshare/runtime/globals.hpp
ExecutingUnitTestsOpenJDK10boolgcfalseproductWhether the JVM is running unit tests or notshare/gc/shared/gc_globals.hpp
ExitEscapeAnalysisOnTimeoutOpenJDK10boolc2truedevelopExit or throw assert in EA when it reaches time limitshare/opto/c2_globals.hpp
ExitOnFullCodeCacheOpenJDK10boolruntimefalsenotproductExit the VM if we fill the code cacheshare/runtime/globals.hpp
ExitOnOutOfMemoryErrorOpenJDK10boolruntimefalseproductJVM exits on the first occurrence of an out-of-memory errorshare/runtime/globals.hpp
ExitVMOnVerifyErrorOpenJDK10boolruntimefalsenotproductstandard exit from VM if bytecode verify error (only in debug mode)share/runtime/globals.hpp
ExpandLoadingBaseDecode_NNOpenJDK10bools390trueproductExpand the assembler instruction required to load the base from DecodeN_NN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseDecodeOpenJDK10bools390trueproductExpand the assembler instruction required to load the base from DecodeN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncode_NNOpenJDK10bools390trueproductExpand the assembler instruction required to load the base from EncodeP_NN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncodeOpenJDK10bools390trueproductExpand the assembler instruction required to load the base from EncodeP nodes during matching.cpu/s390/globals_s390.hpp
ExpandSubTypeCheckAtParseTimeOpenJDK15boolc2falsediagnosticDo not use subtype check macro nodeshare/opto/c2_globals.hpp
ExplicitGCInvokesConcurrentOpenJDK10boolgcfalseproductA System.gc() request invokes a concurrent collection; (effective only when using concurrent collectors)share/gc/shared/gc_globals.hpp
ExtendedDTraceProbesOpenJDK10boolruntimefalseproductEnable performance-impacting dtrace probesshare/runtime/globals.hpp
ExtensiveErrorReportsOpenJDK11boolruntimePRODUCT_ONLY(false) NOT_PRODUCT(true)productError reports are more extensive.share/runtime/globals.hpp
ExtraSharedClassListFileOpenJDK10ccstrruntimeNULLproductExtra classlist for building the CDS archive fileshare/runtime/globals.hpp
FLOATPRESSUREOpenJDK10intxaarch6464define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
FLOATPRESSUREOpenJDK10intxarm30define_pd_globalcpu/arm/c2_globals_arm.hpp
FLOATPRESSUREOpenJDK10intxc2develop_pdNumber of float LRG's that constitute high register pressureshare/opto/c2_globals.hpp
FLOATPRESSUREOpenJDK10intxppc28define_pd_globalcpu/ppc/c2_globals_ppc.hpp
FLOATPRESSUREOpenJDK10intxs39015define_pd_globalcpu/s390/c2_globals_s390.hpp
FLOATPRESSUREOpenJDK10intxx866define_pd_globalcpu/x86/c2_globals_x86.hpp
FLSVerifyDictionaryOpenJDK10boolruntimefalsedevelopDo lots of (expensive) FLS dictionary verificationshare/runtime/globals.hpp
FastAllocateSizeLimitOpenJDK10intxruntime128*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
FilterSpuriousWakeupsOpenJDK10boolruntimetrueproductWhen true prevents OS-level spurious, or premature, wakeups from Object.wait (Ignored for Windows)share/runtime/globals.hpp
FlightRecorderOptionsOpenJDK11ccstrruntimeNULLproductFlight Recorder optionsshare/runtime/globals.hpp
FlightRecorderOpenJDK11Deprecated in JDK13boolruntimefalseproduct(Deprecated) Enable Flight Recordershare/runtime/globals.hpp
FoldStableValuesOpenJDK10boolruntimetruediagnosticOptimize loads from stable fields (marked w/ @Stable)share/runtime/globals.hpp
ForceFloatExceptionsOpenJDK10boolruntimetrueInDebugdevelopForce exceptions on FP stack under/overflowshare/runtime/globals.hpp
ForceNUMAOpenJDK10Deprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct(Deprecated) Force NUMA optimizations on single-node/UMA systemsshare/runtime/globals.hpp
ForceTimeHighResolutionOpenJDK10boolruntimefalseproductUsing high time resolution (for Win32 only)share/runtime/globals.hpp
ForceUnreachableOpenJDK10boolruntimefalsediagnosticMake all non code cache addresses to be unreachable by forcing use of 64bit literal fixupsshare/runtime/globals.hpp
FreqCountInvocationsOpenJDK10intxc21
range(1, max_intx)
developScaling factor for branch frequencies (deprecated)share/opto/c2_globals.hpp
FreqInlineSizeOpenJDK10intxaarch64325define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
FreqInlineSizeOpenJDK10intxarm175define_pd_globalcpu/arm/c2_globals_arm.hpp
FreqInlineSizeOpenJDK10intxc2product_pdThe maximum bytecode size of a frequent method to be inlinedshare/opto/c2_globals.hpp
FreqInlineSizeOpenJDK10intxppc175define_pd_globalcpu/ppc/c2_globals_ppc.hpp
FreqInlineSizeOpenJDK10intxs390175define_pd_globalcpu/s390/c2_globals_s390.hpp
FreqInlineSizeOpenJDK10intxx86325define_pd_globalcpu/x86/c2_globals_x86.hpp
FullGCALotDummiesOpenJDK10intxgc32*KnotproductDummy object allocated with +FullGCALot, forcing all objects to moveshare/gc/shared/gc_globals.hpp
FullGCALotIntervalOpenJDK10intxgc1notproductInterval between which full gc will occur with +FullGCALotshare/gc/shared/gc_globals.hpp
FullGCALotStartOpenJDK10intxgc0notproductFor which invocation to start FullGCAlotshare/gc/shared/gc_globals.hpp
FullGCALotOpenJDK10boolgcfalsedevelopForce full gc at every Nth exit from the runtime system (N=FullGCALotInterval)share/gc/shared/gc_globals.hpp
G1AdaptiveIHOPNumInitialSamplesOpenJDK10size_tgc3
range(1, max_intx)
experimentalHow many completed time periods from initial mark to first mixed gc are required to use the input values for prediction of the optimal occupancy to start marking.share/gc/g1/g1_globals.hpp
G1ConcMarkStepDurationMillisOpenJDK10doublegc10.0
range(1.0, DBL_MAX)
productTarget duration of individual concurrent marking steps in milliseconds.share/gc/g1/g1_globals.hpp
G1ConcRSHotCardLimitOpenJDK10uintxgc4
range(0, max_jubyte)
productThe threshold that defines (>=) a hot card.share/gc/g1/g1_globals.hpp
G1ConcRSLogCacheSizeOpenJDK10size_tgc10
range(0, 27)
productLog base 2 of the length of conc RS hot-card cache.share/gc/g1/g1_globals.hpp
G1ConcRefinementGreenZoneOpenJDK10size_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
G1ConcRefinementRedZoneOpenJDK10size_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
G1ConcRefinementServiceIntervalMillisOpenJDK10uintxgc300
range(0, max_jint)
productThe last concurrent refinement thread wakes up every specified number of milliseconds to do miscellaneous work.share/gc/g1/g1_globals.hpp
G1ConcRefinementThreadsOpenJDK10uintgc0
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
G1ConcRefinementThresholdStepOpenJDK10size_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
G1ConcRefinementYellowZoneOpenJDK10size_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
G1ConfidencePercentOpenJDK10uintxgc50
range(0, 100)
productConfidence level for MMU/pause predictionsshare/gc/g1/g1_globals.hpp
G1DummyRegionsPerGCOpenJDK10uintxgc0developThe 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
G1EagerReclaimHumongousObjectsWithStaleRefsOpenJDK10boolgctrueexperimentalTry to reclaim dead large objects that have a few stale references at every young GC.share/gc/g1/g1_globals.hpp
G1EagerReclaimHumongousObjectsOpenJDK10boolgctrueexperimentalTry to reclaim dead large objects at every young GC.share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotCountOpenJDK10uintxgc1000developNumber of successful evacuations between evacuation failures occurring at object copyingshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringConcMarkOpenJDK10boolgctruedevelopForce use of evacuation failure handling during evacuation pauses when marking is in progressshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringInitialMarkOpenJDK10boolgctruedevelopForce use of evacuation failure handling during initial mark evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringMixedGCOpenJDK10boolgctruedevelopForce use of evacuation failure handling during mixed evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringYoungGCOpenJDK10boolgctruedevelopForce use of evacuation failure handling during young evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotIntervalOpenJDK10uintxgc5developTotal collections between forced triggering of evacuation failuresshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotOpenJDK10boolgcfalsenotproductForce use of evacuation failure handling during certain evacuation pausesshare/gc/g1/g1_globals.hpp
G1ExitOnExpansionFailureOpenJDK10boolgcfalsedevelopRaise 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
G1ExpandByPercentOfAvailableOpenJDK10intxgc20
range(0, 100)
experimentalWhen expanding, % of uncommitted space to claim.share/gc/g1/g1_globals.hpp
G1HeapRegionSizeOpenJDK10size_tgc0
range(0, 32*M)
productSize of the G1 regions.share/gc/g1/g1_globals.hpp
G1HeapWastePercentOpenJDK10uintxgc5
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
G1LastPLABAverageOccupancyOpenJDK10doublegc50.0
range(0.001, 100.0)
experimentalThe expected average occupancy of the last PLAB in percent.share/gc/g1/g1_globals.hpp
G1MaxNewSizePercentOpenJDK10uintxgc60
range(0, 100)
experimentalPercentage (0-100) of the heap size to use as default maximum young gen size.share/gc/g1/g1_globals.hpp
G1MaxVerifyFailuresOpenJDK10intxgc-1
range(-1, max_jint)
developThe maximum number of verification failures to print. -1 means print all.share/gc/g1/g1_globals.hpp
G1MixedGCCountTargetOpenJDK10uintxgc8
range(0, max_uintx)
productThe target number of mixed GCs after a marking cycle.share/gc/g1/g1_globals.hpp
G1MixedGCLiveThresholdPercentOpenJDK10uintxgc85
range(0, 100)
experimentalThreshold 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
G1NewSizePercentOpenJDK10uintxgc5
range(0, 100)
experimentalPercentage (0-100) of the heap size to use as default minimum young gen size.share/gc/g1/g1_globals.hpp
G1OldCSetRegionThresholdPercentOpenJDK10uintxgc10
range(0, 100)
experimentalAn upper bound for the number of old CSet regions expressed as a percentage of the heap size.share/gc/g1/g1_globals.hpp
G1PeriodicGCIntervalOpenJDK12uintxgc0manageableNumber 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
G1PeriodicGCInvokesConcurrentOpenJDK12boolgctrueproductDetermines the kind of periodic GC. Set to true to have G1 perform a concurrent GC as periodic GC, otherwise use a STW Full GC.share/gc/g1/g1_globals.hpp
G1PeriodicGCSystemLoadThresholdOpenJDK12doublegc0.0
range(0.0, (double)max_uintx)
manageableMaximum 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
G1RSetRegionEntriesBaseOpenJDK10intxgc256
range(1, max_jint/wordSize)
developMax number of regions in a fine-grain table per MB.share/gc/g1/g1_globals.hpp
G1RSetRegionEntriesOpenJDK10intxgc0
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
G1RSetSparseRegionEntriesBaseOpenJDK10intxgc4
range(1, max_jint/wordSize)
developMax number of entries per region in a sparse table per MB.share/gc/g1/g1_globals.hpp
G1RSetSparseRegionEntriesOpenJDK10intxgc0
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
G1RSetUpdatingPauseTimePercentOpenJDK10intxgc10
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
G1RebuildRemSetChunkSizeOpenJDK11size_tgc256 * K
range(4 * K, 32 * M)
experimentalChunk size used for rebuilding the remembered set.share/gc/g1/g1_globals.hpp
G1RefProcDrainIntervalOpenJDK10uintgc1000
range(1, INT_MAX)
productThe number of discovered reference objects to process before draining concurrent marking work queues.share/gc/g1/g1_globals.hpp
G1ReservePercentOpenJDK10uintxgc10
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
G1SATBBufferEnqueueingThresholdPercentOpenJDK10uintxgc60
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
G1SATBBufferSizeOpenJDK10size_tgc1*K
range(1, max_uintx)
productNumber of entries in an SATB log buffer.share/gc/g1/g1_globals.hpp
G1SATBProcessCompletedThresholdOpenJDK10intxgc20
range(0, max_jint)
developNumber of completed buffers that triggers log processing.share/gc/g1/g1_globals.hpp
G1SummarizeRSetStatsPeriodOpenJDK10intxgc0
range(0, max_intx)
diagnosticThe 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
G1UpdateBufferSizeOpenJDK10size_tgc256
range(1, NOT_LP64(32*M) LP64_ONLY(1*G))
productSize of an update buffershare/gc/g1/g1_globals.hpp
G1UseAdaptiveConcRefinementOpenJDK10boolgctrueproductSelect green, yellow and red zones adaptively to meet the the pause requirements.share/gc/g1/g1_globals.hpp
G1UseAdaptiveIHOPOpenJDK10boolgctrueproductAdaptively 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
G1UseReferencePrecleaningOpenJDK11boolgctrueexperimentalConcurrently preclean java.lang.ref.references instances before the Remark pause.share/gc/g1/g1_globals.hpp
G1VerifyBitmapsOpenJDK10boolgcfalsedevelopVerifies the consistency of the marking bitmapsshare/gc/g1/g1_globals.hpp
G1VerifyCTCleanupOpenJDK10boolgcfalsedevelopVerify card table cleanup.share/gc/g1/g1_globals.hpp
G1VerifyHeapRegionCodeRootsOpenJDK10boolgcfalsediagnosticVerify the code root lists attached to each heap region.share/gc/g1/g1_globals.hpp
G1VerifyRSetsDuringFullGCOpenJDK10boolgcfalsediagnosticIf true, perform verification of each heap region's remembered set when verifying the heap during a full GC.share/gc/g1/g1_globals.hpp
G1YoungExpansionBufferPercentOpenJDK12uintxgc10
range(0, 100)
experimentalWhen heterogenous heap is enabled by AllocateOldGenAt option, after every GC, young gen is re-sized which involves system calls to commit/uncommit memory. To reduce these calls, we keep a buffer of extra regions to absorb small changes in young gen length. This flag takes the buffer size as an percentage of young gen lengthshare/gc/g1/g1_globals.hpp
GCALotAtAllSafepointsOpenJDK10boolgcfalsenotproductEnforce ScavengeALot/GCALot at all potential safepointsshare/gc/shared/gc_globals.hpp
GCDrainStackTargetSizeOpenJDK10uintxgc64
range(0, max_juint)
productNumber of entries we will try to leave on the stack during parallel gcshare/gc/shared/gc_globals.hpp
GCExpandToAllocateDelayMillisOpenJDK10uintxgc0developDelay between expansion and allocation (in milliseconds)share/gc/shared/gc_globals.hpp
GCHeapFreeLimitOpenJDK10uintxgc2
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
GCLockerEdenExpansionPercentOpenJDK10uintxgc5
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
GCLockerRetryAllocationCountOpenJDK10uintxgc2
range(0, max_uintx)
diagnosticNumber of times to retry allocations when blocked by the GC lockershare/gc/shared/gc_globals.hpp
GCOverheadLimitThresholdOpenJDK13uintxgc5
range(1, max_uintx)
developNumber of consecutive collections before gc time limit firesshare/gc/shared/gc_globals.hpp
GCParallelVerificationEnabledOpenJDK10boolgctruediagnosticEnable parallel memory system verificationshare/gc/shared/gc_globals.hpp
GCPauseIntervalMillisOpenJDK10uintxgc0productTime slice for MMU specificationshare/gc/shared/gc_globals.hpp
GCTimeLimitOpenJDK10uintxgc98
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
GCTimeRatioOpenJDK10uintxgc99
range(0, max_juint)
productAdaptive size policy application time to GC time ratioshare/gc/shared/gc_globals.hpp
GCWorkerDelayMillisOpenJDK10uintxgc0developDelay in scheduling GC workers (in milliseconds)share/gc/parallel/parallel_globals.hpp
GenerateArrayStoreCheckOpenJDK10boolc1truedevelopGenerates code for array store checksshare/c1/c1_globals.hpp
GenerateRangeChecksOpenJDK10boolruntimetruedevelopGenerate range checks for array accessesshare/runtime/globals.hpp
GenerateSynchronizationCodeOpenJDK10boolruntimetruedevelopgenerate locking/unlocking code for synchronized methods and monitorsshare/runtime/globals.hpp
GuaranteedSafepointIntervalOpenJDK10intxruntime1000
range(0, max_jint)
diagnosticGuarantee a safepoint (at least) every so many milliseconds (0 means none)share/runtime/globals.hpp
HandshakeALotOpenJDK13boolruntimefalsediagnosticGenerate a lot of handshakes. This works with GuaranteedSafepointIntervalshare/runtime/globals.hpp
HandshakeTimeoutOpenJDK10uintruntime0diagnosticIf nonzero set a timeout in milliseconds for handshakesshare/runtime/globals.hpp
HeapBaseMinAddressOpenJDK10size_taixppc2*Gdefine_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
HeapBaseMinAddressOpenJDK10size_tbsdx862*Gdefine_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
HeapBaseMinAddressOpenJDK10size_tbsdzero2*Gdefine_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
HeapBaseMinAddressOpenJDK10uintxlinuxaarch642*Gdefine_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
HeapBaseMinAddressOpenJDK10size_tlinuxarm2*Gdefine_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
HeapBaseMinAddressOpenJDK10size_tlinuxppc2*Gdefine_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
HeapBaseMinAddressOpenJDK10size_tlinuxs3902*Gdefine_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
HeapBaseMinAddressOpenJDK10size_tlinuxx862*Gdefine_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
HeapBaseMinAddressOpenJDK10size_tlinuxzero2*Gdefine_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
HeapBaseMinAddressOpenJDK10size_tgcproduct_pdOS specific low limit for heap base addressshare/gc/shared/gc_globals.hpp
HeapBaseMinAddressOpenJDK10size_twindowsx862*Gdefine_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
HeapDumpAfterFullGCOpenJDK10boolruntimefalsemanageableDump heap to file after any major stop-the-world GCshare/runtime/globals.hpp
HeapDumpBeforeFullGCOpenJDK10boolruntimefalsemanageableDump heap to file before any major stop-the-world GCshare/runtime/globals.hpp
HeapDumpOnOutOfMemoryErrorOpenJDK10boolruntimefalsemanageableDump heap to file when java.lang.OutOfMemoryError is thrownshare/runtime/globals.hpp
HeapDumpPathOpenJDK10ccstrruntimeNULLmanageableWhen 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
HeapFirstMaximumCompactionCountOpenJDK10uintxgc3
range(0, max_uintx)
productThe collection count for the first maximum compactionshare/gc/parallel/parallel_globals.hpp
HeapMaximumCompactionIntervalOpenJDK10uintxgc20
range(0, max_uintx)
productHow often should we maximally compact the heap (not allowing any dead space)share/gc/parallel/parallel_globals.hpp
HeapSearchStepsOpenJDK10uintxruntime3 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
HeapSizePerGCThreadOpenJDK10size_tgcScaleForWordSize(32*M)
range((size_t)os::vm_page_size(), (size_t)max_uintx)
productSize of heap (bytes) per GC thread used in calculating the number of GC threadsshare/gc/shared/gc_globals.hpp
HotCallCountThresholdOpenJDK10intxc2999999
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
HotCallProfitThresholdOpenJDK10intxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
develophighly profitable inlining opportunities force hotnessshare/opto/c2_globals.hpp
HotCallTrivialSizeOpenJDK10intxc2-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
HotCallTrivialWorkOpenJDK10intxc2-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
HotMethodDetectionLimitOpenJDK10intxruntime100000
range(1, max_jint)
diagnosticNumber of compiled code invocations after which the method is considered as hot by the flushershare/runtime/globals.hpp
HugeMethodLimitOpenJDK10intxruntime8000developDon't compile methods larger than this if +DontCompileHugeMethodsshare/runtime/globals.hpp
ICMissHistogramOpenJDK10boolruntimefalsenotproductProduce histogram of IC missesshare/runtime/globals.hpp
IEEEPrecisionOpenJDK10boolx86truedevelopEnables IEEE precision (for INTEL only)cpu/x86/globals_x86.hpp
INTPRESSUREOpenJDK10intxaarch6424define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
INTPRESSUREOpenJDK10intxarm12define_pd_globalcpu/arm/c2_globals_arm.hpp
INTPRESSUREOpenJDK10intxc2develop_pdNumber of integer LRG's that constitute high register pressureshare/opto/c2_globals.hpp
INTPRESSUREOpenJDK10intxppc26define_pd_globalcpu/ppc/c2_globals_ppc.hpp
INTPRESSUREOpenJDK10intxs39010define_pd_global// Medium size register set, 6 special purpose regs, 3 SOE regs.cpu/s390/c2_globals_s390.hpp
INTPRESSUREOpenJDK10intxx866define_pd_globalcpu/x86/c2_globals_x86.hpp
IdealizeClearArrayNodeOpenJDK10boolaarch64truedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
IdealizeClearArrayNodeOpenJDK10boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
IdealizeClearArrayNodeOpenJDK10boolc2diagnostic_pdReplace ClearArrayNode by subgraph of basic operations.share/opto/c2_globals.hpp
IdealizeClearArrayNodeOpenJDK10boolppctruedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
IdealizeClearArrayNodeOpenJDK10bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
IdealizeClearArrayNodeOpenJDK10boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
IdealizedNumericsOpenJDK10boolc2falsedevelopCheck performance difference allowing FP associativity and commutativity...share/opto/c2_globals.hpp
IgnoreEmptyClassPathsOpenJDK10boolruntimefalseproductIgnore empty path elements in -classpathshare/runtime/globals.hpp
IgnoreRewritesOpenJDK10boolruntimefalsedevelopSuppress rewrites of bytecodes in the oopmap generator. This is unsafe!share/runtime/globals.hpp
IgnoreUnrecognizedVMOptionsOpenJDK10boolruntimefalseproductIgnore unrecognized VM optionsshare/runtime/globals.hpp
ImplicitDiv0ChecksOpenJDK10boolc1truedevelopUse implicit division by zero checksshare/c1/c1_globals.hpp
ImplicitNullCheckThresholdOpenJDK10intxc23
range(0, max_jint)
developDon't do implicit null checks if NPE's in a method exceeds limitshare/opto/c2_globals.hpp
ImplicitNullChecksOpenJDK10boolaarch64truedefine_pd_global// Generate code for implicit null checkscpu/aarch64/globals_aarch64.hpp
ImplicitNullChecksOpenJDK10boolarmtruedefine_pd_global// Generate code for implicit null checkscpu/arm/globals_arm.hpp
ImplicitNullChecksOpenJDK10boolruntimediagnostic_pdGenerate code for implicit null checksshare/runtime/globals.hpp
ImplicitNullChecksOpenJDK10boolppctruedefine_pd_global// Generate code for implicit null checks.cpu/ppc/globals_ppc.hpp
ImplicitNullChecksOpenJDK10bools390truedefine_pd_global// Generate code for implicit null checks.cpu/s390/globals_s390.hpp
ImplicitNullChecksOpenJDK10boolx86truedefine_pd_global// Generate code for implicit null checkscpu/x86/globals_x86.hpp
ImplicitNullChecksOpenJDK10boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
IncreaseFirstTierCompileThresholdAtOpenJDK10uintxruntime50
range(0, 99)
productIncrease the compile threshold for C1 compilation if the code cache is filled by the specified percentageshare/runtime/globals.hpp
IncrementalInlineOpenJDK10boolc2trueproductdo post parse inliningshare/opto/c2_globals.hpp
IndexSetWatchOpenJDK10intxc20
range(-1, 0)
notproductTrace all operations on this IndexSet (-1 means all, 0 none)share/opto/c2_globals.hpp
InitArrayShortSizeOpenJDK10intxaarch64BytesPerLongdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
InitArrayShortSizeOpenJDK10intxarm8*BytesPerLongdefine_pd_globalcpu/arm/globals_arm.hpp
InitArrayShortSizeOpenJDK10intxruntimediagnostic_pdThreshold small size (in bytes) for clearing arrays. Anything this size or smaller may get converted to discrete scalar stores.share/runtime/globals.hpp
InitArrayShortSizeOpenJDK10intxppc9*BytesPerLongdefine_pd_globalcpu/ppc/globals_ppc.hpp
InitArrayShortSizeOpenJDK10intxs3901*BytesPerLongdefine_pd_globalcpu/s390/globals_s390.hpp
InitArrayShortSizeOpenJDK10intxx868*BytesPerLongdefine_pd_globalcpu/x86/globals_x86.hpp
InitArrayShortSizeOpenJDK10intxzero0define_pd_globalcpu/zero/globals_zero.hpp
InitialBootClassLoaderMetaspaceSizeOpenJDK10Deprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
size_truntimeNOT_LP64(2200*K) LP64_ONLY(4*M)
range(30*K, max_uintx/BytesPerWord)
product(Deprecated) Initial size of the boot class loader data metaspaceshare/runtime/globals.hpp
InitialCodeCacheSizeOpenJDK10intxaarch64160*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
InitialCodeCacheSizeOpenJDK10size_tarm1536*Kdefine_pd_global// Integral multiple of CodeCacheExpansionSizecpu/arm/c2_globals_arm.hpp
InitialCodeCacheSizeOpenJDK10uintxcompiler160*Kdefine_pd_globalshare/compiler/compiler_globals.hpp
InitialCodeCacheSizeOpenJDK10uintxruntimeproduct_pdInitial code cache size (in bytes)share/runtime/globals.hpp
InitialCodeCacheSizeOpenJDK10uintxppc160*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
InitialCodeCacheSizeOpenJDK10uintxs3902048*Kdefine_pd_global// Integral multiple of CodeCacheExpansionSizecpu/s390/c2_globals_s390.hpp
InitialCodeCacheSizeOpenJDK10uintxx86160*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
InitialHeapSizeOpenJDK10size_tgc0productInitial heap size (in bytes); zero means use ergonomicsshare/gc/shared/gc_globals.hpp
InitialRAMFractionOpenJDK10Deprecated in JDK10uintxgc64
range(1, max_uintx)
productFraction (1/n) of real memory used for initial heap size. Deprecated, use InitialRAMPercentage insteadshare/gc/shared/gc_globals.hpp
InitialRAMPercentageOpenJDK10doublegc1.5625
range(0.0, 100.0)
productPercentage of real memory used for initial heap sizeshare/gc/shared/gc_globals.hpp
InitialSurvivorRatioOpenJDK10uintxgc8
range(0, max_uintx)
productInitial ratio of young generation/survivor space sizeshare/gc/shared/gc_globals.hpp
InitialTenuringThresholdOpenJDK10uintxgc7
range(0, markWord::max_age + 1)
productInitial value for tenuring thresholdshare/gc/shared/gc_globals.hpp
InitiatingHeapOccupancyPercentOpenJDK10uintxgc45
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
InjectCompilerCreationFailureOpenJDK11boolruntimefalsedevelopInject thread creation failures for UseDynamicNumberOfCompilerThreadsshare/runtime/globals.hpp
InjectGCWorkerCreationFailureOpenJDK10boolgcfalsediagnosticInject thread creation failures for UseDynamicNumberOfGCThreadsshare/gc/shared/gc_globals.hpp
InlineAccessorsOpenJDK10boolc2truedevelopinline accessor methods (get/set)share/opto/c2_globals.hpp
InlineArrayCopyOpenJDK10boolruntimetruediagnosticInline arraycopy native that is known to be part of base library DLLshare/runtime/globals.hpp
InlineClassNativesOpenJDK10boolcompilertruedefine_pd_globalshare/compiler/compiler_globals.hpp
InlineClassNativesOpenJDK10boolruntimetruediagnosticInline Class.isInstance, etcshare/runtime/globals.hpp
InlineDataFileOpenJDK10ccstrruntimeNULLproductFile containing inlining replay information[default: ./inline_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
InlineFrequencyCountOpenJDK10intxaarch64100define_pd_globalcpu/aarch64/globals_aarch64.hpp
InlineFrequencyCountOpenJDK10intxarm50define_pd_globalcpu/arm/globals_arm.hpp
InlineFrequencyCountOpenJDK10intxruntimediagnostic_pdCount of call site execution necessary to trigger frequent inliningshare/runtime/globals.hpp
InlineFrequencyCountOpenJDK10intxppc100define_pd_globalcpu/ppc/globals_ppc.hpp
InlineFrequencyCountOpenJDK10intxs390100define_pd_globalcpu/s390/globals_s390.hpp
InlineFrequencyCountOpenJDK10intxx86100define_pd_globalcpu/x86/globals_x86.hpp
InlineFrequencyCountOpenJDK10intxzero100define_pd_globalcpu/zero/globals_zero.hpp
InlineFrequencyRatioOpenJDK10intxruntime20
range(0, max_jint)
developRatio of call site execution to caller method invocationshare/runtime/globals.hpp
InlineIntrinsicsOpenJDK10boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
InlineIntrinsicsOpenJDK10boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
InlineIntrinsicsOpenJDK10boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
InlineIntrinsicsOpenJDK10boolruntimedevelop_pdInline intrinsics that can be statically resolvedshare/runtime/globals.hpp
InlineIntrinsicsOpenJDK10boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
InlineIntrinsicsOpenJDK10bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
InlineIntrinsicsOpenJDK10boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
InlineMathNativesOpenJDK10boolruntimetruediagnosticInline SinD, CosD, etc.share/runtime/globals.hpp
InlineMethodsWithExceptionHandlersOpenJDK10boolc1truedevelopInline methods containing exception handlers (NOTE: does not work with current backend)share/c1/c1_globals.hpp
InlineNIOCheckIndexOpenJDK10boolc1truediagnosticIntrinsify java.nio.Buffer.checkIndexshare/c1/c1_globals.hpp
InlineNativesOpenJDK10boolruntimetruediagnosticInline natives that are known to be part of base library DLLshare/runtime/globals.hpp
InlineObjectCopyOpenJDK10boolc2truediagnosticinline Object.clone and Arrays.copyOf[Range] intrinsicsshare/opto/c2_globals.hpp
InlineObjectHashOpenJDK10boolruntimetruediagnosticInline Object::hashCode() native that is known to be part of base library DLLshare/runtime/globals.hpp
InlineReflectionGetCallerClassOpenJDK10boolc2truediagnosticinline sun.reflect.Reflection.getCallerClass(), known to be part of base library DLLshare/opto/c2_globals.hpp
InlineSmallCodeOpenJDK10intxaarch641000define_pd_globalcpu/aarch64/globals_aarch64.hpp
InlineSmallCodeOpenJDK10intxarm1500define_pd_globalcpu/arm/globals_arm.hpp
InlineSmallCodeOpenJDK10intxc2product_pdOnly inline already compiled methods if their code size is less than thisshare/opto/c2_globals.hpp
InlineSmallCodeOpenJDK10intxppc1500define_pd_globalcpu/ppc/globals_ppc.hpp
InlineSmallCodeOpenJDK10intxs3902000define_pd_globalcpu/s390/globals_s390.hpp
InlineSmallCodeOpenJDK10intxx861000define_pd_globalcpu/x86/globals_x86.hpp
InlineSmallCodeOpenJDK10intxzero1000define_pd_globalcpu/zero/globals_zero.hpp
InlineSynchronizedMethodsOpenJDK10boolc1trueproductInline synchronized methodsshare/c1/c1_globals.hpp
InlineThreadNativesOpenJDK10boolruntimetruediagnosticInline Thread.currentThread, etcshare/runtime/globals.hpp
InlineThrowCountOpenJDK10intxruntime50
range(0, max_jint)
developForce inlining of interpreted methods that throw this oftenshare/runtime/globals.hpp
InlineThrowMaxSizeOpenJDK10intxruntime200
range(0, max_jint)
developForce inlining of throwing methods smaller than thisshare/runtime/globals.hpp
InlineUnsafeOpsOpenJDK10boolcompilertruedefine_pd_globalshare/compiler/compiler_globals.hpp
InlineUnsafeOpsOpenJDK10boolruntimetruediagnosticInline memory ops (native methods) from Unsafeshare/runtime/globals.hpp
InlineWarmCallsOpenJDK10boolc2falsedevelopUse a heat-based priority queue to govern inliningshare/opto/c2_globals.hpp
InlineOpenJDK10boolruntimetrueproductEnable inliningshare/runtime/globals.hpp
InsertEndGroupPPC64OpenJDK10boolppcfalseproductInsert EndGroup instructions to optimize for Power6.cpu/ppc/globals_ppc.hpp
InsertMemBarAfterArraycopyOpenJDK10Obsoleted in JDK16
Expired in JDK17
boolc2trueproductInsert memory barrier after arraycopy callshare/opto/c2_globals.hpp
InstallMethodsOpenJDK10boolc1truedevelopInstall methods at the end of successful compilationsshare/c1/c1_globals.hpp
InstructionCountCutoffOpenJDK10intxc137000
range(0, max_jint)
developIf GraphBuilder adds this many instructions, bails outshare/c1/c1_globals.hpp
IntelJccErratumMitigationOpenJDK15boolx86truediagnosticTurn off JVM mitigations related to Intel micro code mitigations for the Intel JCC erratumcpu/x86/globals_x86.hpp
InterceptOSExceptionOpenJDK10boolruntimefalsedevelopStart debugger when an implicit OS (e.g. NULL) exception happensshare/runtime/globals.hpp
InteriorEntryAlignmentOpenJDK10intxaarch6416define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
InteriorEntryAlignmentOpenJDK10intxarm16define_pd_global// = CodeEntryAlignmentcpu/arm/c2_globals_arm.hpp
InteriorEntryAlignmentOpenJDK10intxc2product_pdCode alignment for interior entry points in generated code (in bytes)share/opto/c2_globals.hpp
InteriorEntryAlignmentOpenJDK10intxppc16define_pd_globalcpu/ppc/c2_globals_ppc.hpp
InteriorEntryAlignmentOpenJDK10intxs3902define_pd_globalcpu/s390/c2_globals_s390.hpp
InteriorEntryAlignmentOpenJDK10intxx864define_pd_globalcpu/x86/c2_globals_x86.hpp
InterpreterProfilePercentageOpenJDK10intxruntime33
range(0, 100)
productNON_TIERED number of method invocations/branches (expressed as % of CompileThreshold) before profiling in the interpretershare/runtime/globals.hpp
JVMCICounterSizeOpenJDK10intxjvmci0
range(0, 1000000)
experimentalReserved size for benchmark countersshare/jvmci/jvmci_globals.hpp
JVMCICountersExcludeCompilerOpenJDK10booljvmcitrueexperimentalExclude JVMCI compiler threads from benchmark countersshare/jvmci/jvmci_globals.hpp
JVMCIHostThreadsOpenJDK10intxjvmci1
range(0, max_jint))
experimentalForce number of C1 compiler threads. Ignored if UseJVMCICompiler is false.share/jvmci/jvmci_globals.hpp
JVMCILibDumpJNIConfigOpenJDK13ccstrjvmciNULLexperimentalDumps to the given file a description of the classes, fields and methods the JVMCI shared library must provideshare/jvmci/jvmci_globals.hpp
JVMCILibPathOpenJDK13ccstrjvmciNULLexperimentalLD path for loading the JVMCI shared libraryshare/jvmci/jvmci_globals.hpp
JVMCINMethodSizeLimitOpenJDK10intxjvmci(80*K)*wordSize
range(0, max_jint)
experimentalMaximum size of a compiled method.share/jvmci/jvmci_globals.hpp
JVMCIPrintPropertiesOpenJDK10booljvmcifalseexperimentalPrints properties used by the JVMCI compiler and exitsshare/jvmci/jvmci_globals.hpp
JVMCIThreadsOpenJDK10intxjvmci1
range(1, max_jint)
experimentalForce number of JVMCI compiler threads to use. Ignored if UseJVMCICompiler is false.share/jvmci/jvmci_globals.hpp
JVMCITraceLevelOpenJDK10intxjvmci0
range(0, 6)
experimentalTrace level for JVMCI:
1 means emit a message for each CompilerToVM call,levels greater than 1 provide progressively greater detail
share/jvmci/jvmci_globals.hpp
JVMCIUseFastLockingOpenJDK10booljvmcitruedevelopUse fast inlined locking codeshare/jvmci/jvmci_globals.hpp
JVMInvokeMethodSlackOpenJDK10size_taixppc8192define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
JVMInvokeMethodSlackOpenJDK10size_tbsdx868192define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
JVMInvokeMethodSlackOpenJDK10size_tbsdzero8192define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
JVMInvokeMethodSlackOpenJDK10uintxlinuxaarch648192define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
JVMInvokeMethodSlackOpenJDK10size_tlinuxarm8192define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
JVMInvokeMethodSlackOpenJDK10size_tlinuxppc8192define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
JVMInvokeMethodSlackOpenJDK10size_tlinuxs3908192define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
JVMInvokeMethodSlackOpenJDK10size_tlinuxx868192define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
JVMInvokeMethodSlackOpenJDK10size_tlinuxzero8192define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
JVMInvokeMethodSlackOpenJDK10size_truntimedevelop_pdStack space (bytes) required for JVM_InvokeMethod to completeshare/runtime/globals.hpp
JVMInvokeMethodSlackOpenJDK10size_twindowsx868192define_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
JavaMonitorsInStackTraceOpenJDK10boolruntimetrueproductPrint information about Java monitor locks when the stacks aredumpedshare/runtime/globals.hpp
JavaPriority10_To_OSPriorityOpenJDK10intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority1_To_OSPriorityOpenJDK10intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority2_To_OSPriorityOpenJDK10intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority3_To_OSPriorityOpenJDK10intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority4_To_OSPriorityOpenJDK10intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority5_To_OSPriorityOpenJDK10intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority6_To_OSPriorityOpenJDK10intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority7_To_OSPriorityOpenJDK10intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority8_To_OSPriorityOpenJDK10intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority9_To_OSPriorityOpenJDK10intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
LIRTraceExecutionOpenJDK10boolc1falsedevelopadd LIR code which logs the execution of blocksshare/c1/c1_globals.hpp
LIRTracePeepholeOpenJDK10boolc1falsedevelopTrace peephole optimizershare/c1/c1_globals.hpp
LargePageHeapSizeThresholdOpenJDK10size_truntime128*M
range(0, max_uintx)
productUse large pages if maximum heap is at least this bigshare/runtime/globals.hpp
LargePageSizeInBytesOpenJDK10size_truntime0
range(0, max_uintx)
productLarge page size (0 to let VM choose the page size)share/runtime/globals.hpp
LargePagesIndividualAllocationInjectErrorOpenJDK10boolruntimefalsedevelopFail large pages individual allocationshare/runtime/globals.hpp
LiveNodeCountInliningCutoffOpenJDK10intxc240000
range(0, max_juint / 8)
productmax number of live nodes in a methodshare/opto/c2_globals.hpp
LoadExecStackDllInVMThreadOpenJDK10boollinuxtrueproductLoad DLLs with executable-stack attribute in the VM Threados/linux/globals_linux.hpp
LoadLineNumberTablesOpenJDK10boolruntimetruedevelopTell whether the class file parser loads line number tablesshare/runtime/globals.hpp
LoadLocalVariableTablesOpenJDK10boolruntimetruedevelopTell whether the class file parser loads local variable tablesshare/runtime/globals.hpp
LoadLocalVariableTypeTablesOpenJDK10boolruntimetruedevelopTell whether the class file parser loads local variable typetablesshare/runtime/globals.hpp
LogCompilationOpenJDK10boolruntimefalsediagnosticLog compilation activity in detail to LogFileshare/runtime/globals.hpp
LogEventsBufferEntriesOpenJDK10uintxruntime20
range(1, NOT_LP64(1*K) LP64_ONLY(1*M))
diagnosticNumber of ring buffer event logsshare/runtime/globals.hpp
LogEventsOpenJDK10boolruntimetruediagnosticEnable the various ring buffer event logsshare/runtime/globals.hpp
LogFileOpenJDK10ccstrruntimeNULLdiagnosticIf LogVMOutput or LogCompilation is on, save VM output to this file [default: ./hotspot_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
LogSweeperOpenJDK10boolruntimefalsenotproductKeep a ring buffer of sweeper activityshare/runtime/globals.hpp
LogTouchedMethodsOpenJDK10boolruntimefalsediagnosticLog methods which have been ever touched in runtimeshare/runtime/globals.hpp
LogVMOutputOpenJDK10boolruntimefalsediagnosticSave VM output to LogFileshare/runtime/globals.hpp
LongCompileThresholdOpenJDK10intxruntime50developUsed with +TraceLongCompilesshare/runtime/globals.hpp
LoopMaxUnrollOpenJDK10intxc216
range(0, max_jint)
productMaximum number of unrolls for main loopshare/opto/c2_globals.hpp
LoopOptsCountOpenJDK10intxc243
range(5, 43)
productSet level of loop optimization for tier 1 compilesshare/opto/c2_globals.hpp
LoopPercentProfileLimitOpenJDK10intxaarch6410define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
LoopPercentProfileLimitOpenJDK10intxarm10define_pd_globalcpu/arm/c2_globals_arm.hpp
LoopPercentProfileLimitOpenJDK10intxc2product_pdUnroll loop bodies with % node count of profile limitshare/opto/c2_globals.hpp
LoopPercentProfileLimitOpenJDK10intxppc10define_pd_globalcpu/ppc/c2_globals_ppc.hpp
LoopPercentProfileLimitOpenJDK10intxs39010define_pd_globalcpu/s390/c2_globals_s390.hpp
LoopPercentProfileLimitOpenJDK10intxx8630define_pd_globalcpu/x86/c2_globals_x86.hpp
LoopStripMiningIterShortLoopOpenJDK10uintxc20
range(0, max_juint)
productLoop with fewer iterations are not strip minedshare/opto/c2_globals.hpp
LoopStripMiningIterOpenJDK10uintxc20
range(0, max_juint)
productNumber of iterations in strip mined loopshare/opto/c2_globals.hpp
LoopUnrollLimitOpenJDK10intxaarch6460define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
LoopUnrollLimitOpenJDK10intxarm60define_pd_global// Design center runs on 1.3.1cpu/arm/c2_globals_arm.hpp
LoopUnrollLimitOpenJDK10intxc2product_pdUnroll loop bodies with node count less than thisshare/opto/c2_globals.hpp
LoopUnrollLimitOpenJDK10intxppc60define_pd_globalcpu/ppc/c2_globals_ppc.hpp
LoopUnrollLimitOpenJDK10intxs39060define_pd_globalcpu/s390/c2_globals_s390.hpp
LoopUnrollLimitOpenJDK10intxx8650define_pd_global// Design center runs on 1.3.1cpu/x86/c2_globals_x86.hpp
LoopUnrollMinOpenJDK10intxc24
range(0, max_jint)
productMinimum number of unroll loop bodies before checking progressof rounds of unroll,optimize,..share/opto/c2_globals.hpp
LoopUnswitchingOpenJDK10boolc2trueproductEnable loop unswitching (a form of invariant test hoisting)share/opto/c2_globals.hpp
MVCLEThresholdOpenJDK10size_ts390+2*(4*K)productThreshold above which page-aligned MVCLE copy/init is used.cpu/s390/globals_s390.hpp
MallocCatchPtrOpenJDK10intxruntime-1developHit breakpoint when mallocing/freeing this pointershare/runtime/globals.hpp
MallocMaxTestWordsOpenJDK10uintxruntime0
range(0, max_uintx)
diagnosticIf non-zero, maximum number of words that malloc/realloc can allocate (for testing only)share/runtime/globals.hpp
ManagementServerOpenJDK10boolruntimefalseproductCreate JMX Management Servershare/runtime/globals.hpp
MarkStackSizeMaxOpenJDK10size_tgcNOT_LP64(4*M) LP64_ONLY(512*M)
range(1, (max_jint - 1))
productMaximum size of marking stackshare/gc/shared/gc_globals.hpp
MarkStackSizeOpenJDK10size_tgcNOT_LP64(32*K) LP64_ONLY(4*M)
range(1, (max_jint - 1))
productSize of marking stackshare/gc/shared/gc_globals.hpp
MarkSweepAlwaysCompactCountOpenJDK10uintgc4
range(1, max_juint)
productHow often should we fully compact the heap (ignoring the dead space parameters)share/gc/shared/gc_globals.hpp
MarkSweepDeadRatioOpenJDK10uintxgc5
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.share/gc/shared/gc_globals.hpp
MaxBCEAEstimateLevelOpenJDK10intxruntime5
range(0, max_jint)
productMaximum number of nested calls that are analyzed by BC EAshare/runtime/globals.hpp
MaxBCEAEstimateSizeOpenJDK10intxruntime150
range(0, max_jint)
productMaximum bytecode size of a method to be analyzed by BC EAshare/runtime/globals.hpp
MaxDirectMemorySizeOpenJDK10uint64_truntime0
range(0, max_jlong)
productMaximum total size of NIO direct-buffer allocationsshare/runtime/globals.hpp
MaxElementPrintSizeOpenJDK10intxruntime256notproductmaximum number of elements to printshare/runtime/globals.hpp
MaxExpectedDataSegmentSizeOpenJDK10uintxaix8*GproductMaximum expected Data Segment Size.os/aix/globals_aix.hpp
MaxFDLimitOpenJDK10boolruntimetrueproductBump the number of file descriptors to maximum (Unix only)share/runtime/globals.hpp
MaxForceInlineLevelOpenJDK10intxruntime100
range(0, max_jint)
developmaximum number of nested calls that are forced for inlining (using CompileCommand or marked w/ @ForceInline)share/runtime/globals.hpp
MaxGCMinorPauseMillisOpenJDK10Deprecated in JDK8uintxgcmax_uintx
range(0, max_uintx)
productAdaptive size policy maximum GC minor pause time goal in millisecondshare/gc/shared/gc_globals.hpp
MaxGCPauseMillisOpenJDK10uintxgcmax_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
MaxHeapFreeRatioOpenJDK10uintxruntime70
range(0, 100)
manageableThe 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
MaxHeapSizeOpenJDK10size_tgcScaleForWordSize(96*M)productMaximum heap size (in bytes)share/gc/shared/gc_globals.hpp
MaxInlineLevelOpenJDK10intxc215
range(0, max_jint)
productmaximum number of nested calls that are inlined by high tier compilershare/opto/c2_globals.hpp
MaxInlineSizeOpenJDK10intxc235
range(0, max_jint)
productThe maximum bytecode size of a method to be inlined by high tier compilershare/opto/c2_globals.hpp
MaxJNILocalCapacityOpenJDK10intxruntime65536
range(min_intx, max_intx)
productMaximum allowable local JNI handle capacity to EnsureLocalCapacity() and PushLocalFrame(), where <= 0 is unlimited, default: 65536share/runtime/globals.hpp
MaxJavaStackTraceDepthOpenJDK10intxruntime1024
range(0, max_jint/2)
productThe maximum number of lines in the stack trace for Java exceptions (0 means all)share/runtime/globals.hpp
MaxJumpTableSizeOpenJDK10intxc265000
range(0, max_intx)
productMaximum number of targets in a generated jump tableshare/opto/c2_globals.hpp
MaxJumpTableSparsenessOpenJDK10intxc25
range(0, max_intx / 4)
productMaximum sparseness for jumptablesshare/opto/c2_globals.hpp
MaxLabelRootDepthOpenJDK10intxc21100
range(100, max_jint)
productMaximum times call Label_Root to prevent stack overflowshare/opto/c2_globals.hpp
MaxLoopPadOpenJDK10intxc2(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
MaxMetaspaceExpansionOpenJDK10size_truntimeScaleForWordSize(4*M)
range(0, max_uintx)
productThe maximum expansion of Metaspace without full GC (in bytes)share/runtime/globals.hpp
MaxMetaspaceFreeRatioOpenJDK10uintxruntime70
range(0, 100)
productThe maximum percentage of Metaspace free after GC to avoid shrinkingshare/runtime/globals.hpp
MaxMetaspaceSizeOpenJDK10size_truntimemax_uintxproductMaximum size of Metaspaces (in bytes)share/runtime/globals.hpp
MaxNewSizeOpenJDK10size_tgcmax_uintx
range(0, max_uintx)
productMaximum new generation size (in bytes), max_uintx means set ergonomicallyshare/gc/shared/gc_globals.hpp
MaxNodeLimitOpenJDK10intxc280000
range(1000, max_jint / 3)
productMaximum number of nodesshare/opto/c2_globals.hpp
MaxRAMFractionOpenJDK10Deprecated in JDK10uintxgc4
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
MaxRAMPercentageOpenJDK10doublegc25.0
range(0.0, 100.0)
productMaximum percentage of real memory used for maximum heap sizeshare/gc/shared/gc_globals.hpp
MaxRAMOpenJDK10uint64_taarch641ULL*Gdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
MaxRAMOpenJDK10uint64_tarm4ULL*Gdefine_pd_globalcpu/arm/c2_globals_arm.hpp
MaxRAMOpenJDK10uint64_tcompiler1ULL*Gdefine_pd_globalshare/compiler/compiler_globals.hpp
MaxRAMOpenJDK10uint64_tgcproduct_pdReal memory size (in bytes) used to set maximum heap sizeshare/gc/shared/gc_globals.hpp
MaxRAMOpenJDK10uint64_tppc1ULL*Gdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
MaxRAMOpenJDK10uint64_ts390128ULL*Gdefine_pd_globalcpu/s390/c2_globals_s390.hpp
MaxRAMOpenJDK10uint64_tx861ULL*Gdefine_pd_globalcpu/x86/c1_globals_x86.hpp
MaxRecursiveInlineLevelOpenJDK10intxc21
range(0, max_jint)
productmaximum number of nested recursive calls that are inlined by high tier compilershare/opto/c2_globals.hpp
MaxSubklassPrintSizeOpenJDK10intxruntime4notproductmaximum number of subklasses to print when printing klassshare/runtime/globals.hpp
MaxTenuringThresholdOpenJDK10uintxgc15
range(0, markWord::max_age + 1)
productMaximum value for tenuring thresholdshare/gc/shared/gc_globals.hpp
MaxTrivialSizeOpenJDK10intxc26
range(0, max_jint)
productThe maximum bytecode size of a trivial method to be inlined by high tier compilershare/opto/c2_globals.hpp
MaxVectorSizeOpenJDK10intxc264
range(0, max_jint)
productMax vector size in bytes, actual size could be less depending on elements typeshare/opto/c2_globals.hpp
MaxVirtMemFractionOpenJDK10uintxgc2developMaximum fraction (1/n) of virtual memory used for ergonomically determining maximum heap sizeshare/gc/shared/gc_globals.hpp
MemProfilingIntervalOpenJDK10intxruntime500notproductTime between each invocation of the MemProfilershare/runtime/globals.hpp
MemProfilingOpenJDK10boolruntimefalsedevelopWrite memory usage profiling to log fileshare/runtime/globals.hpp
MetadataAllocationFailALotIntervalOpenJDK10uintxgc1000developMetadata allocation failure a lot intervalshare/gc/shared/gc_globals.hpp
MetadataAllocationFailALotOpenJDK10boolgcfalsedevelopFail metadata allocations at intervals controlled by MetadataAllocationFailALotIntervalshare/gc/shared/gc_globals.hpp
MetaspaceSizeOpenJDK10uintxaarch6412*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
MetaspaceSizeOpenJDK10size_tarmScaleForWordSize(16*M)define_pd_globalcpu/arm/c2_globals_arm.hpp
MetaspaceSizeOpenJDK10size_tcompilerScaleForWordSize(4*M)define_pd_globalshare/compiler/compiler_globals.hpp
MetaspaceSizeOpenJDK10size_truntimeproduct_pdInitial threshold (in bytes) at which a garbage collection is done to reduce Metaspace usageshare/runtime/globals.hpp
MetaspaceSizeOpenJDK10size_tppc12*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
MetaspaceSizeOpenJDK10size_ts390ScaleForWordSize(16*M)define_pd_globalcpu/s390/c2_globals_s390.hpp
MetaspaceSizeOpenJDK10size_tx8612*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
MethodFlushingOpenJDK10boolruntimetrueproductReclamation of zombie and not-entrant methodsshare/runtime/globals.hpp
MethodHistogramCutoffOpenJDK10intxruntime100developThe cutoff value for method invocation histogram (+CountCalls)share/runtime/globals.hpp
MinHeapDeltaBytesOpenJDK10size_truntimeScaleForWordSize(128*K)
range(0, max_uintx)
productThe minimum change in heap space due to GC (in bytes)share/runtime/globals.hpp
MinHeapFreeRatioOpenJDK10uintxruntime40
range(0, 100)
manageableThe minimum percentage of heap free after GC to avoid expansion. For most GCs this applies to the old generation. In G1 and ParallelGC it applies to the whole heap.share/runtime/globals.hpp
MinHeapSizeOpenJDK13size_tgc0productMinimum heap size (in bytes); zero means use ergonomicsshare/gc/shared/gc_globals.hpp
MinInliningThresholdOpenJDK10intxruntime250
range(0, max_jint)
productThe minimum invocation count a method needs to have to be inlinedshare/runtime/globals.hpp
MinJumpTableSizeOpenJDK10intxaarch6410define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
MinJumpTableSizeOpenJDK10intxarm16define_pd_globalcpu/arm/c2_globals_arm.hpp
MinJumpTableSizeOpenJDK10intxc2product_pdMinimum number of targets in a generated jump tableshare/opto/c2_globals.hpp
MinJumpTableSizeOpenJDK10intxppc10define_pd_globalcpu/ppc/c2_globals_ppc.hpp
MinJumpTableSizeOpenJDK10intxs39018define_pd_globalcpu/s390/c2_globals_s390.hpp
MinJumpTableSizeOpenJDK10intxx8610define_pd_globalcpu/x86/c2_globals_x86.hpp
MinMetaspaceExpansionOpenJDK10size_truntimeScaleForWordSize(256*K)
range(0, max_uintx)
productThe minimum expansion of Metaspace (in bytes)share/runtime/globals.hpp
MinMetaspaceFreeRatioOpenJDK10uintxruntime40
range(0, 99)
productThe minimum percentage of Metaspace free after GC to avoid expansionshare/runtime/globals.hpp
MinOopMapAllocationOpenJDK10intxruntime8developMinimum number of OopMap entries in an OopMapSetshare/runtime/globals.hpp
MinPassesBeforeFlushOpenJDK10intxruntime10
range(0, max_intx)
diagnosticMinimum number of sweeper passes before an nmethod can be flushedshare/runtime/globals.hpp
MinRAMFractionOpenJDK10Deprecated in JDK10uintxgc2
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
MinRAMPercentageOpenJDK10doublegc50.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
MinSurvivorRatioOpenJDK10uintxgc3
range(3, max_uintx)
productMinimum ratio of young generation/survivor space sizeshare/gc/shared/gc_globals.hpp
MinTLABSizeOpenJDK10size_tgc2*K
range(1, max_uintx/2)
productMinimum allowed TLAB size (in bytes)share/gc/shared/gc_globals.hpp
MonitorUsedDeflationThresholdOpenJDK10intxruntime90
range(0, 100)
experimentalPercentage of used monitors before triggering deflation (0 is off). The check is performed on GuaranteedSafepointInterval or AsyncDeflationInterval.share/runtime/globals.hpp
MonomorphicArrayCheckOpenJDK10boolc2truedevelopUncommon-trap array store checks that require full type checkshare/opto/c2_globals.hpp
MultiArrayExpandLimitOpenJDK10intxc26
range(0, max_jint)
productMaximum number of individual allocations in an inline-expanded multianewarray instructionshare/opto/c2_globals.hpp
NMethodSizeLimitOpenJDK10intxc1(64*K)*wordSize
range(0, max_jint)
developMaximum size of a compiled method.share/c1/c1_globals.hpp
NUMAChunkResizeWeightOpenJDK10uintxruntime20
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for AdaptiveNUMAChunkSizingshare/runtime/globals.hpp
NUMAInterleaveGranularityOpenJDK10size_truntime2*M
range(os::vm_allocation_granularity(), NOT_LP64(2*G) LP64_ONLY(8192*G))
productGranularity to use for NUMA interleaving on Windows OSshare/runtime/globals.hpp
NUMAPageScanRateOpenJDK10uintxruntime256
range(0, max_uintx)
productMaximum number of pages to include in the page scan procedureshare/runtime/globals.hpp
NUMASpaceResizeRateOpenJDK10size_truntime1*G
range(0, max_uintx)
productDo not reallocate more than this amount per collectionshare/runtime/globals.hpp
NUMAStatsOpenJDK10boolruntimefalseproductPrint NUMA stats in detailed heap informationshare/runtime/globals.hpp
NativeMemoryTrackingOpenJDK10ccstrruntimeoffproductNative memory tracking optionsshare/runtime/globals.hpp
NearCpoolOpenJDK10boolaarch64trueproductconstant pool is close to instructionscpu/aarch64/globals_aarch64.hpp
NestedInliningSizeRatioOpenJDK10intxc190
range(0, 100)
developPercentage of prev. allowed inline size in recursive inliningshare/c1/c1_globals.hpp
NeverActAsServerClassMachineOpenJDK10boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NeverActAsServerClassMachineOpenJDK10boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
NeverActAsServerClassMachineOpenJDK10boolcompilertruedefine_pd_globalshare/compiler/compiler_globals.hpp
NeverActAsServerClassMachineOpenJDK10boolgcproduct_pdNever act like a server-class machineshare/gc/shared/gc_globals.hpp
NeverActAsServerClassMachineOpenJDK10boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NeverActAsServerClassMachineOpenJDK10bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
NeverActAsServerClassMachineOpenJDK10boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
NeverTenureOpenJDK10boolgcfalseproductNever tenure objects in eden, may tenure on overflow (ParallelGC only)share/gc/shared/gc_globals.hpp
NewCodeParameterOpenJDK10intxruntime0developTesting Only: Create a dedicated integer parameter before putbackshare/runtime/globals.hpp
NewRatioOpenJDK10uintxgc2
range(0, max_uintx-1)
productRatio of old/new generation sizesshare/gc/shared/gc_globals.hpp
NewSizeThreadIncreaseOpenJDK10intxaarch644*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NewSizeThreadIncreaseOpenJDK10size_tarmScaleForWordSize(4*K)define_pd_globalcpu/arm/c2_globals_arm.hpp
NewSizeThreadIncreaseOpenJDK10size_tcompiler4*Kdefine_pd_globalshare/compiler/compiler_globals.hpp
NewSizeThreadIncreaseOpenJDK10size_tgcproduct_pdAdditional size added to desired new generation size per non-daemon thread (in bytes)share/gc/shared/gc_globals.hpp
NewSizeThreadIncreaseOpenJDK10size_tppc16*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NewSizeThreadIncreaseOpenJDK10size_ts390ScaleForWordSize(4*K)define_pd_globalcpu/s390/c2_globals_s390.hpp
NewSizeThreadIncreaseOpenJDK10size_tx864*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NewSizeOpenJDK10size_tgcScaleForWordSize(1*M)productInitial new generation size (in bytes)share/gc/shared/gc_globals.hpp
NmethodSweepActivityOpenJDK10intxruntime10
range(0, 2000)
productRemoves cold nmethods from code cache if > 0. Higher values result in more aggressive sweepingshare/runtime/globals.hpp
NodeCountInliningCutoffOpenJDK10intxc218000
range(0, max_jint)
developIf parser node generation exceeds limit stop inliningshare/opto/c2_globals.hpp
NodeCountInliningStepOpenJDK10intxc21000
range(0, max_jint)
developTarget size of warm calls inlined between optimization passesshare/opto/c2_globals.hpp
NodeLimitFudgeFactorOpenJDK10intxc22000productFudge Factor for certain optimizationsshare/opto/c2_globals.hpp
NonNMethodCodeHeapSizeOpenJDK10intxaarch645*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NonNMethodCodeHeapSizeOpenJDK10size_tarm5*Mdefine_pd_globalcpu/arm/c2_globals_arm.hpp
NonNMethodCodeHeapSizeOpenJDK10uintxcompiler32*Mdefine_pd_globalshare/compiler/compiler_globals.hpp
NonNMethodCodeHeapSizeOpenJDK10uintxruntimeproduct_pdSize of code heap with non-nmethods (in bytes)share/runtime/globals.hpp
NonNMethodCodeHeapSizeOpenJDK10uintxppc5*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NonNMethodCodeHeapSizeOpenJDK10uintxs3905*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
NonNMethodCodeHeapSizeOpenJDK10uintxx865*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NonProfiledCodeHeapSizeOpenJDK10intxaarch6413*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NonProfiledCodeHeapSizeOpenJDK10size_tarm13*Mdefine_pd_globalcpu/arm/c2_globals_arm.hpp
NonProfiledCodeHeapSizeOpenJDK10uintxcompiler0define_pd_globalshare/compiler/compiler_globals.hpp
NonProfiledCodeHeapSizeOpenJDK10uintxruntimeproduct_pdSize of code heap with non-profiled methods (in bytes)share/runtime/globals.hpp
NonProfiledCodeHeapSizeOpenJDK10uintxppc13*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NonProfiledCodeHeapSizeOpenJDK10uintxs39021*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
NonProfiledCodeHeapSizeOpenJDK10uintxx8613*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NumberOfLoopInstrToAlignOpenJDK10intxc24
range(0, max_jint)
productNumber of first instructions in a loop to alignshare/opto/c2_globals.hpp
OSROnlyBCIOpenJDK10intxruntime-1developOSR only at this bci. Negative values mean exclude that bcishare/runtime/globals.hpp
ObjArrayMarkingStrideOpenJDK10uintxgc2048developNumber of object array elements to push onto the marking stack before pushing a continuation entryshare/gc/shared/gc_globals.hpp
ObjectAlignmentInBytesOpenJDK10intxruntime8
range(8, 256)
lp64_productDefault object alignment in bytes, 8 is minimumshare/runtime/globals.hpp
ObjectCountCutOffPercentOpenJDK10doubleruntime0.5
range(0.0, 100.0)
experimentalThe percentage of the used heap that the instances of a class must occupy for the class to generate a trace eventshare/runtime/globals.hpp
OldPLABSizeOpenJDK10size_tgc1024productSize of old gen promotion LAB's (in HeapWords)share/gc/shared/gc_globals.hpp
OldSizeOpenJDK10size_tgcScaleForWordSize(4*M)
range(0, max_uintx)
productInitial tenured generation size (in bytes)share/gc/shared/gc_globals.hpp
OmitStackTraceInFastThrowOpenJDK10boolruntimetrueproductOmit backtraces for some 'hot' exceptions in optimized codeshare/runtime/globals.hpp
OnErrorOpenJDK10ccstrlistruntimeRun user-defined commands on fatal error; see VMError.cpp for examplesproductshare/runtime/globals.hpp
OnOutOfMemoryErrorOpenJDK10ccstrlistruntimeRun user-defined commands on first java.lang.OutOfMemoryErrorproductshare/runtime/globals.hpp
OnStackReplacePercentageOpenJDK10intxaarch64933define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
OnStackReplacePercentageOpenJDK10intxarm140define_pd_globalcpu/arm/c2_globals_arm.hpp
OnStackReplacePercentageOpenJDK10intxcompiler0define_pd_globalshare/compiler/compiler_globals.hpp
OnStackReplacePercentageOpenJDK10intxruntimeproduct_pdNON_TIERED number of method invocations/branches (expressed as % of CompileThreshold) before (re-)compiling OSR codeshare/runtime/globals.hpp
OnStackReplacePercentageOpenJDK10intxppc1400define_pd_globalcpu/ppc/c1_globals_ppc.hpp
OnStackReplacePercentageOpenJDK10intxs390140define_pd_globalcpu/s390/c2_globals_s390.hpp
OnStackReplacePercentageOpenJDK10intxx86933define_pd_globalcpu/x86/c1_globals_x86.hpp
OptimizeExpensiveOpsOpenJDK10boolc2truediagnosticFind best control for expensive operationsshare/opto/c2_globals.hpp
OptimizeFillOpenJDK10boolc2true PPC64_ONLY(&& false)productconvert fill/copy loops into intrinsicshare/opto/c2_globals.hpp
OptimizeIfOpsOpenJDK10boolc1truedevelopOptimize multiple IfOpsshare/c1/c1_globals.hpp
OptimizePollingPageLocationOpenJDK10boolaixtrueproductOptimize the location of the polling page used for Safepointsos/aix/globals_aix.hpp
OptimizePtrCompareOpenJDK10boolc2trueproductUse escape analysis to optimize pointers compareshare/opto/c2_globals.hpp
OptimizeSinglePrecisionOpenJDK10boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
OptimizeSinglePrecisionOpenJDK10boolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
OptimizeSinglePrecisionOpenJDK10boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
OptimizeSinglePrecisionOpenJDK10bools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
OptimizeSinglePrecisionOpenJDK10boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
OptimizeStringConcatOpenJDK10boolc2trueproductOptimize the construction of Strings by StringBuildershare/opto/c2_globals.hpp
OptimizeUnsafesOpenJDK10boolc1truedevelopOptimize raw unsafe opsshare/c1/c1_globals.hpp
OptoBlockListSizeOpenJDK10intxc28
range(0, max_jint)
developStarting allocation size of Block_List data structuresshare/opto/c2_globals.hpp
OptoBreakpointC2ROpenJDK10boolc2falsenotproductinsert breakpoint at runtime stub entryshare/opto/c2_globals.hpp
OptoBreakpointOSROpenJDK10boolc2falsenotproductinsert breakpoint at osr method entryshare/opto/c2_globals.hpp
OptoBreakpointOpenJDK10boolc2falsedevelopinsert breakpoint at method entryshare/opto/c2_globals.hpp
OptoBundlingOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoBundlingOpenJDK10boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
OptoBundlingOpenJDK10boolc2product_pdGenerate nops to fill i-cache linesshare/opto/c2_globals.hpp
OptoBundlingOpenJDK10boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoBundlingOpenJDK10bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoBundlingOpenJDK10boolx86falsedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoCoalesceOpenJDK10boolc2truedevelopUse Conservative Copy Coalescing in the Register Allocatorshare/opto/c2_globals.hpp
OptoLoopAlignmentOpenJDK10intxaarch6416define_pd_globalcpu/aarch64/globals_aarch64.hpp
OptoLoopAlignmentOpenJDK10intxarm16define_pd_globalcpu/arm/globals_arm.hpp
OptoLoopAlignmentOpenJDK10intxruntimeproduct_pdAlign inner loops to zero relative to this modulusshare/runtime/globals.hpp
OptoLoopAlignmentOpenJDK10intxppc16define_pd_globalcpu/ppc/globals_ppc.hpp
OptoLoopAlignmentOpenJDK10intxs3902define_pd_globalcpu/s390/globals_s390.hpp
OptoLoopAlignmentOpenJDK10intxx8616define_pd_globalcpu/x86/globals_x86.hpp
OptoLoopAlignmentOpenJDK10intxzero16define_pd_globalcpu/zero/globals_zero.hpp
OptoNoExecuteOpenJDK10boolc2falsenotproductAttempt to parse and compile but do not execute generated codeshare/opto/c2_globals.hpp
OptoNodeListSizeOpenJDK10intxc24
range(0, max_jint)
developStarting allocation size of Node_List data structuresshare/opto/c2_globals.hpp
OptoPeepholeAtOpenJDK10intxc2-1developApply peephole optimizations to this peephole ruleshare/opto/c2_globals.hpp
OptoPeepholeOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoPeepholeOpenJDK10boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
OptoPeepholeOpenJDK10boolc2develop_pdApply peephole optimizations after register allocationshare/opto/c2_globals.hpp
OptoPeepholeOpenJDK10boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoPeepholeOpenJDK10bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoPeepholeOpenJDK10boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoPrologueNopsOpenJDK10intxc20
range(0, 128)
developInsert this many extra nop instructions in the prologue of every nmethodshare/opto/c2_globals.hpp
OptoRegSchedulingOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoRegSchedulingOpenJDK10boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
OptoRegSchedulingOpenJDK10boolc2product_pdInstruction Scheduling before register allocation for pressureshare/opto/c2_globals.hpp
OptoRegSchedulingOpenJDK10boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoRegSchedulingOpenJDK10bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoRegSchedulingOpenJDK10boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoRemoveUselessOpenJDK10boolc2truedevelopRemove useless nodes after parsingshare/opto/c2_globals.hpp
OptoSchedulingOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoSchedulingOpenJDK10boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
OptoSchedulingOpenJDK10boolc2product_pdInstruction Scheduling after register allocationshare/opto/c2_globals.hpp
OptoSchedulingOpenJDK10boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoSchedulingOpenJDK10bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoSchedulingOpenJDK10boolx86falsedefine_pd_globalcpu/x86/c2_globals_x86.hpp
PLABWeightOpenJDK10uintxgc75
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for ResizePLABshare/gc/shared/gc_globals.hpp
PSAdaptiveSizePolicyResizeVirtualSpaceAlotOpenJDK10intxgc-1
range(-1, 1)
developResize the virtual spaces of the young or old generationsshare/gc/shared/gc_globals.hpp
PSChunkLargeArraysOpenJDK10boolgctrueproductProcess large arrays in chunksshare/gc/parallel/parallel_globals.hpp
ParGCArrayScanChunkOpenJDK10intgc50
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
ParallelGCBufferWastePctOpenJDK10uintxgc10
range(0, 100)
productWasted fraction of parallel allocation buffershare/gc/shared/gc_globals.hpp
ParallelGCThreadsOpenJDK10uintgc0productNumber of parallel threads parallel gc will useshare/gc/shared/gc_globals.hpp
ParallelOldDeadWoodLimiterMeanOpenJDK10size_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
ParallelOldDeadWoodLimiterStdDevOpenJDK10size_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
ParallelRefProcBalancingEnabledOpenJDK10boolgctrueproductEnable balancing of reference processing queuesshare/gc/shared/gc_globals.hpp
ParallelRefProcEnabledOpenJDK10boolgcfalseproductEnable parallel reference processing whenever possibleshare/gc/shared/gc_globals.hpp
PartialPeelAtUnsignedTestsOpenJDK10boolc2trueproductPartial peel at unsigned tests if no signed test existsshare/opto/c2_globals.hpp
PartialPeelLoopOpenJDK10boolc2trueproductPartial peel (rotate) loopsshare/opto/c2_globals.hpp
PartialPeelNewPhiDeltaOpenJDK10intxc20
range(0, max_jint)
productAdditional phis that can be created by partial peelingshare/opto/c2_globals.hpp
PatchALotOpenJDK10boolc1falsedevelopMarks all fields as having unloaded classesshare/c1/c1_globals.hpp
PauseAtExitOpenJDK10boolruntimefalsediagnosticPause and wait for keypress on exit if a debugger is attachedshare/runtime/globals.hpp
PauseAtStartupFileOpenJDK10ccstrruntimeNULLdiagnosticThe file to create and for whose removal to await when pausing at startup. (default: ./vm.paused.<pid>)share/runtime/globals.hpp
PauseAtStartupOpenJDK10boolruntimefalsediagnosticCauses the VM to pause at startup time and wait for the pause file to be removed (default: ./vm.paused.<pid>)share/runtime/globals.hpp
PausePaddingOpenJDK10uintxgc1
range(0, max_juint)
productHow much buffer to keep for pause timeshare/gc/shared/gc_globals.hpp
PerBytecodeRecompilationCutoffOpenJDK10intxruntime200
range(-1, max_intx)
productPer-BCI limit on repeated recompilation (-1=>'Inf')share/runtime/globals.hpp
PerBytecodeTrapLimitOpenJDK10intxruntime4
range(0, max_jint)
productLimit on traps (of one kind) at a particular BCIshare/runtime/globals.hpp
PerMethodRecompilationCutoffOpenJDK10intxruntime400
range(-1, max_intx)
productAfter recompiling N times, stay in the interpreter (-1=>'Inf')share/runtime/globals.hpp
PerMethodSpecTrapLimitOpenJDK10intxruntime5000
range(0, max_jint)
experimentalLimit on speculative traps (of one kind) in a method (includes inlines)share/runtime/globals.hpp
PerMethodTrapLimitOpenJDK10intxruntime100
range(0, max_jint)
productLimit on traps (of one kind) in a method (includes inlines)share/runtime/globals.hpp
PerfAllowAtExitRegistrationOpenJDK10boolruntimefalseproductAllow registration of atexit() methodsshare/runtime/globals.hpp
PerfBypassFileSystemCheckOpenJDK10boolruntimefalseproductBypass Win32 file system criteria checks (Windows Only)share/runtime/globals.hpp
PerfDataMemorySizeOpenJDK10intxruntime32*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
PerfDataSamplingIntervalOpenJDK10intxruntime50
range(PeriodicTask::min_interval, max_jint)
productData sampling interval (in milliseconds)share/runtime/globals.hpp
PerfDataSaveFileOpenJDK10ccstrruntimeNULLproductSave PerfData memory to the specified absolute pathname. The string %p in the file name (if present) will be replaced by pidshare/runtime/globals.hpp
PerfDataSaveToFileOpenJDK10boolruntimefalseproductSave PerfData memory to hsperfdata_<pid> file on exitshare/runtime/globals.hpp
PerfDisableSharedMemOpenJDK10boolruntimefalseproductStore performance data in standard memoryshare/runtime/globals.hpp
PerfMaxStringConstLengthOpenJDK10intxruntime1024
range(32, 32*K)
productMaximum PerfStringConstant string length before truncationshare/runtime/globals.hpp
PinAllInstructionsOpenJDK10boolc1falsedevelopAll instructions are pinnedshare/c1/c1_globals.hpp
PoisonOSREntryOpenJDK10boolc2truedevelopDetect abnormal calls to OSR codeshare/opto/c2_globals.hpp
PostLoopMultiversioningOpenJDK10boolc2falseexperimentalMulti versioned post loops to eliminate range checksshare/opto/c2_globals.hpp
PowerArchitecturePPC64OpenJDK10uintxppc0productCPU Version: x for PowerX. Currently recognizes Power5 to Power8. Default is 0. Newer CPUs will be recognized as Power8.cpu/ppc/globals_ppc.hpp
PreTouchParallelChunkSizeOpenJDK10size_tgc1 * G
range(1, SIZE_MAX / 2)
productPer-thread chunk size for parallel memory pre-touch.share/gc/shared/gc_globals.hpp
PreallocatedOutOfMemoryErrorCountOpenJDK10uintxruntime4developNumber of OutOfMemoryErrors preallocated with backtraceshare/runtime/globals.hpp
PreferContainerQuotaForCPUCountOpenJDK11boollinuxtrueproductCalculate 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
PreferInterpreterNativeStubsOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
PreferInterpreterNativeStubsOpenJDK10boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
PreferInterpreterNativeStubsOpenJDK10boolcompilertruedefine_pd_globalshare/compiler/compiler_globals.hpp
PreferInterpreterNativeStubsOpenJDK10boolruntimeproduct_pdUse always interpreter stubs for native methods invoked via interpretershare/runtime/globals.hpp
PreferInterpreterNativeStubsOpenJDK10boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
PreferInterpreterNativeStubsOpenJDK10bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
PreferInterpreterNativeStubsOpenJDK10boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
PreferLAoverADDOpenJDK10bools390falseproductUse LA/LAY instructions over ADD instructions (z/Architecture).cpu/s390/globals_s390.hpp
PrefetchCopyIntervalInBytesOpenJDK10intxgc-1
range(-1, max_jint)
productHow far ahead to prefetch destination area (<= 0 means off)share/gc/shared/gc_globals.hpp
PrefetchFieldsAheadOpenJDK10intxgc-1
range(-1, max_jint)
productHow many fields ahead to prefetch in oop scan (<= 0 means off)share/gc/shared/gc_globals.hpp
PrefetchScanIntervalInBytesOpenJDK10intxgc-1
range(-1, max_jint)
productHow far ahead to prefetch scan area (<= 0 means off)share/gc/shared/gc_globals.hpp
PreserveAllAnnotationsOpenJDK10boolruntimefalseproductPreserve RuntimeInvisibleAnnotations as well as RuntimeVisibleAnnotationsshare/runtime/globals.hpp
PreserveFramePointerOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
PreserveFramePointerOpenJDK10boolarmfalsedefine_pd_globalcpu/arm/globals_arm.hpp
PreserveFramePointerOpenJDK10boolruntimeproduct_pdUse the FP register for holding the frame pointer and not as a general purpose register.share/runtime/globals.hpp
PreserveFramePointerOpenJDK10boolppcfalsedefine_pd_globalcpu/ppc/globals_ppc.hpp
PreserveFramePointerOpenJDK10bools390falsedefine_pd_globalcpu/s390/globals_s390.hpp
PreserveFramePointerOpenJDK10boolx86falsedefine_pd_globalcpu/x86/globals_x86.hpp
PreserveFramePointerOpenJDK10boolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
PretenureSizeThresholdOpenJDK10size_tgc0
range(0, max_uintx)
productMaximum size in bytes of objects allocated in DefNew generation; zero means no maximumshare/gc/shared/gc_globals.hpp
PrintAOTStatisticsOpenJDK10boolruntimefalsenotproductPrint AOT statisticsshare/runtime/globals.hpp
PrintAOTOpenJDK10boolruntimefalseexperimentalPrint used AOT klasses and methodsshare/runtime/globals.hpp
PrintAdapterHandlersOpenJDK10boolruntimefalsediagnosticPrint code generated for i2c/c2i adaptersshare/runtime/globals.hpp
PrintAssemblyOptionsOpenJDK10ccstrruntimeNULLdiagnosticPrint options string passed to disassembler.soshare/runtime/globals.hpp
PrintAssemblyOpenJDK10boolruntimefalsediagnosticPrint assembly code (using external disassembler.so)share/runtime/globals.hpp
PrintBailoutsOpenJDK10boolc1falsedevelopPrint bailout and its reasonshare/c1/c1_globals.hpp
PrintBiasedLockingStatisticsOpenJDK10Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolruntimefalsediagnostic(Deprecated) Print statistics of biased locking in JVMshare/runtime/globals.hpp
PrintBlockEliminationOpenJDK10boolc1falsedevelopPrint basic block eliminationshare/c1/c1_globals.hpp
PrintBootstrapOpenJDK10booljvmcitrueexperimentalPrint JVMCI bootstrap progress and summaryshare/jvmci/jvmci_globals.hpp
PrintBytecodeHistogramOpenJDK10boolruntimefalsedevelopPrint histogram of the executed bytecodesshare/runtime/globals.hpp
PrintBytecodePairHistogramOpenJDK10boolruntimefalsedevelopPrint histogram of the executed bytecode pairsshare/runtime/globals.hpp
PrintC1StatisticsOpenJDK10boolc1falsenotproductPrint Compiler1 statisticsshare/c1/c1_globals.hpp
PrintCEEOpenJDK10boolc1falsedevelopPrint Conditional Expression Eliminationshare/c1/c1_globals.hpp
PrintCFG0OpenJDK10boolc1falsenotproductPrint control flow graph after constructionshare/c1/c1_globals.hpp
PrintCFG1OpenJDK10boolc1falsenotproductPrint control flow graph after optimizationsshare/c1/c1_globals.hpp
PrintCFG2OpenJDK10boolc1falsenotproductPrint control flow graph before code generationshare/c1/c1_globals.hpp
PrintCFGBlockFreqOpenJDK10boolc2falsedevelopPrint CFG block freqenciesshare/opto/c2_globals.hpp
PrintCFGToFileOpenJDK10boolc1falsedevelopprint control flow graph to a separate file during compilationshare/c1/c1_globals.hpp
PrintCFGOpenJDK10boolc1falsenotproductPrint control flow graph after each changeshare/c1/c1_globals.hpp
PrintCanonicalizationOpenJDK10boolc1falsedevelopPrint graph node canonicalizationshare/c1/c1_globals.hpp
PrintClassHistogramOpenJDK10boolruntimefalsemanageablePrint a histogram of class instancesshare/runtime/globals.hpp
PrintCodeCache2OpenJDK10boolruntimefalsedevelopPrint detailed usage information on the code cache when exitingshare/runtime/globals.hpp
PrintCodeCacheExtensionOpenJDK10boolruntimefalsedevelopPrint extension of code cacheshare/runtime/globals.hpp
PrintCodeCacheOnCompilationOpenJDK10boolruntimefalseproductPrint the code cache memory usage each time a method is compiledshare/runtime/globals.hpp
PrintCodeCacheOpenJDK10boolruntimefalseproductPrint the code cache memory usage when exitingshare/runtime/globals.hpp
PrintCodeHeapAnalyticsOpenJDK12boolruntimefalsediagnosticPrint code heap usage statistics on exit and on full conditionshare/runtime/globals.hpp
PrintCommandLineFlagsOpenJDK10boolruntimefalseproductPrint flags specified on command line or set by ergonomicsshare/runtime/globals.hpp
PrintCompilation2OpenJDK10boolruntimefalsediagnosticPrint additional statistics per compilationshare/runtime/globals.hpp
PrintCompilationOpenJDK10boolruntimefalseproductPrint compilationsshare/runtime/globals.hpp
PrintConcurrentLocksOpenJDK10boolruntimefalsemanageablePrint java.util.concurrent locks in thread dumpshare/runtime/globals.hpp
PrintDebugInfoOpenJDK10boolruntimefalsedevelopPrint debug information for all nmethods when generatedshare/runtime/globals.hpp
PrintDeoptimizationDetailsOpenJDK10boolruntimefalsedevelopPrint more information about deoptimizationshare/runtime/globals.hpp
PrintDependenciesOpenJDK10boolruntimefalsedevelopPrint dependency information for all nmethods when generatedshare/runtime/globals.hpp
PrintDominatorsOpenJDK10boolc2falsedevelopPrint out dominator trees for GVNshare/opto/c2_globals.hpp
PrintEliminateAllocationsOpenJDK10boolc2falsenotproductPrint out when allocations are eliminatedshare/opto/c2_globals.hpp
PrintEliminateLocksOpenJDK10boolc2falsenotproductPrint out when locks are eliminatedshare/opto/c2_globals.hpp
PrintEscapeAnalysisOpenJDK10boolc2falsenotproductPrint the results of escape analysisshare/opto/c2_globals.hpp
PrintExceptionHandlersOpenJDK10boolruntimefalsedevelopPrint exception handler tables for all nmethods when generatedshare/runtime/globals.hpp
PrintExtendedThreadInfoOpenJDK11boolruntimefalseproductPrint more information in thread dumpshare/runtime/globals.hpp
PrintFieldLayoutOpenJDK10boolruntimefalsenotproductPrint field layout for each classshare/runtime/globals.hpp
PrintFlagsFinalOpenJDK10boolruntimefalseproductPrint all VM flags after argument and ergonomic processingshare/runtime/globals.hpp
PrintFlagsInitialOpenJDK10boolruntimefalseproductPrint all VM flags before argument processing and exit VMshare/runtime/globals.hpp
PrintFlagsRangesOpenJDK10boolruntimefalseproductPrint VM flags and their rangesshare/runtime/globals.hpp
PrintFlagsWithCommentsOpenJDK10boolruntimefalsenotproductPrint all VM flags with default values and descriptions and exitshare/runtime/globals.hpp
PrintFrameConverterAssemblyOpenJDK10boolc2falsenotproductPrint New compiler assembly output for frame convertersshare/opto/c2_globals.hpp
PrintGCDetailsOpenJDK10boolgcfalseproductPrint more details at garbage collection. Deprecated, use -Xlog:gc* instead.share/gc/shared/gc_globals.hpp
PrintGCOpenJDK10boolgcfalseproductPrint message at garbage collection. Deprecated, use -Xlog:gc instead.share/gc/shared/gc_globals.hpp
PrintHeapAtSIGBREAKOpenJDK10boolruntimetrueproductPrint heap layout in response to SIGBREAKshare/runtime/globals.hpp
PrintIR0OpenJDK10boolc1falsenotproductPrint full intermediate representation after constructionshare/c1/c1_globals.hpp
PrintIR1OpenJDK10boolc1falsenotproductPrint full intermediate representation after optimizationsshare/c1/c1_globals.hpp
PrintIR2OpenJDK10boolc1falsenotproductPrint full intermediate representation before code generationshare/c1/c1_globals.hpp
PrintIRDuringConstructionOpenJDK10boolc1falsenotproductPrint IR as it's being constructed (helpful for debugging frontend)share/c1/c1_globals.hpp
PrintIRWithLIROpenJDK10boolc1falsenotproductPrint IR instructions with generated LIRshare/c1/c1_globals.hpp
PrintIROpenJDK10boolc1falsenotproductPrint full intermediate representation after each changeshare/c1/c1_globals.hpp
PrintIdealGraphAddressOpenJDK10ccstrc2127.0.0.1notproductIP address to connect to visualizershare/opto/c2_globals.hpp
PrintIdealGraphFileOpenJDK10ccstrc2NULLnotproductFile to dump ideal graph to. If set overrides the use of the networkshare/opto/c2_globals.hpp
PrintIdealGraphLevelOpenJDK10intxc20
range(0, 4)
notproductLevel of detail of the ideal graph printout. System-wide value, 0=nothing is printed, 4=all details printed. Level of detail of printouts can be set on a per-method level as well by using CompileCommand=option.share/opto/c2_globals.hpp
PrintIdealGraphPortOpenJDK10intxc24444
range(0, SHRT_MAX)
notproductIdeal graph printer to network portshare/opto/c2_globals.hpp
PrintIdealGraphOpenJDK10boolc2falsenotproductPrint ideal graph to XML file / network interface. By default attempts to connect to the visualizer on a socket.share/opto/c2_globals.hpp
PrintIdealNodeCountOpenJDK10boolc2falsenotproductPrint liveness counts of ideal nodesshare/opto/c2_globals.hpp
PrintIdealOpenJDK10boolc2falsenotproductPrint ideal graph before code generationshare/opto/c2_globals.hpp
PrintInitialBlockListOpenJDK10boolc1falsenotproductPrint block list of BlockListBuildershare/c1/c1_globals.hpp
PrintInliningOpenJDK10boolruntimefalsediagnosticPrint inlining optimizationsshare/runtime/globals.hpp
PrintInterpreterOpenJDK10boolruntimefalsediagnosticPrint the generated interpreter codeshare/runtime/globals.hpp
PrintIntrinsicsOpenJDK10boolc2falsediagnosticprints attempted and successful inlining of intrinsicsshare/opto/c2_globals.hpp
PrintLIRWithAssemblyOpenJDK10boolc1falsenotproductShow LIR instruction with generated assemblyshare/c1/c1_globals.hpp
PrintLIROpenJDK10boolc1falsedevelopprint low-level IRshare/c1/c1_globals.hpp
PrintLockStatisticsOpenJDK10boolc2falsenotproductPrint precise statistics on the dynamic lock usageshare/opto/c2_globals.hpp
PrintMethodDataOpenJDK10boolruntimefalsediagnosticPrint the results of +ProfileInterpreter at end of runshare/runtime/globals.hpp
PrintMethodFlushingStatisticsOpenJDK10boolruntimefalsediagnosticprint statistics about method flushingshare/runtime/globals.hpp
PrintMethodFlushingOpenJDK10boolruntimefalsedevelopPrint the nmethods being flushedshare/runtime/globals.hpp
PrintMethodHandleStubsOpenJDK10boolruntimefalsediagnosticPrint generated stub code for method handlesshare/runtime/globals.hpp
PrintMiscellaneousOpenJDK10boolruntimefalsedevelopPrint uncategorized debugging information (requires +Verbose)share/runtime/globals.hpp
PrintNMTStatisticsOpenJDK10boolruntimefalsediagnosticPrint native memory tracking summary data if it is onshare/runtime/globals.hpp
PrintNMethodStatisticsOpenJDK10boolruntimefalsenotproductPrint a summary statistic for the generated nmethodsshare/runtime/globals.hpp
PrintNMethodsOpenJDK10boolruntimefalsediagnosticPrint assembly code for nmethods when generatedshare/runtime/globals.hpp
PrintNativeNMethodsOpenJDK10boolruntimefalsediagnosticPrint assembly code for native nmethods when generatedshare/runtime/globals.hpp
PrintNotLoadedOpenJDK10boolc1falsedevelopPrints where classes are not loaded during code generationshare/c1/c1_globals.hpp
PrintNullCheckEliminationOpenJDK10boolc1falsedevelopPrint null check eliminationshare/c1/c1_globals.hpp
PrintOptimizePtrCompareOpenJDK10boolc2falsenotproductPrint information about optimized pointers compareshare/opto/c2_globals.hpp
PrintOptimizeStringConcatOpenJDK10boolc2falsenotproductPrint information about transformations performed on Stringsshare/opto/c2_globals.hpp
PrintOptoAssemblyOpenJDK10boolc2falsediagnosticPrint New compiler assembly outputshare/opto/c2_globals.hpp
PrintOptoInliningOpenJDK10boolc2falsenotproductPrint compiler2 inlining decisionsshare/opto/c2_globals.hpp
PrintOptoPeepholeOpenJDK10boolc2falsenotproductPrint New compiler peephole replacementsshare/opto/c2_globals.hpp
PrintOptoStatisticsOpenJDK10boolc2falsenotproductPrint New compiler statisticsshare/opto/c2_globals.hpp
PrintOptoOpenJDK10boolc2falsenotproductPrint compiler2 attemptsshare/opto/c2_globals.hpp
PrintParseStatisticsOpenJDK10boolc2falsenotproductPrint nodes, transforms and new values made per bytecode parsedshare/opto/c2_globals.hpp
PrintPhiFunctionsOpenJDK10boolc1falsenotproductPrint phi functions when they are created and simplifiedshare/c1/c1_globals.hpp
PrintPreciseBiasedLockingStatisticsOpenJDK10Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolc2falsediagnostic(Deprecated) Print per-lock-site statistics of biased locking in JVMshare/opto/c2_globals.hpp
PrintPreciseRTMLockingStatisticsOpenJDK10boolc2falsediagnosticPrint per-lock-site statistics of rtm locking in JVMshare/opto/c2_globals.hpp
PrintRelocationsOpenJDK10boolruntimefalsedevelopPrint relocation information for all nmethods when generatedshare/runtime/globals.hpp
PrintRewritesOpenJDK10boolruntimefalsenotproductPrint methods that are being rewrittenshare/runtime/globals.hpp
PrintSharedArchiveAndExitOpenJDK10boolruntimefalseproductPrint shared archive file contentsshare/runtime/globals.hpp
PrintSharedDictionaryOpenJDK10boolruntimefalseproductIf PrintSharedArchiveAndExit is true, also print the shared dictionaryshare/runtime/globals.hpp
PrintSignatureHandlersOpenJDK10boolruntimefalsediagnosticPrint code generated for native method signature handlersshare/runtime/globals.hpp
PrintSimpleStubsOpenJDK10boolc1falsenotproductPrint SimpleStubsshare/c1/c1_globals.hpp
PrintStringTableStatisticsOpenJDK10boolruntimefalseproductprint statistics about the StringTable and SymbolTableshare/runtime/globals.hpp
PrintStubCodeOpenJDK10boolruntimefalsediagnosticPrint generated stub codeshare/runtime/globals.hpp
PrintSymbolTableSizeHistogramOpenJDK10boolruntimefalsenotproductprint histogram of the symbol tableshare/runtime/globals.hpp
PrintSystemDictionaryAtExitOpenJDK10boolruntimefalsenotproductPrint the system dictionary at exitshare/runtime/globals.hpp
PrintTieredEventsOpenJDK10boolruntimefalseproductPrint tiered events notificationsshare/runtime/globals.hpp
PrintTouchedMethodsAtExitOpenJDK10boolruntimefalsediagnosticPrint all methods that have been ever touched in runtimeshare/runtime/globals.hpp
PrintUnsafeOptimizationOpenJDK10boolc1falsedevelopPrint optimization of raw unsafe opsshare/c1/c1_globals.hpp
PrintVMMessagesOpenJDK10boolruntimetruedevelopPrint VM messages on consoleshare/runtime/globals.hpp
PrintVMOptionsOpenJDK10boolruntimefalseproductPrint flags that appeared on the command lineshare/runtime/globals.hpp
PrintVMQWaitTimeOpenJDK10Deprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct(Deprecated) Print out the waiting time in VM operation queueshare/runtime/globals.hpp
PrintValueNumberingOpenJDK10boolc1falsedevelopPrint Value Numberingshare/c1/c1_globals.hpp
PrintVtableStatsOpenJDK10boolruntimefalsenotproductprint vtables stats at end of runshare/runtime/globals.hpp
PrintWarningsOpenJDK10boolruntimetrueproductPrint JVM warnings to output streamshare/runtime/globals.hpp
ProcessDistributionStrideOpenJDK10uintxruntime4
range(0, max_juint)
productStride through processors when distributing processesshare/runtime/globals.hpp
ProfileDynamicTypesOpenJDK10boolc2truediagnosticdo extra type profiling and use it more aggressivelyshare/opto/c2_globals.hpp
ProfileInterpreterOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfileInterpreterOpenJDK10boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
ProfileInterpreterOpenJDK10boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
ProfileInterpreterOpenJDK10boolruntimeproduct_pdProfile at the bytecode level during interpretationshare/runtime/globals.hpp
ProfileInterpreterOpenJDK10boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfileInterpreterOpenJDK10bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
ProfileInterpreterOpenJDK10boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
ProfileMaturityPercentageOpenJDK10intxruntime20
range(0, 100)
productnumber of method invocations/branches (expressed as % of CompileThreshold) before using the method's profileshare/runtime/globals.hpp
ProfileTrapsOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfileTrapsOpenJDK10boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
ProfileTrapsOpenJDK10boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
ProfileTrapsOpenJDK10boolruntimedevelop_pdProfile deoptimization traps at the bytecode levelshare/runtime/globals.hpp
ProfileTrapsOpenJDK10boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfileTrapsOpenJDK10bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
ProfileTrapsOpenJDK10boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
ProfiledCodeHeapSizeOpenJDK10intxaarch6414*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfiledCodeHeapSizeOpenJDK10size_tarm14*Mdefine_pd_globalcpu/arm/c2_globals_arm.hpp
ProfiledCodeHeapSizeOpenJDK10uintxcompiler0define_pd_globalshare/compiler/compiler_globals.hpp
ProfiledCodeHeapSizeOpenJDK10uintxruntimeproduct_pdSize of code heap with profiled methods (in bytes)share/runtime/globals.hpp
ProfiledCodeHeapSizeOpenJDK10uintxppc14*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfiledCodeHeapSizeOpenJDK10uintxs39022*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
ProfiledCodeHeapSizeOpenJDK10uintxx8614*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
ProfilerNodeSizeOpenJDK10intxruntime1024
range(0, 1024)
developSize in K to allocate for the Profile Nodes of each threadshare/runtime/globals.hpp
PromotedPaddingOpenJDK10uintxgc3
range(0, max_juint)
productHow much buffer to keep for promotion failureshare/gc/shared/gc_globals.hpp
PromotionFailureALotCountOpenJDK10uintxgc1000developNumber of promotion failures occurring at PLAB promotion attempts at young collectorsshare/gc/shared/gc_globals.hpp
PromotionFailureALotIntervalOpenJDK10uintxgc5developTotal collections between promotion failures a lotshare/gc/shared/gc_globals.hpp
PromotionFailureALotOpenJDK10boolgcfalsenotproductUse promotion failure handling on every youngest generation collectionshare/gc/shared/gc_globals.hpp
ProtectionDomainVerificationOpenJDK10boolruntimetruedevelopVerify protection domain before resolution in system dictionaryshare/runtime/globals.hpp
QueuedAllocationWarningCountOpenJDK10uintxgc0
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
RTMAbortRatioOpenJDK10intppc50
range(0, 100) /* natural range */
experimentalLock abort ratio at which to stop use RTM lock elidingcpu/ppc/globals_ppc.hpp
RTMAbortRatioOpenJDK10intx8650
range(0, 100) /* natural range */
experimentalLock abort ratio at which to stop use RTM lock elidingcpu/x86/globals_x86.hpp
RTMAbortThresholdOpenJDK10intppc1000
range(0, max_jint)
experimentalCalculate abort ratio after this number of abortscpu/ppc/globals_ppc.hpp
RTMAbortThresholdOpenJDK10intx861000
range(0, max_jint)
experimentalCalculate abort ratio after this number of abortscpu/x86/globals_x86.hpp
RTMLockingCalculationDelayOpenJDK10intxppc0experimentalNumber of milliseconds to wait before start calculating aborts for RTM lockingcpu/ppc/globals_ppc.hpp
RTMLockingCalculationDelayOpenJDK10intxx860experimentalNumber of milliseconds to wait before start calculating aborts for RTM lockingcpu/x86/globals_x86.hpp
RTMLockingThresholdOpenJDK10intppc10000
range(0, max_jint)
experimentalLock count at which to do RTM lock eliding without abort ratio calculationcpu/ppc/globals_ppc.hpp
RTMLockingThresholdOpenJDK10intx8610000
range(0, max_jint)
experimentalLock count at which to do RTM lock eliding without abort ratio calculationcpu/x86/globals_x86.hpp
RTMRetryCountOpenJDK10intppc5
range(0, max_jint)
productNumber of RTM retries on lock abort or busycpu/ppc/globals_ppc.hpp
RTMRetryCountOpenJDK10intx865
range(0, max_jint)
productNumber of RTM retries on lock abort or busycpu/x86/globals_x86.hpp
RTMSpinLoopCountOpenJDK10intppc100
range(0, 32767) /* immediate operand limit on ppc */
experimentalSpin count for lock to become free before RTM retrycpu/ppc/globals_ppc.hpp
RTMSpinLoopCountOpenJDK10intx86100
range(0, max_jint)
experimentalSpin count for lock to become free before RTM retrycpu/x86/globals_x86.hpp
RTMTotalCountIncrRateOpenJDK10intppc64
range(1, 32767) /* immediate operand limit on ppc */
experimentalIncrement total RTM attempted lock count once every n timescpu/ppc/globals_ppc.hpp
RTMTotalCountIncrRateOpenJDK10intx8664
range(1, max_jint)
experimentalIncrement total RTM attempted lock count once every n timescpu/x86/globals_x86.hpp
RangeCheckEliminationOpenJDK10boolruntimetrueproductEliminate range checksshare/runtime/globals.hpp
ReassociateInvariantsOpenJDK10boolc2trueproductEnable reassociation of expressions with loop invariants.share/opto/c2_globals.hpp
ReduceBulkZeroingOpenJDK10boolc2trueproductWhen bulk-initializing, try to avoid needless zeroingshare/opto/c2_globals.hpp
ReduceFieldZeroingOpenJDK10boolc2trueproductWhen initializing fields, try to avoid needless zeroingshare/opto/c2_globals.hpp
ReduceInitialCardMarksOpenJDK10boolc2trueproductWhen initializing fields, try to avoid needless card marksshare/opto/c2_globals.hpp
ReduceNumberOfCompilerThreadsOpenJDK11boolruntimetruediagnosticReduce the number of parallel compiler threads when they are not usedshare/runtime/globals.hpp
ReduceSignalUsageOpenJDK10boolruntimefalseproductReduce the use of OS signals in Java and/or the VMshare/runtime/globals.hpp
RefDiscoveryPolicyOpenJDK10intxgc0
range(ReferenceProcessor::DiscoveryPolicyMin,
productSelect type of reference discovery policy: reference-based(0) or referent-based(1)share/gc/shared/gc_globals.hpp
ReferencesPerThreadOpenJDK11size_tgc1000experimentalErgonomically 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
RegisterCostAreaRatioOpenJDK10intxaarch6416000define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
RegisterCostAreaRatioOpenJDK10intxarm16000define_pd_globalcpu/arm/c2_globals_arm.hpp
RegisterCostAreaRatioOpenJDK10intxc2develop_pdSpill selection in reg allocator: scale area by (X/64K) before adding costshare/opto/c2_globals.hpp
RegisterCostAreaRatioOpenJDK10intxppc16000define_pd_globalcpu/ppc/c2_globals_ppc.hpp
RegisterCostAreaRatioOpenJDK10intxs39012000define_pd_globalcpu/s390/c2_globals_s390.hpp
RegisterCostAreaRatioOpenJDK10intxx8616000define_pd_globalcpu/x86/c2_globals_x86.hpp
RegisterFinalizersAtInitOpenJDK10boolruntimetrueproductRegister finalizable objects at end of Object.<init> or after allocationshare/runtime/globals.hpp
RegisterReferencesOpenJDK10boolruntimetruedevelopTell whether the VM should register soft/weak/final/phantom referencesshare/runtime/globals.hpp
RelaxAccessControlCheckOpenJDK10boolruntimefalseproductRelax the access control checks in the verifiershare/runtime/globals.hpp
RenumberLiveNodesOpenJDK10boolc2truedevelopRenumber live nodesshare/opto/c2_globals.hpp
ReoptimizeCallSequencesOpenJDK10boolppctrueproductReoptimize code-sequences of calls at runtime.cpu/ppc/globals_ppc.hpp
ReoptimizeCallSequencesOpenJDK10bools390trueproductReoptimize code-sequences of calls at runtime.cpu/s390/globals_s390.hpp
ReplayCompilesOpenJDK10boolruntimefalsedevelopEnable replay of compilations from ReplayDataFileshare/runtime/globals.hpp
ReplayDataFileOpenJDK10ccstrruntimeNULLproductFile containing compilation replay information[default: ./replay_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
ReplayIgnoreInitErrorsOpenJDK10boolruntimefalsedevelopIgnore exceptions thrown during initialization for replayshare/runtime/globals.hpp
ReplaySuppressInitializersOpenJDK10intxruntime2
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/runtime/globals.hpp
RequireSharedSpacesOpenJDK10boolruntimefalseproductRequire shared spaces for metadatashare/runtime/globals.hpp
ReservedCodeCacheSizeOpenJDK10intxaarch6432*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ReservedCodeCacheSizeOpenJDK10size_tarm32*Mdefine_pd_globalcpu/arm/c2_globals_arm.hpp
ReservedCodeCacheSizeOpenJDK10uintxcompiler32*Mdefine_pd_globalshare/compiler/compiler_globals.hpp
ReservedCodeCacheSizeOpenJDK10uintxruntimeproduct_pdReserved code cache size (in bytes) - maximum code cache sizeshare/runtime/globals.hpp
ReservedCodeCacheSizeOpenJDK10uintxppc32*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ReservedCodeCacheSizeOpenJDK10uintxs39048*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
ReservedCodeCacheSizeOpenJDK10uintxx8632*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
ResizePLABOpenJDK10boolgctrueproductDynamically resize (survivor space) promotion LAB'sshare/gc/shared/gc_globals.hpp
ResizeTLABOpenJDK10boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ResizeTLABOpenJDK10boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
ResizeTLABOpenJDK10boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
ResizeTLABOpenJDK10boolgcproduct_pdDynamically resize TLAB size for threadsshare/gc/shared/gc_globals.hpp
ResizeTLABOpenJDK10boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ResizeTLABOpenJDK10bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
ResizeTLABOpenJDK10boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
RestoreMXCSROnJNICallsOpenJDK10boolruntimefalseproductRestore MXCSR when returning from JNI callsshare/runtime/globals.hpp
RestrictContendedOpenJDK10boolruntimetrueproductRestrict @Contended to trusted classesshare/runtime/globals.hpp
RestrictReservedStackOpenJDK10boolruntimetrueproductRestrict @ReservedStackAccess to trusted classesshare/runtime/globals.hpp
RewriteBytecodesOpenJDK10boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
RewriteBytecodesOpenJDK10boolarmtruedefine_pd_globalcpu/arm/globals_arm.hpp
RewriteBytecodesOpenJDK10boolruntimeproduct_pdAllow rewriting of bytecodes (bytecodes are not immutable)share/runtime/globals.hpp
RewriteBytecodesOpenJDK10boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
RewriteBytecodesOpenJDK10bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
RewriteBytecodesOpenJDK10boolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
RewriteBytecodesOpenJDK10boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
RewriteFrequentPairsOpenJDK10boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
RewriteFrequentPairsOpenJDK10boolarmtruedefine_pd_globalcpu/arm/globals_arm.hpp
RewriteFrequentPairsOpenJDK10boolruntimeproduct_pdRewrite frequently used bytecode pairs into a single bytecodeshare/runtime/globals.hpp
RewriteFrequentPairsOpenJDK10boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
RewriteFrequentPairsOpenJDK10bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
RewriteFrequentPairsOpenJDK10boolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
RewriteFrequentPairsOpenJDK10boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
SafepointALotOpenJDK10boolruntimefalsediagnosticGenerate a lot of safepoints. This works with GuaranteedSafepointIntervalshare/runtime/globals.hpp
SafepointTimeoutDelayOpenJDK10intxruntime10000productDelay in milliseconds for option SafepointTimeoutshare/runtime/globals.hpp
SafepointTimeoutOpenJDK10boolruntimefalseproductTime out and warn or fail after SafepointTimeoutDelay milliseconds if failed to reach safepointshare/runtime/globals.hpp
ScavengeALotIntervalOpenJDK10intxgc1notproductInterval between which scavenge will occur with +ScavengeALotshare/gc/shared/gc_globals.hpp
ScavengeALotOpenJDK10boolgcfalsenotproductForce scavenge at every Nth exit from the runtime system (N=ScavengeALotInterval)share/gc/shared/gc_globals.hpp
ScavengeBeforeFullGCOpenJDK10boolgctrueproductScavenge youngest generation before each full GC.share/gc/shared/gc_globals.hpp
ScavengeRootsInCodeOpenJDK10intxruntime2
range(0, 2)
diagnostic0: 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
SegmentedCodeCacheOpenJDK10boolruntimefalseproductUse a segmented code cacheshare/runtime/globals.hpp
SelectivePhiFunctionsOpenJDK10boolc1truedevelopcreate phi functions at loop headers only when necessaryshare/c1/c1_globals.hpp
SelfDestructTimerOpenJDK10intxruntime0
range(0, max_intx)
productWill cause VM to terminate after a given time (in minutes) (0 means off)share/runtime/globals.hpp
SerializeVMOutputOpenJDK10boolruntimetruediagnosticUse a mutex to serialize output to tty and LogFileshare/runtime/globals.hpp
SharedArchiveConfigFileOpenJDK10ccstrruntimeNULLproductData to add to the CDS archive fileshare/runtime/globals.hpp
SharedArchiveFileOpenJDK10ccstrruntimeNULLproductOverride the default location of the CDS archive fileshare/runtime/globals.hpp
SharedBaseAddressOpenJDK10size_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
SharedClassListFileOpenJDK10ccstrruntimeNULLproductOverride the default CDS class listshare/runtime/globals.hpp
SharedSymbolTableBucketSizeOpenJDK10uintxruntime4
range(2, 246)
productAverage number of symbols per bucket in shared tableshare/runtime/globals.hpp
ShenandoahAllocFailureALotOpenJDK11boolgcfalsediagnosticTesting: make lots of artificial allocation failures.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocSpikeFactorOpenJDK11uintxgc5
range(0,100)
experimentalHow much of heap should some heuristics reserve for absorbing the allocation spikes. Larger value wastes more memory in non-emergency cases, but provides more safety in emergency cases. In percents of (soft) max heap size.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocationThresholdOpenJDK11uintxgc0
range(0,100)
experimentalHow 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
ShenandoahAlwaysClearSoftRefsOpenJDK11boolgcfalseexperimentalUnconditionally 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
ShenandoahCASBarrierOpenJDK11boolgctruediagnosticTurn on/off CAS barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCloneBarrierOpenJDK11boolgctruediagnosticTurn on/off clone barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCodeRootsStyleOpenJDK11uintxgc2diagnosticUse this style to scan the code cache roots: 0 - sequential iterator; 1 - parallel iterator; 2 - parallel iterator with cset filters;share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahControlIntervalAdjustPeriodOpenJDK11uintxgc1000experimentalThe 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
ShenandoahControlIntervalMaxOpenJDK11uintxgc10experimentalThe 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
ShenandoahControlIntervalMinOpenJDK11uintxgc1experimentalThe minimum sleep interval for the control loop that drives the cycles. Lower values would increase GC responsiveness to changing heap conditions, at the expense of higher perf overhead. Time is in milliseconds.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCriticalFreeThresholdOpenJDK11uintxgc1
range(0, 100)
experimentalHow 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
ShenandoahDegeneratedGCOpenJDK11boolgctruediagnosticEnable 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
ShenandoahElasticTLABOpenJDK11boolgctruediagnosticUse Elastic TLABs with Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahEvacReserveOverflowOpenJDK11boolgctrueexperimentalAllow evacuations to overflow the reserved space. Enabling it will make evacuations more resilient when evacuation reserve/waste is incorrect, at the risk that application runs out of memory too early.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahEvacReserveOpenJDK11uintxgc5
range(1,100)
experimentalHow much of heap to reserve for evacuations. Larger values make GC evacuate more live objects on every cycle, while leaving less headroom for application to allocate in. In percents of total heap size.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahEvacWasteOpenJDK11doublegc1.2
range(1.0,100.0)
experimentalHow 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
ShenandoahFullGCThresholdOpenJDK11uintxgc3experimentalHow many back-to-back Degenerated GCs should happen before going to a Full GC.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahGCHeuristicsOpenJDK11ccstrgcadaptiveproductGC 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
ShenandoahGCModeOpenJDK11ccstrgcsatbproductGC mode to use. Among other things, this defines which barriers are in in use. Possible values are: satb - snapshot-at-the-beginning concurrent GC (three pass mark-evac-update); iu - incremental-update concurrent GC (three pass mark-evac-update); passive - stop the world GC only (either degenerated or full)share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahGarbageThresholdOpenJDK11uintxgc25
range(0,100)
experimentalHow much garbage a region has to contain before it would be taken for collection. This a guideline only, as GC heuristics may select the region for collection even if it has little garbage. This also affects how much internal fragmentation the collector accepts. In percents of heap region size.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahGuaranteedGCIntervalOpenJDK11uintxgc5*60*1000experimentalMany 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
ShenandoahHumongousMovesOpenJDK11boolgctruediagnosticAllow moving humongous regions. This makes GC more resistant to external fragmentation that may otherwise fail other humongous allocations, at the expense of higher GC copying costs. Currently affects stop-the-world (Full) cycle only.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahHumongousThresholdOpenJDK11intxgc100
range(1, 100)
experimentalHumongous 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
ShenandoahImmediateThresholdOpenJDK11uintxgc90
range(0,100)
experimentalThe 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
ShenandoahImplicitGCInvokesConcurrentOpenJDK11boolgcfalseexperimentalShould internally-caused GC requests invoke concurrent cycles, should they do the stop-the-world (Degenerated / Full GC)? Many heuristics automatically enable this. This option is similar to global ExplicitGCInvokesConcurrent.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahInitFreeThresholdOpenJDK11uintxgc70
range(0,100)
experimentalHow much heap should be free before some heuristics trigger the initial (learning) cycles. Affects cycle frequency on startup and after drastic state changes, e.g. after degenerated/full GC cycles. In percents of (soft) max heap size.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahLearningStepsOpenJDK11uintxgc5
range(0,100)
experimentalThe number of cycles some heuristics take to collect in order to learn application and GC performance.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahLoadRefBarrierOpenJDK11boolgctruediagnosticTurn on/off load-reference barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahLoopOptsAfterExpansionOpenJDK11boolgctruediagnosticAttempt more loop opts after barrier expansion.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMarkLoopStrideOpenJDK11uintxgc1000experimentalHow many items to process during one marking iteration before checking for cancellation, yielding, etc. Larger values improve marking performance at expense of responsiveness.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMarkScanPrefetchOpenJDK11intxgc32
range(0, 256)
experimentalHow many objects to prefetch ahead when traversing mark bitmaps.Set to 0 to disable prefetching.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMaxRegionSizeOpenJDK11size_tgc32 * MexperimentalWith automatic region sizing, the regions would be at most this large.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMinFreeThresholdOpenJDK11uintxgc10
range(0,100)
experimentalHow much heap should be free before most heuristics trigger the collection, even without other triggers. Provides the safety margin for many heuristics. In percents of (soft) max heap size.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMinRegionSizeOpenJDK11size_tgc256 * KexperimentalWith automatic region sizing, the regions would be at least this large.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahOOMDuringEvacALotOpenJDK11boolgcfalsediagnosticTesting: simulate OOM during evacuation.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingCycleSlackOpenJDK11uintxgc10
range(0, 100)
experimentalHow much of free space to take as non-taxable allocations the GC cycle. Larger value makes the pacing milder at the beginning of the GC cycle. Lower value makes the pacing less uniform during the cycle. In percent of free space.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingIdleSlackOpenJDK11uintxgc2
range(0, 100)
experimentalHow 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
ShenandoahPacingMaxDelayOpenJDK11uintxgc10experimentalMax delay for pacing application allocations. Larger values provide more resilience against out of memory, at expense at hiding the GC latencies in the allocation path. Time is in milliseconds. Setting it to arbitrarily large value makes GC effectively stall the threads indefinitely instead of going to degenerated or Full GC.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingSurchargeOpenJDK11doublegc1.1
range(1.0, 100.0)
experimentalAdditional 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
ShenandoahPacingOpenJDK11boolgctrueexperimentalPace application allocations to give GC chance to start and complete before allocation failure is reached.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahParallelRegionStrideOpenJDK11uintxgc1024experimentalHow many regions to process at once during parallel region iteration. Affects heaps with lots of regions.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPrecleanOpenJDK11boolgctruediagnosticDo concurrent preclean phase before final mark: process definitely alive references to avoid dealing with them during pause.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRefProcFrequencyOpenJDK11uintxgc5experimentalProcess process weak (soft, phantom, finalizers) references every Nth cycle. Normally affects concurrent GC cycles only, as degenerated and full GCs would try to process references regardless. Set to zero to disable reference processing completely.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRegionSamplingRateOpenJDK11intgc40experimentalSampling 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
ShenandoahRegionSamplingOpenJDK11boolgcfalseexperimentalProvide heap region sampling data via jvmstat.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRegionSizeOpenJDK11size_tgc0experimentalStatic heap region size. Set zero to enable automatic sizing.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBarrierOpenJDK11boolgctruediagnosticTurn on/off SATB barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBufferFlushIntervalOpenJDK11uintxgc100experimentalForcefully flush non-empty SATB buffers at this interval. Time is in milliseconds.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBufferSizeOpenJDK11size_tgc1 * K
range(1, max_uintx)
experimentalNumber of entries in an SATB log buffer.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSelfFixingOpenJDK11boolgctruediagnosticFix references with load reference barrier. Disabling this might degrade performance.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahStoreValEnqueueBarrierOpenJDK11boolgcfalsediagnosticTurn on/off enqueuing of oops for storeval barriersshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSuspendibleWorkersOpenJDK11boolgcfalseexperimentalSuspend concurrent GC worker threads at safepointsshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahTargetNumRegionsOpenJDK11size_tgc2048experimentalWith automatic region sizing, this is the approximate number of regions that would be used, within min/max region size limits.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahUncommitDelayOpenJDK11uintxgc5*60*1000experimentalUncommit 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
ShenandoahUncommitOpenJDK11boolgctrueexperimentalAllow 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
ShenandoahUnloadClassesFrequencyOpenJDK11uintxgc1experimentalUnload 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
ShenandoahVerifyLevelOpenJDK11intxgc4diagnosticVerification 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
ShenandoahVerifyOptoBarriersOpenJDK11boolgcfalsedevelopVerify no missing barriers in C2.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahVerifyOpenJDK11boolgcfalsediagnosticEnable 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
ShowCodeDetailsInExceptionMessagesOpenJDK14boolruntimetruemanageableShow exception messages from RuntimeExceptions that contain snippets of the failing code. Disable this to improve privacy.share/runtime/globals.hpp
ShowHiddenFramesOpenJDK10boolruntimefalsediagnosticshow method handle implementation frames (usually hidden)share/runtime/globals.hpp
ShowMessageBoxOnErrorOpenJDK10boolruntimefalseproductKeep process alive on VM fatal errorshare/runtime/globals.hpp
ShowRegistersOnAssertOpenJDK11boolruntimetruediagnosticOn internal errors, include registers in error report.share/runtime/globals.hpp
ShrinkHeapInStepsOpenJDK10boolruntimetrueproductWhen 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
SoftMatchFailureOpenJDK10boolc2trueInProductdevelopIf the DFA fails to match a node, print a message and bail outshare/opto/c2_globals.hpp
SoftMaxHeapSizeOpenJDK13size_tgc0manageableSoft limit for maximum heap size (in bytes)share/gc/shared/gc_globals.hpp
SoftRefLRUPolicyMSPerMBOpenJDK10intxruntime1000
range(0, max_intx)
productNumber of milliseconds per MB of free space in the heapshare/runtime/globals.hpp
SoftwarePrefetchHintDistanceOpenJDK10intaarch64-1
range(-1, 4096)
productUse prfm hint with specified distance in compiled code.Value -1 means off.cpu/aarch64/globals_aarch64.hpp
SpecTrapLimitExtraEntriesOpenJDK10intxruntime3experimentalExtra method data trap entries for speculationshare/runtime/globals.hpp
SpecialArraysEqualsOpenJDK10boolc2truediagnosticspecial version of Arrays.equals(char[],char[])share/opto/c2_globals.hpp
SpecialEncodeISOArrayOpenJDK10boolc2truediagnosticspecial version of ISO_8859_1$Encoder.encodeISOArrayshare/opto/c2_globals.hpp
SpecialStringCompareToOpenJDK10boolc2truediagnosticspecial version of string compareToshare/opto/c2_globals.hpp
SpecialStringEqualsOpenJDK10boolc2truediagnosticspecial version of string equalsshare/opto/c2_globals.hpp
SpecialStringIndexOfOpenJDK10boolc2truediagnosticspecial version of string indexOfshare/opto/c2_globals.hpp
SplitIfBlocksOpenJDK10boolc2trueproductClone compares and control flow through merge points to fold some branchesshare/opto/c2_globals.hpp
StackPrintLimitOpenJDK10intxruntime100developnumber of stack frames to print in VM-level stack dumpshare/runtime/globals.hpp
StackRedPagesOpenJDK10intxaarch64DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackRedPagesOpenJDK10intxarmDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackRedPagesOpenJDK10intxruntimeproduct_pdNumber of red zone (unrecoverable overflows) pages of size
4KB. If pages are bigger red zone is aligned up.
share/runtime/globals.hpp
StackRedPagesOpenJDK10intxppcDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackRedPagesOpenJDK10intxs390DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackRedPagesOpenJDK10intxx86DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackRedPagesOpenJDK10intxzeroDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackReservedPagesOpenJDK10intxaarch64DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackReservedPagesOpenJDK10intxarmDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackReservedPagesOpenJDK10intxruntimeproduct_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
StackReservedPagesOpenJDK10intxppcDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackReservedPagesOpenJDK10intxs390DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackReservedPagesOpenJDK10intxx86DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackReservedPagesOpenJDK10intxzeroDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackShadowPagesOpenJDK10intxaarch64DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackShadowPagesOpenJDK10intxarmDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackShadowPagesOpenJDK10intxruntimeproduct_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
StackShadowPagesOpenJDK10intxppcDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackShadowPagesOpenJDK10intxs390DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackShadowPagesOpenJDK10intxx86DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackShadowPagesOpenJDK10intxzeroDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackTraceInThrowableOpenJDK10boolruntimetrueproductCollect backtrace in throwable when exception happensshare/runtime/globals.hpp
StackYellowPagesOpenJDK10intxaarch64DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackYellowPagesOpenJDK10intxarmDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackYellowPagesOpenJDK10intxruntimeproduct_pdNumber of yellow zone (recoverable overflows) pages of size
4KB. If pages are bigger yellow zone is aligned up.
share/runtime/globals.hpp
StackYellowPagesOpenJDK10intxppcDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackYellowPagesOpenJDK10intxs390DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackYellowPagesOpenJDK10intxx86DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackYellowPagesOpenJDK10intxzeroDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StartAggressiveSweepingAtOpenJDK10uintxruntime10
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
StartAttachListenerOpenJDK10boolruntimefalseproductAlways start Attach Listener at VM startupshare/runtime/globals.hpp
StartFlightRecordingOpenJDK11ccstrruntimeNULLproductStart flight recording with optionsshare/runtime/globals.hpp
StopInterpreterAtOpenJDK10intxruntime0developStop interpreter execution at specified bytecode numbershare/runtime/globals.hpp
StressArrayCopyMacroNodeOpenJDK10boolc2falsedevelopPerform ArrayCopy load/store replacement during IGVN onlyshare/opto/c2_globals.hpp
StressCodeAgingOpenJDK10boolruntimefalsediagnosticStart with counters compiled inshare/runtime/globals.hpp
StressCodeBuffersOpenJDK10boolruntimefalsedevelopExercise code buffer expansion and other rare state changesshare/runtime/globals.hpp
StressCompiledExceptionHandlersOpenJDK10boolruntimefalsedevelopExercise compiled exception handlersshare/runtime/globals.hpp
StressCriticalJNINativesOpenJDK10boolruntimefalsenotproductExercise register saving code in critical nativesshare/runtime/globals.hpp
StressDerivedPointersOpenJDK10boolruntimefalsenotproductForce scavenge when a derived pointer is detected on stack after rtm callshare/runtime/globals.hpp
StressGCMOpenJDK10boolc2falsediagnosticRandomize instruction scheduling in GCMshare/opto/c2_globals.hpp
StressLCMOpenJDK10boolc2falsediagnosticRandomize instruction scheduling in LCMshare/opto/c2_globals.hpp
StressLdcRewriteOpenJDK10boolruntimefalseproductForce ldc -> ldc_w rewrite during RedefineClassesshare/runtime/globals.hpp
StressLinearScanOpenJDK10boolc1falsedevelopscramble block order used by LinearScan (stress test)share/c1/c1_globals.hpp
StressLoopInvariantCodeMotionOpenJDK10boolc1falsedevelopstress loop invariant code motionshare/c1/c1_globals.hpp
StressMethodHandleLinkerInliningOpenJDK11boolc2falsedevelopStress inlining through method handle linkersshare/opto/c2_globals.hpp
StressRangeCheckEliminationOpenJDK10boolc1falsedevelopstress Range Check Eliminationshare/c1/c1_globals.hpp
StressRecompilationOpenJDK10boolc2falsedevelopRecompile each compiled method without subsuming loads or escape analysis.share/opto/c2_globals.hpp
StressReflectiveCodeOpenJDK10boolc2falsedevelopUse inexact types at allocations, etc., to test reflectionshare/opto/c2_globals.hpp
StressRewriterOpenJDK10boolruntimefalsedevelopStress linktime bytecode rewritingshare/runtime/globals.hpp
StringDeduplicationAgeThresholdOpenJDK10uintxruntime3
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
StringDeduplicationRehashALotOpenJDK10boolruntimefalsediagnosticForce table rehash every time the table is scannedshare/runtime/globals.hpp
StringDeduplicationResizeALotOpenJDK10boolruntimefalsediagnosticForce table resize every time the table is scannedshare/runtime/globals.hpp
StringTableSizeOpenJDK10uintxruntimedefaultStringTableSize
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
SubsumeLoadsOpenJDK10boolc2truedevelopAttempt to compile while subsuming loads into machine instructions.share/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisOpenJDK10boolaarch64truedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
SuperWordLoopUnrollAnalysisOpenJDK10boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
SuperWordLoopUnrollAnalysisOpenJDK10boolc2product_pdMap number of unrolls for main loop via Superword Level Parallelism analysisshare/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisOpenJDK10boolppctruedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
SuperWordLoopUnrollAnalysisOpenJDK10bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
SuperWordLoopUnrollAnalysisOpenJDK10boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
SuperWordRTDepCheckOpenJDK10boolc2falsedevelopEnable runtime dependency checks.share/opto/c2_globals.hpp
SuperWordReductionsOpenJDK10boolc2trueproductEnable reductions support in superword.share/opto/c2_globals.hpp
SuperwordUseVSXOpenJDK10boolppcfalseproductUse Power8 VSX instructions for superword optimization.cpu/ppc/globals_ppc.hpp
SuppressErrorAtOpenJDK10ccstrlistruntimeList of assertions (file:line) to muzzlenotproductshare/runtime/globals.hpp
SuppressFatalErrorMessageOpenJDK10boolruntimefalseproductReport NO fatal error message (avoid deadlock)share/runtime/globals.hpp
SurvivorAlignmentInBytesOpenJDK10intxruntime0
range(8, 256)
experimentalDefault survivor space alignment in bytesshare/runtime/globals.hpp
SurvivorPaddingOpenJDK10uintxgc3
range(0, max_juint)
productHow much buffer to keep for survivor overflowshare/gc/shared/gc_globals.hpp
SurvivorRatioOpenJDK10uintxgc8
range(1, max_uintx-2)
productRatio of eden/survivor space sizeshare/gc/shared/gc_globals.hpp
SuspendRetryCountOpenJDK10intxruntime50
range(0, max_intx)
productMaximum retry count for an external suspend requestshare/runtime/globals.hpp
SuspendRetryDelayOpenJDK10intxruntime5
range(0, max_intx)
productMilliseconds to delay per retry (* current_retry_count)share/runtime/globals.hpp
SweeperLogEntriesOpenJDK10intxruntime1024notproductNumber of records in the ring buffer of sweeper activityshare/runtime/globals.hpp
SweeperThresholdOpenJDK15doubleruntime0.5
range(0.0, 100.0)
productThreshold controlling when code cache sweeper is invoked.Value is percentage of ReservedCodeCacheSize.share/runtime/globals.hpp
SymbolTableSizeOpenJDK10uintxruntimedefaultSymbolTableSize
range(minimumSymbolTableSize, 16777216ul /* 2^24 */)
experimentalNumber of buckets in the JVM internal Symbol tableshare/runtime/globals.hpp
TLABAllocationWeightOpenJDK10uintxgc35
range(0, 100)
productAllocation averaging weightshare/gc/shared/gc_globals.hpp
TLABRefillWasteFractionOpenJDK10uintxgc64
range(1, max_juint)
productMaximum TLAB waste at a refill (internal fragmentation)share/gc/shared/gc_globals.hpp
TLABSizeOpenJDK10size_tgc0productStarting TLAB size (in bytes); zero means set ergonomicallyshare/gc/shared/gc_globals.hpp
TLABStatsOpenJDK10Deprecated in JDK12boolgctrueproductProvide more detailed and expensive TLAB statistics.share/gc/shared/gc_globals.hpp
TLABWasteIncrementOpenJDK10uintxgc4
range(0, max_jint)
productIncrement allowed waste at slow allocationshare/gc/shared/gc_globals.hpp
TLABWasteTargetPercentOpenJDK10uintxgc1
range(1, 100)
productPercentage of Eden that can be wastedshare/gc/shared/gc_globals.hpp
TargetPLABWastePctOpenJDK10uintxgc10
range(1, 100)
productTarget wasted space in last buffer as percent of overall allocationshare/gc/shared/gc_globals.hpp
TargetSurvivorRatioOpenJDK10uintxgc50
range(0, 100)
productDesired percentage of survivor space used after scavengeshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeIncrementOpenJDK10uintxgc20
range(0, 100)
productAdaptive size percentage change in tenured generationshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementDecayOpenJDK10uintxgc2
range(1, max_uintx)
productDecay factor to TenuredGenerationSizeIncrementshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementOpenJDK10uintxgc80
range(0, 100)
productSupplement to TenuredGenerationSizeIncrement used at startupshare/gc/shared/gc_globals.hpp
TestCrashInErrorHandlerOpenJDK10uintxruntime0notproductIf > 0, provokes an error inside VM error handler (a secondary crash). see test_error_handler() in vmError.cppshare/runtime/globals.hpp
TestSafeFetchInErrorHandlerOpenJDK10boolruntimefalsenotproductIf true, tests SafeFetch inside error handler.share/runtime/globals.hpp
TestUnresponsiveErrorHandlerOpenJDK10boolruntimefalsenotproductIf true, simulates an unresponsive error handler.share/runtime/globals.hpp
ThreadPriorityPolicyOpenJDK10intxruntime0
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
ThreadPriorityVerboseOpenJDK10boolruntimefalseproductPrint priority changesshare/runtime/globals.hpp
ThreadStackSizeOpenJDK10intxaixppc2048define_pd_global// 0 => use system defaultos_cpu/aix_ppc/globals_aix_ppc.hpp
ThreadStackSizeOpenJDK10intxbsdx86320define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
ThreadStackSizeOpenJDK10intxbsdzero1536define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
ThreadStackSizeOpenJDK10intxlinuxaarch642048define_pd_global// 0 => use system defaultos_cpu/linux_aarch64/globals_linux_aarch64.hpp
ThreadStackSizeOpenJDK10intxlinuxarm320define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
ThreadStackSizeOpenJDK10intxlinuxppc2048define_pd_global// 0 => use system defaultos_cpu/linux_ppc/globals_linux_ppc.hpp
ThreadStackSizeOpenJDK10intxlinuxs3901024define_pd_global// 0 => Use system default.os_cpu/linux_s390/globals_linux_s390.hpp
ThreadStackSizeOpenJDK10intxlinuxx86320define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
ThreadStackSizeOpenJDK10intxlinuxzero1536define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
ThreadStackSizeOpenJDK10intxruntimeproduct_pdThread Stack Size (in Kbytes)share/runtime/globals.hpp
ThreadStackSizeOpenJDK10intxwindowsx860define_pd_global// 0 => use system defaultos_cpu/windows_x86/globals_windows_x86.hpp
ThresholdToleranceOpenJDK10uintxgc10
range(0, 100)
productAllowed collection cost difference between generationsshare/gc/shared/gc_globals.hpp
Tier0AOTBackEdgeThresholdOpenJDK14intxruntime60000
range(0, max_jint)
diagnosticBack edge threshold at which to switch to interpreter to profile if coming from AOT (applicable only with CompilationMode=high-only|high-only-quick-internal)share/runtime/globals.hpp
Tier0AOTCompileThresholdOpenJDK14intxruntime2000
range(0, max_jint)
diagnosticThreshold at which to switch to interpreter to profile if coming from AOT (invocation minimum must be satisfied, applicable only with CompilationMode=high-only|high-only-quick-internal)share/runtime/globals.hpp
Tier0AOTInvocationThresholdOpenJDK14intxruntime200
range(0, max_jint)
diagnosticSwitch to interpreter to profile if the number of method invocations crosses this threshold if coming from AOT (applicable only with CompilationMode=high-only|high-only-quick-internal)share/runtime/globals.hpp
Tier0AOTMinInvocationThresholdOpenJDK14intxruntime100
range(0, max_jint)
diagnosticMinimum number of invocations to switch to interpreter to profile if coming from AOT (applicable only with CompilationMode=high-only|high-only-quick-internal)share/runtime/globals.hpp
Tier0BackedgeNotifyFreqLogOpenJDK10intxruntime10
range(0, 30)
productInterpreter (tier 0) invocation notification frequencyshare/runtime/globals.hpp
Tier0DelayOpenJDK14intxruntime5
range(0, max_jint)
diagnosticIf C2 queue size grows over this amount per compiler thread do not start profiling in the interpreter (applicable only with CompilationMode=high-only|high-only-quick-internal)share/runtime/globals.hpp
Tier0InvokeNotifyFreqLogOpenJDK10intxruntime7
range(0, 30)
productInterpreter (tier 0) invocation notification frequencyshare/runtime/globals.hpp
Tier0ProfilingStartPercentageOpenJDK10intxruntime200
range(0, max_jint)
productStart profiling in interpreter if the counters exceed tier 3 thresholds (tier 4 thresholds with CompilationMode=high-only|high-only-quick-internal)by the specified percentageshare/runtime/globals.hpp
Tier23InlineeNotifyFreqLogOpenJDK10intxruntime20
range(0, 30)
productInlinee invocation (tiers 2 and 3) notification frequencyshare/runtime/globals.hpp
Tier2BackEdgeThresholdOpenJDK10intxruntime0
range(0, max_jint)
productBack edge threshold at which tier 2 compilation is invokedshare/runtime/globals.hpp
Tier2BackedgeNotifyFreqLogOpenJDK10intxruntime14
range(0, 30)
productC1 without MDO (tier 2) invocation notification frequencyshare/runtime/globals.hpp
Tier2CompileThresholdOpenJDK10intxruntime0
range(0, max_jint)
productthreshold at which tier 2 compilation is invokedshare/runtime/globals.hpp
Tier2InvokeNotifyFreqLogOpenJDK10intxruntime11
range(0, 30)
productC1 without MDO (tier 2) invocation notification frequencyshare/runtime/globals.hpp
Tier3AOTBackEdgeThresholdOpenJDK10intxruntime120000
range(0, max_jint)
productBack edge threshold at which tier 3 OSR compilation is invoked if coming from AOTshare/runtime/globals.hpp
Tier3AOTCompileThresholdOpenJDK10intxruntime15000
range(0, max_jint)
productThreshold at which tier 3 compilation is invoked (invocation minimum must be satisfied) if coming from AOTshare/runtime/globals.hpp
Tier3AOTInvocationThresholdOpenJDK10intxruntime10000
range(0, max_jint)
productCompile if number of method invocations crosses this threshold if coming from AOTshare/runtime/globals.hpp
Tier3AOTMinInvocationThresholdOpenJDK10intxruntime1000
range(0, max_jint)
productMinimum invocation to compile at tier 3 if coming from AOTshare/runtime/globals.hpp
Tier3BackEdgeThresholdOpenJDK10intxruntime60000
range(0, max_jint)
productBack edge threshold at which tier 3 OSR compilation is invokedshare/runtime/globals.hpp
Tier3BackedgeNotifyFreqLogOpenJDK10intxruntime13
range(0, 30)
productC1 with MDO profiling (tier 3) invocation notification frequencyshare/runtime/globals.hpp
Tier3CompileThresholdOpenJDK10intxruntime2000
range(0, max_jint)
productThreshold at which tier 3 compilation is invoked (invocation minimum must be satisfied)share/runtime/globals.hpp
Tier3DelayOffOpenJDK10intxruntime2
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/runtime/globals.hpp
Tier3DelayOnOpenJDK10intxruntime5
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/runtime/globals.hpp
Tier3InvocationThresholdOpenJDK10intxruntime200
range(0, max_jint)
productCompile if number of method invocations crosses this thresholdshare/runtime/globals.hpp
Tier3InvokeNotifyFreqLogOpenJDK10intxruntime10
range(0, 30)
productC1 with MDO profiling (tier 3) invocation notification frequencyshare/runtime/globals.hpp
Tier3LoadFeedbackOpenJDK10intxruntime5
range(0, max_jint)
productTier 3 thresholds will increase twofold when C1 queue size reaches this amount per compiler threadshare/runtime/globals.hpp
Tier3MinInvocationThresholdOpenJDK10intxruntime100
range(0, max_jint)
productMinimum invocation to compile at tier 3share/runtime/globals.hpp
Tier40BackEdgeThresholdOpenJDK14intxruntime15000
range(0, max_jint)
diagnosticBack edge threshold at which tier 4 OSR compilation is invoked (applicable only with CompilationMode=high-only|high-only-quick-internal)share/runtime/globals.hpp
Tier40CompileThresholdOpenJDK14intxruntime10000
range(0, max_jint)
diagnosticThreshold at which tier 4 compilation is invoked (invocation minimum must be satisfied, applicable only with CompilationMode=high-only|high-only-quick-internal)share/runtime/globals.hpp
Tier40InvocationThresholdOpenJDK14intxruntime5000
range(0, max_jint)
diagnosticCompile if number of method invocations crosses this threshold (applicable only with CompilationMode=high-only|high-only-quick-internal)share/runtime/globals.hpp
Tier40MinInvocationThresholdOpenJDK14intxruntime600
range(0, max_jint)
diagnosticMinimum number of invocations to compile at tier 4 (applicable only with CompilationMode=high-only|high-only-quick-internal)share/runtime/globals.hpp
Tier4BackEdgeThresholdOpenJDK10intxruntime40000
range(0, max_jint)
productBack edge threshold at which tier 4 OSR compilation is invokedshare/runtime/globals.hpp
Tier4CompileThresholdOpenJDK10intxruntime15000
range(0, max_jint)
productThreshold at which tier 4 compilation is invoked (invocation minimum must be satisfied)share/runtime/globals.hpp
Tier4InvocationThresholdOpenJDK10intxruntime5000
range(0, max_jint)
productCompile if number of method invocations crosses this thresholdshare/runtime/globals.hpp
Tier4LoadFeedbackOpenJDK10intxruntime3
range(0, max_jint)
productTier 4 thresholds will increase twofold when C2 queue size reaches this amount per compiler threadshare/runtime/globals.hpp
Tier4MinInvocationThresholdOpenJDK10intxruntime600
range(0, max_jint)
productMinimum invocation to compile at tier 4share/runtime/globals.hpp
TieredCompilationOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
TieredCompilationOpenJDK10boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
TieredCompilationOpenJDK10boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
TieredCompilationOpenJDK10boolruntimeproduct_pdEnable tiered compilationshare/runtime/globals.hpp
TieredCompilationOpenJDK10boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
TieredCompilationOpenJDK10bools390trueInTiereddefine_pd_globalcpu/s390/c2_globals_s390.hpp
TieredCompilationOpenJDK10boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
TieredCompileTaskTimeoutOpenJDK10intxruntime50
range(0, max_intx)
productKill compile task if method was not used within given timeout in millisecondsshare/runtime/globals.hpp
TieredRateUpdateMaxTimeOpenJDK10intxruntime25
range(0, max_intx)
productMaximum rate sampling interval (in milliseconds)share/runtime/globals.hpp
TieredRateUpdateMinTimeOpenJDK10intxruntime1
range(0, max_intx)
productMinimum rate sampling interval (in milliseconds)share/runtime/globals.hpp
TieredStopAtLevelOpenJDK10intxruntime4
range(0, 4)
productStop at given compilation levelshare/runtime/globals.hpp
TimeEachLinearScanOpenJDK10boolc1falsedevelopprint detailed timing of each LinearScan runshare/c1/c1_globals.hpp
TimeLinearScanOpenJDK10boolc1falseproductdetailed timing of LinearScan phasesshare/c1/c1_globals.hpp
TimeOopMap2OpenJDK10boolruntimefalsedevelopTime calls to GenerateOopMap::compute_map() individuallyshare/runtime/globals.hpp
TimeOopMapOpenJDK10boolruntimefalsedevelopTime calls to GenerateOopMap::compute_map() in sumshare/runtime/globals.hpp
TraceBytecodesAtOpenJDK10intxruntime0developTrace bytecodes starting with specified bytecode numbershare/runtime/globals.hpp
TraceBytecodesOpenJDK10boolruntimefalsedevelopTrace bytecode executionshare/runtime/globals.hpp
TraceCISCSpillOpenJDK10boolc2falsenotproductTrace allocators use of cisc spillable instructionsshare/opto/c2_globals.hpp
TraceCallFixupOpenJDK10boolruntimefalsedevelopTrace all call fixupsshare/runtime/globals.hpp
TraceCodeBlobStacksOpenJDK10boolruntimefalsenotproductTrace stack-walk of codeblobsshare/runtime/globals.hpp
TraceCompiledICOpenJDK10boolruntimefalsedevelopTrace changes of compiled ICshare/runtime/globals.hpp
TraceCompilerThreadsOpenJDK11boolruntimefalsediagnosticTrace creation and removal of compiler threadsshare/runtime/globals.hpp
TraceCreateZombiesOpenJDK10boolruntimefalsedeveloptrace creation of zombie nmethodsshare/runtime/globals.hpp
TraceDeoptimizationOpenJDK10boolruntimefalsedevelopTrace deoptimizationshare/runtime/globals.hpp
TraceDependenciesOpenJDK10boolruntimefalsedevelopTrace dependenciesshare/runtime/globals.hpp
TraceDerivedPointersOpenJDK10boolruntimefalsedevelopTrace traversal of derived pointers on stackshare/runtime/globals.hpp
TraceFPURegisterUsageOpenJDK10boolc1falsedevelopTrace usage of FPU registers at start of blocks (intel only)share/c1/c1_globals.hpp
TraceFPUStackOpenJDK10boolc1falsedevelopTrace emulation of the FPU stack (intel only)share/c1/c1_globals.hpp
TraceFinalizerRegistrationOpenJDK10boolruntimefalsedevelopTrace registration of final referencesshare/runtime/globals.hpp
TraceFrequencyInliningOpenJDK10boolruntimefalsedevelopTrace frequency based inliningshare/runtime/globals.hpp
TraceICBufferOpenJDK10boolruntimefalsedevelopTrace usage of IC buffershare/runtime/globals.hpp
TraceICsOpenJDK10boolruntimefalsedevelopTrace inline cache changesshare/runtime/globals.hpp
TraceInlineCacheClearingOpenJDK10boolruntimefalsedevelopTrace clearing of inline caches in nmethodsshare/runtime/globals.hpp
TraceInvocationCounterOverflowOpenJDK10boolruntimefalsenotproductTrace method invocation counter overflowshare/runtime/globals.hpp
TraceIterativeGVNOpenJDK10boolc2falsedevelopPrint progress during Iterative Global Value Numberingshare/opto/c2_globals.hpp
TraceJVMTIObjectTaggingOpenJDK10boolruntimefalsediagnosticTrace JVMTI object tagging callsshare/runtime/globals.hpp
TraceJVMTIOpenJDK10ccstrruntimeNULLproductTrace flags for JVMTI functions and eventsshare/runtime/globals.hpp
TraceJavaAssertionsOpenJDK10boolruntimefalsedevelopTrace java language assertionsshare/runtime/globals.hpp
TraceLinearScanLevelOpenJDK10intxc10
range(0, 4)
developDebug levels for the linear scan allocatorshare/c1/c1_globals.hpp
TraceLivenessGenOpenJDK10boolruntimefalsedevelopTrace the generation of liveness analysis informationshare/runtime/globals.hpp
TraceLivenessQueryOpenJDK10boolruntimefalsenotproductTrace queries of liveness analysis informationshare/runtime/globals.hpp
TraceLongCompilesOpenJDK10boolruntimefalsedevelopPrint out every time compilation is longer than a given thresholdshare/runtime/globals.hpp
TraceLoopLimitCheckOpenJDK10boolc2falsedevelopTrace generation of loop limits checksshare/opto/c2_globals.hpp
TraceLoopOptsOpenJDK10boolc2falsedevelopTrace executed loop optimizationsshare/opto/c2_globals.hpp
TraceLoopPredicateOpenJDK10boolc2falsedevelopTrace generation of loop predicatesshare/opto/c2_globals.hpp
TraceLoopUnswitchingOpenJDK10boolc2falsenotproductTrace loop unswitchingshare/opto/c2_globals.hpp
TraceMemoryWritebackOpenJDK14boolruntimefalsedevelopTrace memory writeback operationsshare/runtime/globals.hpp
TraceMethodReplacementOpenJDK10boolruntimefalsedevelopPrint when methods are replaced do to recompilationshare/runtime/globals.hpp
TraceNewOopMapGenerationDetailedOpenJDK10boolruntimefalsedevelopTrace OopMapGeneration: print detailed cell statesshare/runtime/globals.hpp
TraceNewOopMapGenerationOpenJDK10boolruntimefalsedevelopTrace OopMapGenerationshare/runtime/globals.hpp
TraceNewVectorsOpenJDK10boolc2falsenotproductTrace creation of Vector nodesshare/opto/c2_globals.hpp
TraceOnStackReplacementOpenJDK10boolruntimefalsenotproductTrace on stack replacementshare/runtime/globals.hpp
TraceOopMapRewritesOpenJDK10boolruntimefalsedevelopTrace rewriting of method oops during oop map generationshare/runtime/globals.hpp
TraceOptimizeFillOpenJDK10boolc2falsedevelopprint detailed information about fill conversionshare/opto/c2_globals.hpp
TraceOptoOutputOpenJDK10boolc2falsenotproductTrace pipelining informationshare/opto/c2_globals.hpp
TraceOptoParseOpenJDK10boolc2falsedevelopTrace bytecode parse and control-flow mergeshare/opto/c2_globals.hpp
TraceOptoPipeliningOpenJDK10boolc2falsenotproductTrace pipelining informationshare/opto/c2_globals.hpp
TracePartialPeelingOpenJDK10boolc2falsenotproductTrace partial peeling (loop rotation) informationshare/opto/c2_globals.hpp
TracePatchingOpenJDK10boolc1falsedevelopTrace patching of field access on uninitialized classesshare/c1/c1_globals.hpp
TracePcPatchingOpenJDK10boolruntimefalsedevelopTrace usage of frame::patch_pcshare/runtime/globals.hpp
TracePhaseCCPOpenJDK10boolc2falsenotproductPrint progress during Conditional Constant Propagationshare/opto/c2_globals.hpp
TracePostallocExpandOpenJDK10boolc2falsedevelopTrace expanding nodes after register allocation.share/opto/c2_globals.hpp
TracePredicateFailedTrapsOpenJDK10boolc1falsedeveloptrace runtime traps caused by predicate failureshare/c1/c1_globals.hpp
TraceProfileInterpreterOpenJDK10boolruntimefalsedevelopTrace profiling at the bytecode level during interpretation. This outputs the profiling information collected to improve jit compilation.share/runtime/globals.hpp
TraceProfileTripCountOpenJDK10boolc2falsenotproductTrace profile loop trip count informationshare/opto/c2_globals.hpp
TraceRangeCheckEliminationOpenJDK10boolc1falsedevelopTrace Range Check Eliminationshare/c1/c1_globals.hpp
TraceRangeLimitCheckOpenJDK10boolc2falsedevelopTrace additional overflow checks in RCEshare/opto/c2_globals.hpp
TraceRelocatorOpenJDK10boolruntimefalsedevelopTrace the bytecode relocatorshare/runtime/globals.hpp
TraceSpillingOpenJDK10boolc2falsediagnosticTrace spillingshare/opto/c2_globals.hpp
TraceSuperWordLoopUnrollAnalysisOpenJDK10boolc2falsenotproductTrace what Superword Level Parallelism analysis appliesshare/opto/c2_globals.hpp
TraceSuperWordOpenJDK10boolc2falsenotproductTrace superword transformsshare/opto/c2_globals.hpp
TraceSuspendWaitFailuresOpenJDK10boolruntimefalseproductTrace external suspend wait failuresshare/runtime/globals.hpp
TraceTrapsOpenJDK10boolaarch64falseproductTrace all traps the signal handlercpu/aarch64/globals_aarch64.hpp
TraceTrapsOpenJDK10boolppcfalseproductTrace all traps the signal handlerhandles.cpu/ppc/globals_ppc.hpp
TraceTrapsOpenJDK10bools390falseproductTrace all traps the signal handlerhandles.cpu/s390/globals_s390.hpp
TraceTypeProfileOpenJDK10boolc2falsediagnosticTrace type profileshare/opto/c2_globals.hpp
TrackedInitializationLimitOpenJDK10intxc250
range(0, 65535)
productWhen initializing fields, track up to this many wordsshare/opto/c2_globals.hpp
TrapBasedICMissChecksOpenJDK10boolppctrueproductRaise and handle SIGTRAP if inline cache miss detected.cpu/ppc/globals_ppc.hpp
TrapBasedNullChecksOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
TrapBasedNullChecksOpenJDK10boolarmfalsedefine_pd_global// Not neededcpu/arm/globals_arm.hpp
TrapBasedNullChecksOpenJDK10boolruntimeproduct_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
TrapBasedNullChecksOpenJDK10boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
TrapBasedNullChecksOpenJDK10bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
TrapBasedNullChecksOpenJDK10boolx86falsedefine_pd_global// Not needed on x86.cpu/x86/globals_x86.hpp
TrapBasedNullChecksOpenJDK10boolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
TrapBasedRangeChecksOpenJDK10boolaarch64falsedefine_pd_global// Not needed.cpu/aarch64/c2_globals_aarch64.hpp
TrapBasedRangeChecksOpenJDK10boolarmfalsedefine_pd_global// Not neededcpu/arm/c2_globals_arm.hpp
TrapBasedRangeChecksOpenJDK10boolc2product_pdGenerate code for range checks that uses a cmp and trap instruction raising SIGTRAP. Used on PPC64.share/opto/c2_globals.hpp
TrapBasedRangeChecksOpenJDK10boolppctruedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
TrapBasedRangeChecksOpenJDK10bools390falsedefine_pd_global// Not needed on z/Architecture.cpu/s390/c2_globals_s390.hpp
TrapBasedRangeChecksOpenJDK10boolx86falsedefine_pd_global// Not needed on x86.cpu/x86/c2_globals_x86.hpp
TrustFinalNonStaticFieldsOpenJDK10boolruntimefalseexperimentaltrust final non-static declarations for constant foldingshare/runtime/globals.hpp
TwoOperandLIRFormOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
TwoOperandLIRFormOpenJDK10boolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
TwoOperandLIRFormOpenJDK10boolc1develop_pdtrue if LIR requires src1 and dst to match in binary LIR opsshare/c1/c1_globals.hpp
TwoOperandLIRFormOpenJDK10boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
TwoOperandLIRFormOpenJDK10bools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
TwoOperandLIRFormOpenJDK10boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
TypeProfileArgsLimitOpenJDK10intxruntime2
range(0, 16)
productmax number of call arguments to consider for type profilingshare/runtime/globals.hpp
TypeProfileCastsOpenJDK10boolruntimetruedeveloptreat casts like calls for purposes of type profilingshare/runtime/globals.hpp
TypeProfileLevelOpenJDK10uintxaarch64111define_pd_globalcpu/aarch64/globals_aarch64.hpp
TypeProfileLevelOpenJDK10uintxarm0define_pd_globalcpu/arm/globals_arm.hpp
TypeProfileLevelOpenJDK10uintxruntimeproduct_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
TypeProfileLevelOpenJDK10uintxppc111define_pd_globalcpu/ppc/globals_ppc.hpp
TypeProfileLevelOpenJDK10uintxs390111define_pd_globalcpu/s390/globals_s390.hpp
TypeProfileLevelOpenJDK10uintxx86111define_pd_globalcpu/x86/globals_x86.hpp
TypeProfileLevelOpenJDK10uintxzero0define_pd_globalcpu/zero/globals_zero.hpp
TypeProfileMajorReceiverPercentOpenJDK10intxc290
range(0, 100)
product% of major receiver type to all profiled receiversshare/opto/c2_globals.hpp
TypeProfileParmsLimitOpenJDK10intxruntime2
range(-1, 64)
productmax number of incoming parameters to consider for type profiling, -1 for allshare/runtime/globals.hpp
TypeProfileWidthOpenJDK10intxruntime2
range(0, 8)
productNumber of receiver types to record in call/cast profileshare/runtime/globals.hpp
UncommonNullCastOpenJDK10boolaarch64truedefine_pd_global// Uncommon-trap NULLs past to check castcpu/aarch64/globals_aarch64.hpp
UncommonNullCastOpenJDK10boolarmtruedefine_pd_global// Uncommon-trap NULLs past to check castcpu/arm/globals_arm.hpp
UncommonNullCastOpenJDK10boolruntimedevelop_pdtrack occurrences of null in casts; adjust compiler tacticsshare/runtime/globals.hpp
UncommonNullCastOpenJDK10boolppctruedefine_pd_global// Uncommon-trap NULLs passed to check cast.cpu/ppc/globals_ppc.hpp
UncommonNullCastOpenJDK10bools390truedefine_pd_global// Uncommon-trap NULLs passed to check cast.cpu/s390/globals_s390.hpp
UncommonNullCastOpenJDK10boolx86truedefine_pd_global// Uncommon-trap NULLs passed to check castcpu/x86/globals_x86.hpp
UncommonNullCastOpenJDK10boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
UnguardOnExecutionViolationOpenJDK10intxruntime0
range(0, 2)
productUnguard page and retry on no-execute fault (Win32 only)
0=off, 1=conservative, 2=aggressive
share/runtime/globals.hpp
UnlockDiagnosticVMOptionsOpenJDK10boolruntimetrueInDebugdiagnosticEnable normal processing of flags relating to field diagnosticsshare/runtime/globals.hpp
UnlockExperimentalVMOptionsOpenJDK10boolruntimefalseexperimentalEnable normal processing of flags relating to experimental featuresshare/runtime/globals.hpp
UnrollLimitForProfileCheckOpenJDK10intxc21
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
Use64KPagesThresholdOpenJDK10uintxaix0develop4K/64K page allocation threshold.os/aix/globals_aix.hpp
Use64KPagesOpenJDK10boolaixtrueproductUse 64K pages if available.os/aix/globals_aix.hpp
UseAESCTRIntrinsicsOpenJDK10boolruntimefalsediagnosticUse intrinsics for the paralleled version of AES/CTR cryptoshare/runtime/globals.hpp
UseAESIntrinsicsOpenJDK10boolruntimefalsediagnosticUse intrinsics for AES versions of cryptoshare/runtime/globals.hpp
UseAESOpenJDK10boolruntimefalseproductControl whether AES instructions are used when availableshare/runtime/globals.hpp
UseAOTStrictLoadingOpenJDK10boolruntimefalsediagnosticExit the VM if any of the AOT libraries has invalid configshare/runtime/globals.hpp
UseAOTOpenJDK10boolruntimefalseexperimentalUse AOT compiled filesshare/runtime/globals.hpp
UseAVXOpenJDK10intxx863
range(0, 99)
productHighest supported AVX instructions set on x86/x64cpu/x86/globals_x86.hpp
UseAdaptiveGenerationSizePolicyAtMajorCollectionOpenJDK10boolgctrueproductUse adaptive young-old sizing policies at major collectionsshare/gc/shared/gc_globals.hpp
UseAdaptiveGenerationSizePolicyAtMinorCollectionOpenJDK10boolgctrueproductUse adaptive young-old sizing policies at minor collectionsshare/gc/shared/gc_globals.hpp
UseAdaptiveNUMAChunkSizingOpenJDK10boolruntimetrueproductEnable adaptive chunk sizing for NUMAshare/runtime/globals.hpp
UseAdaptiveSizeDecayMajorGCCostOpenJDK10boolgctrueproductAdaptive size decays the major cost for long major intervalsshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyFootprintGoalOpenJDK10boolgctrueproductUse adaptive minimum footprint as a goalshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyWithSystemGCOpenJDK10boolgcfalseproductInclude statistics from System.gc() for adaptive size policyshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyOpenJDK10boolgctrueproductUse adaptive generation sizing policiesshare/gc/shared/gc_globals.hpp
UseAddressNopOpenJDK10boolx86falseproductUse '0F 1F [addr]' NOP instructions on x86 cpuscpu/x86/globals_x86.hpp
UseAdler32IntrinsicsOpenJDK10boolruntimefalsediagnosticuse intrinsics for java.util.zip.Adler32share/runtime/globals.hpp
UseBASE64IntrinsicsOpenJDK11boolruntimefalseproductUse intrinsics for java.util.Base64share/runtime/globals.hpp
UseBMI1InstructionsOpenJDK10boolx86falseproductUse BMI1 instructionscpu/x86/globals_x86.hpp
UseBMI2InstructionsOpenJDK10boolx86falseproductUse BMI2 instructionscpu/x86/globals_x86.hpp
UseBiasedLockingOpenJDK10Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolruntimefalseproduct(Deprecated) Enable biased locking in JVMshare/runtime/globals.hpp
UseBimorphicInliningOpenJDK10boolc2trueproductProfiling based inlining for two receiversshare/opto/c2_globals.hpp
UseBlockZeroingOpenJDK10boolaarch64trueproductUse DC ZVA for block zeroingcpu/aarch64/globals_aarch64.hpp
UseBootstrapCallInfoOpenJDK11intruntime1diagnostic0: 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
UseBsdPosixThreadCPUClocksOpenJDK10Obsoleted in JDK16
Expired in JDK17
boolbsdtrueproductenable fast Bsd Posix clocks where availableos/bsd/globals_bsd.hpp
UseByteReverseInstructionOpenJDK10bools390trueproductUse byte reverse instruction.cpu/s390/globals_s390.hpp
UseC1OptimizationsOpenJDK10boolc1truedevelopTurn on C1 optimizationsshare/c1/c1_globals.hpp
UseCHAOpenJDK10boolruntimetruedevelopEnable CHAshare/runtime/globals.hpp
UseCISCSpillOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
UseCISCSpillOpenJDK10boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
UseCISCSpillOpenJDK10boolc2develop_pdUse ADLC supplied cisc instructions during allocationshare/opto/c2_globals.hpp
UseCISCSpillOpenJDK10boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
UseCISCSpillOpenJDK10bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
UseCISCSpillOpenJDK10boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
UseCLMULOpenJDK10boolx86falseproductControl whether CLMUL instructions can be used on x86/x64cpu/x86/globals_x86.hpp
UseCMoveUnconditionallyOpenJDK10boolc2falseproductUse CMove (scalar and vector) ignoring profitability test.share/opto/c2_globals.hpp
UseCRC32CIntrinsicsOpenJDK10boolruntimefalsediagnosticuse intrinsics for java.util.zip.CRC32Cshare/runtime/globals.hpp
UseCRC32IntrinsicsOpenJDK10boolruntimefalsediagnosticuse intrinsics for java.util.zip.CRC32share/runtime/globals.hpp
UseCRC32OpenJDK10boolaarch64falseproductUse CRC32 instructions for CRC32 computationcpu/aarch64/globals_aarch64.hpp
UseCharacterCompareIntrinsicsOpenJDK11boolc2falsediagnosticEnables intrinsification of java.lang.Character functionsshare/opto/c2_globals.hpp
UseCodeAgingOpenJDK10boolruntimetrueproductInsert counter to detect warm methodsshare/runtime/globals.hpp
UseCodeCacheFlushingOpenJDK10boolruntimetrueproductRemove cold/old nmethods from the code cacheshare/runtime/globals.hpp
UseCompilerOpenJDK10boolruntimetrueproductUse Just-In-Time compilationshare/runtime/globals.hpp
UseCompressedClassPointersOpenJDK10boolruntimefalselp64_productUse 32-bit class pointers in 64-bit VM. lp64_product means flag is always constant in 32 bit VMshare/runtime/globals.hpp
UseCompressedOopsOpenJDK10boolruntimefalselp64_productUse 32-bit object references in 64-bit VM. lp64_product means flag is always constant in 32 bit VMshare/runtime/globals.hpp
UseCondCardMarkOpenJDK10boolgcfalseproductCheck for already marked card before updating card tableshare/gc/shared/gc_globals.hpp
UseContainerSupportOpenJDK10boollinuxtrueproductEnable detection and runtime container configuration supportos/linux/globals_linux.hpp
UseCountLeadingZerosInstructionOpenJDK10boolx86falseproductUse count leading zeros instructioncpu/x86/globals_x86.hpp
UseCountLeadingZerosInstructionsPPC64OpenJDK10boolppctrueproductUse count leading zeros instructions.cpu/ppc/globals_ppc.hpp
UseCountTrailingZerosInstructionOpenJDK10boolx86falseproductUse count trailing zeros instructioncpu/x86/globals_x86.hpp
UseCountTrailingZerosInstructionsPPC64OpenJDK11boolppcfalseproductUse count trailing zeros instructions.cpu/ppc/globals_ppc.hpp
UseCountedLoopSafepointsOpenJDK10boolc2falseproductForce counted loops to keep a safepointshare/opto/c2_globals.hpp
UseCounterDecayOpenJDK10boolruntimetrueproductAdjust recompilation countersshare/runtime/globals.hpp
UseCpuAllocPathOpenJDK10boollinuxfalsediagnosticUse CPU_ALLOC code path in os::active_processor_countos/linux/globals_linux.hpp
UseCriticalCompilerThreadPriorityOpenJDK10boolruntimefalseexperimentalCompiler thread(s) run at critical scheduling priorityshare/runtime/globals.hpp
UseCriticalJavaThreadPriorityOpenJDK10boolruntimefalseexperimentalJava thread priority 10 maps to critical scheduling priorityshare/runtime/globals.hpp
UseDivModOpenJDK10boolc2trueproductUse combined DivMod instruction if availableshare/opto/c2_globals.hpp
UseDynamicNumberOfCompilerThreadsOpenJDK11boolruntimetrueproductDynamically choose the number of parallel compiler threadsshare/runtime/globals.hpp
UseDynamicNumberOfGCThreadsOpenJDK10boolgctrueproductDynamically choose the number of threads up to a maximum of ParallelGCThreads parallel collectors will use for garbage collection workshare/gc/shared/gc_globals.hpp
UseEmptySlotsInSupersOpenJDK15boolruntimetrueproductAllow allocating fields in empty slots of super-classesshare/runtime/globals.hpp
UseEpsilonGCOpenJDK11boolgcfalseexperimentalUse the Epsilon (no-op) garbage collectorshare/gc/shared/gc_globals.hpp
UseExactTypesOpenJDK10boolc2truedevelopUse exact types to eliminate array store checks and v-callsshare/opto/c2_globals.hpp
UseExplicitCommitOpenJDK10boolaixfalseproductExplicit commit for virtual memory.os/aix/globals_aix.hpp
UseExtendedLoadAndReserveInstructionsPPC64OpenJDK10boolppcfalseproductUse extended versions of load-and-reserve instructions.cpu/ppc/globals_ppc.hpp
UseFMAOpenJDK10boolruntimefalseproductControl whether FMA instructions are used when availableshare/runtime/globals.hpp
UseFPUForSpillingOpenJDK10boolc2falseproductSpill integer registers to FPU instead of stack when possibleshare/opto/c2_globals.hpp
UseFastAccessorMethodsOpenJDK10boolzerotrueproductUse fast method entry code for accessor methodscpu/zero/globals_zero.hpp
UseFastEmptyMethodsOpenJDK10boolzerotrueproductUse fast method entry code for empty methodscpu/zero/globals_zero.hpp
UseFastJNIAccessorsOpenJDK10boolruntimetrueproductUse optimized versions of Get<Primitive>Fieldshare/runtime/globals.hpp
UseFastLockingOpenJDK10boolc1truedevelopUse fast inlined locking codeshare/c1/c1_globals.hpp
UseFastNewInstanceOpenJDK10boolc1truedevelopUse fast inlined instance allocationshare/c1/c1_globals.hpp
UseFastNewObjectArrayOpenJDK10boolc1truedevelopUse fast inlined object array allocationshare/c1/c1_globals.hpp
UseFastNewTypeArrayOpenJDK10boolc1truedevelopUse fast inlined type array allocationshare/c1/c1_globals.hpp
UseFastSignatureHandlersOpenJDK10boolruntimetruedevelopUse fast signature handlers for native callsshare/runtime/globals.hpp
UseFastStosbOpenJDK10boolx86falseproductUse fast-string operation for zeroing: rep stosbcpu/x86/globals_x86.hpp
UseFastUnorderedTimeStampsOpenJDK11boolruntimefalseexperimentalUse platform unstable time where supported for timestamps onlyshare/runtime/globals.hpp
UseG1GCOpenJDK10boolgcfalseproductUse the Garbage-First garbage collectorshare/gc/shared/gc_globals.hpp
UseGCOverheadLimitOpenJDK10boolgctrueproductUse policy to limit of proportion of time spent in GC before an OutOfMemory error is thrownshare/gc/shared/gc_globals.hpp
UseGHASHIntrinsicsOpenJDK10boolruntimefalsediagnosticUse intrinsics for GHASH versions of cryptoshare/runtime/globals.hpp
UseGlobalValueNumberingOpenJDK10boolc1truedevelopUse Global Value Numbering (separate phase)share/c1/c1_globals.hpp
UseHeavyMonitorsOpenJDK10boolruntimefalseproductuse heavyweight instead of lightweight Java monitorsshare/runtime/globals.hpp
UseHugeTLBFSOpenJDK10Obsoleted in JDK12
Expired in JDK13
boollinuxfalseproductUse MAP_HUGETLB for large pagesos/linux/globals_linux.hpp
UseIncDecOpenJDK10boolx86truediagnosticUse INC, DEC instructions on x86cpu/x86/globals_x86.hpp
UseInlineCachesOpenJDK10boolruntimetrueproductUse Inline Caches for virtual callsshare/runtime/globals.hpp
UseInlineDepthForSpeculativeTypesOpenJDK10boolc2truediagnosticCarry inline depth of profile point with speculative type and give priority to profiling from lower inline depthshare/opto/c2_globals.hpp
UseInterpreterOpenJDK10boolruntimetrueproductUse interpreter for non-compiled methodsshare/runtime/globals.hpp
UseJVMCICompilerOpenJDK10booljvmcifalseexperimentalUse JVMCI as the default compiler. Defaults to true if EnableJVMCIProduct is true.share/jvmci/jvmci_globals.hpp
UseJVMCINativeLibraryOpenJDK13booljvmcifalseexperimentalExecute 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
UseJumpTablesOpenJDK10boolc2trueproductUse JumpTables instead of a binary search tree for switchesshare/opto/c2_globals.hpp
UseLSEOpenJDK10boolaarch64falseproductUse LSE instructionscpu/aarch64/globals_aarch64.hpp
UseLargePagesInMetaspaceOpenJDK10Deprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimefalseproduct(Deprecated) Use large page memory in metaspace. Only used if UseLargePages is enabled.share/runtime/globals.hpp
UseLargePagesIndividualAllocationOpenJDK10boolaixfalsedefine_pd_globalos/aix/globals_aix.hpp
UseLargePagesIndividualAllocationOpenJDK10boolbsdfalsedefine_pd_globalos/bsd/globals_bsd.hpp
UseLargePagesIndividualAllocationOpenJDK10boollinuxfalsedefine_pd_globalos/linux/globals_linux.hpp
UseLargePagesIndividualAllocationOpenJDK10boolruntimeproduct_pdAllocate large pages individually for better affinityshare/runtime/globals.hpp
UseLargePagesIndividualAllocationOpenJDK10boolwindowstruedefine_pd_globalos/windows/globals_windows.hpp
UseLargePagesOpenJDK10boolaixfalsedefine_pd_globalos/aix/globals_aix.hpp
UseLargePagesOpenJDK10boolbsdfalsedefine_pd_globalos/bsd/globals_bsd.hpp
UseLargePagesOpenJDK10boollinuxfalsedefine_pd_globalos/linux/globals_linux.hpp
UseLargePagesOpenJDK10boolruntimeproduct_pdUse large page memoryshare/runtime/globals.hpp
UseLargePagesOpenJDK10boolwindowsfalsedefine_pd_globalos/windows/globals_windows.hpp
UseLegacyJNINameEscapingOpenJDK11boolruntimefalseproductUse the original JNI name escaping schemeshare/runtime/globals.hpp
UseLibmIntrinsicOpenJDK10boolx86truediagnosticUse Libm Intrinsicscpu/x86/globals_x86.hpp
UseLinuxPosixThreadCPUClocksOpenJDK10boollinuxtrueproductenable fast Linux Posix clocks where availableos/linux/globals_linux.hpp
UseLoadInstructionsForStackBangingPPC64OpenJDK10boolppcfalseproductUse load instructions for stack banging.cpu/ppc/globals_ppc.hpp
UseLocalValueNumberingOpenJDK10boolc1truedevelopUse Local Value Numbering (embedded in GraphBuilder)share/c1/c1_globals.hpp
UseLoopCounterOpenJDK10boolruntimetrueproductIncrement invocation counter on backward branchshare/runtime/globals.hpp
UseLoopInvariantCodeMotionOpenJDK10boolc1trueproductSimple loop invariant code motion for short loops during GVNshare/c1/c1_globals.hpp
UseLoopPredicateOpenJDK10boolc2trueproductGenerate a predicate to select fast/slow loop versionsshare/opto/c2_globals.hpp
UseLoopSafepointsOpenJDK10boolruntimetruedevelopGenerate Safepoint nodes in every loopshare/runtime/globals.hpp
UseMallocOnlyOpenJDK10boolruntimefalsedevelopUse only malloc/free for allocation (no resource area/arena)share/runtime/globals.hpp
UseMathExactIntrinsicsOpenJDK10boolc2truediagnosticEnables intrinsification of various java.lang.Math functionsshare/opto/c2_globals.hpp
UseMaximumCompactionOnSystemGCOpenJDK10boolgctrueproductUse maximum compaction in the Parallel Old garbage collector for a system GCshare/gc/parallel/parallel_globals.hpp
UseMontgomeryMultiplyIntrinsicOpenJDK10boolc2falsediagnosticEnables intrinsification of BigInteger.montgomeryMultiply()share/opto/c2_globals.hpp
UseMontgomerySquareIntrinsicOpenJDK10boolc2falsediagnosticEnables intrinsification of BigInteger.montgomerySquare()share/opto/c2_globals.hpp
UseMulAddIntrinsicOpenJDK10boolc2falsediagnosticEnables intrinsification of BigInteger.mulAdd()share/opto/c2_globals.hpp
UseMultiplyToLenIntrinsicOpenJDK10boolc2falsediagnosticEnables intrinsification of BigInteger.multiplyToLen()share/opto/c2_globals.hpp
UseNUMAInterleavingOpenJDK10boolruntimefalseproductInterleave memory across NUMA nodes if availableshare/runtime/globals.hpp
UseNUMAOpenJDK10boolruntimefalseproductUse NUMA if availableshare/runtime/globals.hpp
UseNeonOpenJDK10boolaarch64falseproductUse Neon for CRC32 computationcpu/aarch64/globals_aarch64.hpp
UseNewCode2OpenJDK10boolruntimefalsediagnosticTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewCode3OpenJDK10boolruntimefalsediagnosticTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewCodeOpenJDK10boolruntimefalsediagnosticTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewFieldLayoutOpenJDK15Deprecated in JDK15
Obsoleted in JDK16
Expired in JDK17
boolruntimetrueproduct(Deprecated) Use new algorithm to compute field layoutsshare/runtime/globals.hpp
UseNewLongLShiftOpenJDK10boolx86falseproductUse optimized bitwise shift leftcpu/x86/globals_x86.hpp
UseNotificationThreadOpenJDK14boolruntimetrueproductUse Notification Threadshare/runtime/globals.hpp
UseOSErrorReportingOpenJDK10boolaixfalsedefine_pd_globalos/aix/globals_aix.hpp
UseOSErrorReportingOpenJDK10boolbsdfalsedefine_pd_globalos/bsd/globals_bsd.hpp
UseOSErrorReportingOpenJDK10boollinuxfalsedefine_pd_globalos/linux/globals_linux.hpp
UseOSErrorReportingOpenJDK10boolruntimeproduct_pdLet VM fatal error propagate to the OS (ie. WER on Windows)share/runtime/globals.hpp
UseOSErrorReportingOpenJDK10boolwindowsfalsedefine_pd_global// for now.os/windows/globals_windows.hpp
UseOnStackReplacementOpenJDK10boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
UseOnStackReplacementOpenJDK10boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
UseOnStackReplacementOpenJDK10boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
UseOnStackReplacementOpenJDK10boolruntimeproduct_pdUse on stack replacement, calls runtime if invoc. counter overflows in loopshare/runtime/globals.hpp
UseOnStackReplacementOpenJDK10boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
UseOnStackReplacementOpenJDK10bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
UseOnStackReplacementOpenJDK10boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
UseOnlyInlinedBimorphicOpenJDK10boolc2trueproductDon't use BimorphicInlining if can't inline a second methodshare/opto/c2_globals.hpp
UseOprofileOpenJDK10Obsoleted in JDK16
Expired in JDK17
boolbsdfalseproductenable support for Oprofile profileros/bsd/globals_bsd.hpp
UseOprofileOpenJDK10Obsoleted in JDK16
Expired in JDK17
boollinuxfalseproductenable support for Oprofile profileros/linux/globals_linux.hpp
UseOptoBiasInliningOpenJDK10Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolc2trueproduct(Deprecated) Generate biased locking code in C2 ideal graphshare/opto/c2_globals.hpp
UsePSAdaptiveSurvivorSizePolicyOpenJDK10boolgctrueproductUse adaptive survivor sizing policiesshare/gc/shared/gc_globals.hpp
UseParallelGCOpenJDK10boolgcfalseproductUse the Parallel garbage collector.share/gc/shared/gc_globals.hpp
UsePerfDataOpenJDK10boolruntimetrueproductFlag to disable jvmstat instrumentation for performance testing and problem isolation purposesshare/runtime/globals.hpp
UsePopCountInstructionOpenJDK10boolruntimefalseproductUse population count instructionshare/runtime/globals.hpp
UsePower6SchedulerPPC64OpenJDK10boolppcfalseproductUse Power6 Scheduler.cpu/ppc/globals_ppc.hpp
UsePrivilegedStackOpenJDK10boolruntimetruedevelopEnable the security JVM functionsshare/runtime/globals.hpp
UseProfiledLoopPredicateOpenJDK11boolc2trueproductMove predicates out of loops based on profiling datashare/opto/c2_globals.hpp
UseRDPCForConstantTableBaseOpenJDK10Obsoleted in JDK16
Expired in JDK17
boolc2falseproductUse Sparc RDPC instruction for the constant table base.share/opto/c2_globals.hpp
UseRTMDeoptOpenJDK10boolppcfalseproductPerform deopt and recompilation based on RTM abort ratiocpu/ppc/globals_ppc.hpp
UseRTMDeoptOpenJDK10boolx86falseproductPerform deopt and recompilation based on RTM abort ratiocpu/x86/globals_x86.hpp
UseRTMForStackLocksOpenJDK10boolppcfalseexperimentalEnable RTM lock eliding for stack locks in compiled codecpu/ppc/globals_ppc.hpp
UseRTMForStackLocksOpenJDK10boolx86falseexperimentalEnable RTM lock eliding for stack locks in compiled codecpu/x86/globals_x86.hpp
UseRTMLockingOpenJDK10boolppcfalseproductEnable RTM lock eliding for inflated locks in compiled codecpu/ppc/globals_ppc.hpp
UseRTMLockingOpenJDK10boolx86falseproductEnable RTM lock eliding for inflated locks in compiled codecpu/x86/globals_x86.hpp
UseRTMXendForLockBusyOpenJDK10boolppctrueexperimentalUse RTM Xend instead of Xabort when lock busycpu/ppc/globals_ppc.hpp
UseRTMXendForLockBusyOpenJDK10boolx86trueexperimentalUse RTM Xend instead of Xabort when lock busycpu/x86/globals_x86.hpp
UseRotateAndMaskInstructionsPPC64OpenJDK10boolppctrueproductUse rotate and mask instructions.cpu/ppc/globals_ppc.hpp
UseSHA1IntrinsicsOpenJDK10boolruntimefalsediagnosticUse intrinsics for SHA-1 crypto hash function. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHA256IntrinsicsOpenJDK10boolruntimefalsediagnosticUse intrinsics for SHA-224 and SHA-256 crypto hash functions. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHA512IntrinsicsOpenJDK10boolruntimefalsediagnosticUse intrinsics for SHA-384 and SHA-512 crypto hash functions. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHAOpenJDK10boolruntimefalseproductControl whether SHA instructions are used when availableshare/runtime/globals.hpp
UseSHMOpenJDK10Obsoleted in JDK12
Expired in JDK13
boollinuxfalseproductUse SYSV shared memory for large pagesos/linux/globals_linux.hpp
UseSIGTRAPOpenJDK10boolppctrueproductAllow trap instructions that make use of SIGTRAP. Use this to switch off all optimizations requiring SIGTRAP.cpu/ppc/globals_ppc.hpp
UseSIMDForArrayEqualsOpenJDK11boolaarch64trueproductUse SIMD instructions in generated array equals codecpu/aarch64/globals_aarch64.hpp
UseSIMDForMemoryOpsOpenJDK10boolaarch64falseproductUse SIMD instructions in generated memory move codecpu/aarch64/globals_aarch64.hpp
UseSSE42IntrinsicsOpenJDK10boolx86falseproductSSE4.2 versions of intrinsicscpu/x86/globals_x86.hpp
UseSSEOpenJDK10Obsoleted in JDK15
Expired in JDK16
intxx8699
range(0, 99)
productHighest supported SSE instructions set on x86/x64cpu/x86/globals_x86.hpp
UseSemaphoreGCThreadsSynchronizationOpenJDK10Obsoleted in JDK16
Expired in JDK17
boolgctruediagnosticUse semaphore synchronization for the GC Threads, instead of synchronization based on mutexesshare/gc/shared/gc_globals.hpp
UseSerialGCOpenJDK10boolgcfalseproductUse the Serial garbage collectorshare/gc/shared/gc_globals.hpp
UseSharedSpacesOpenJDK10boolruntimetrueproductUse shared spaces for metadatashare/runtime/globals.hpp
UseShenandoahGCOpenJDK12boolgcfalseproductUse the Shenandoah garbage collectorshare/gc/shared/gc_globals.hpp
UseSignalChainingOpenJDK10boolruntimetrueproductUse signal-chaining to invoke signal handlers installed by the application (Unix only)share/runtime/globals.hpp
UseSimpleArrayEqualsOpenJDK11boolaarch64falseproductUse simpliest and shortest implementation for array equalscpu/aarch64/globals_aarch64.hpp
UseSlowPathOpenJDK10boolc1falsedevelopFor debugging: test slow cases by always using themshare/c1/c1_globals.hpp
UseSquareToLenIntrinsicOpenJDK10boolc2falsediagnosticEnables intrinsification of BigInteger.squareToLen()share/opto/c2_globals.hpp
UseStackBangingOpenJDK10boolruntimetruedevelopuse stack banging for stack overflow checks (required for proper StackOverflow handling; disable only to measure cost of stackbanging)share/runtime/globals.hpp
UseStaticBranchPredictionForUncommonPathsPPC64OpenJDK10boolppcfalseproductUse static branch prediction hints for uncommon paths.cpu/ppc/globals_ppc.hpp
UseStaticBranchPredictionInCompareAndSwapPPC64OpenJDK10boolppctrueproductUse static branch prediction hints in CAS operations.cpu/ppc/globals_ppc.hpp
UseStoreImmI16OpenJDK10boolx86trueproductUse store immediate 16-bits value instruction on x86cpu/x86/globals_x86.hpp
UseStringDeduplicationOpenJDK10boolruntimefalseproductUse string deduplicationshare/runtime/globals.hpp
UseSubwordForMaxVectorOpenJDK10boolc2trueproductUse Subword Analysis to set maximum vector sizeshare/opto/c2_globals.hpp
UseSuperWordOpenJDK10boolc2trueproductTransform scalar operations into superword operationsshare/opto/c2_globals.hpp
UseSwitchProfilingOpenJDK11boolruntimetruediagnosticleverage profiling for table/lookup switchshare/runtime/globals.hpp
UseTLABOpenJDK10boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
UseTLABOpenJDK10boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
UseTLABOpenJDK10boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
UseTLABOpenJDK10boolgcproduct_pdUse thread-local object allocationshare/gc/shared/gc_globals.hpp
UseTLABOpenJDK10boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
UseTLABOpenJDK10bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
UseTLABOpenJDK10boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
UseTableRangesOpenJDK10boolc1truedevelopFaster versions of lookup table using rangesshare/c1/c1_globals.hpp
UseThreadPrioritiesOpenJDK10boolruntimeproduct_pdUse native thread prioritiesshare/runtime/globals.hpp
UseTransparentHugePagesOpenJDK10boollinuxfalseproductUse MADV_HUGEPAGE for large pagesos/linux/globals_linux.hpp
UseTypeProfileOpenJDK10boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
UseTypeProfileOpenJDK10boolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
UseTypeProfileOpenJDK10boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
UseTypeProfileOpenJDK10boolruntimetrueproductCheck interpreter profile for historically monomorphic callsshare/runtime/globals.hpp
UseTypeProfileOpenJDK10boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
UseTypeProfileOpenJDK10bools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
UseTypeProfileOpenJDK10boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
UseTypeSpeculationOpenJDK10boolc2trueproductSpeculatively propagate types from profilesshare/opto/c2_globals.hpp
UseUnalignedAccessesOpenJDK10boolruntimefalsediagnosticUse unaligned memory accesses in Unsafeshare/runtime/globals.hpp
UseUnalignedLoadStoresOpenJDK10boolx86falseproductUse SSE2 MOVDQU instruction for Arraycopycpu/x86/globals_x86.hpp
UseUniqueSubclassesOpenJDK10boolc2truedevelopNarrow an abstract reference to the unique concrete subclassshare/opto/c2_globals.hpp
UseVectorByteReverseInstructionsPPC64OpenJDK15boolppcfalseproductUse Power9 xxbr* vector byte reverse instructions.cpu/ppc/globals_ppc.hpp
UseVectorCmovOpenJDK10boolc2falseproductUse Vectorized Cmovshare/opto/c2_globals.hpp
UseVectorMacroLogicOpenJDK15boolc2truediagnosticUse ternary macro logic instructionsshare/opto/c2_globals.hpp
UseVectorizedMismatchIntrinsicOpenJDK10boolruntimefalsediagnosticEnables intrinsification of ArraysSupport.vectorizedMismatch()share/runtime/globals.hpp
UseXMMForArrayCopyOpenJDK10boolruntimefalseproductUse SSE2 MOVQ instruction for Arraycopyshare/runtime/globals.hpp
UseXMMForObjInitOpenJDK11boolx86falseproductUse XMM/YMM MOVDQU instruction for Object Initializationcpu/x86/globals_x86.hpp
UseXmmI2DOpenJDK10boolx86falseproductUse SSE2 CVTDQ2PD instruction to convert Integer to Doublecpu/x86/globals_x86.hpp
UseXmmI2FOpenJDK10boolx86falseproductUse SSE2 CVTDQ2PS instruction to convert Integer to Floatcpu/x86/globals_x86.hpp
UseXmmLoadAndClearUpperOpenJDK10boolx86trueproductLoad low part of XMM register and clear upper partcpu/x86/globals_x86.hpp
UseXmmRegToRegMoveAllOpenJDK10boolx86falseproductCopy all XMM register bits when moving value between registerscpu/x86/globals_x86.hpp
UseZGCOpenJDK11boolgcfalseproductUse the Z garbage collectorshare/gc/shared/gc_globals.hpp
VMThreadPriorityOpenJDK10intxruntime-1
range(-1, 127)
productThe native priority at which the VM thread should run (-1 means no change)share/runtime/globals.hpp
VMThreadStackSizeOpenJDK10intxaixppc2048define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
VMThreadStackSizeOpenJDK10intxbsdx86512define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
VMThreadStackSizeOpenJDK10intxbsdzero512define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
VMThreadStackSizeOpenJDK10intxlinuxaarch642048define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
VMThreadStackSizeOpenJDK10intxlinuxarm512define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
VMThreadStackSizeOpenJDK10intxlinuxppc2048define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
VMThreadStackSizeOpenJDK10intxlinuxs3901024define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
VMThreadStackSizeOpenJDK10intxlinuxx86512define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
VMThreadStackSizeOpenJDK10intxlinuxzero512define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
VMThreadStackSizeOpenJDK10intxruntimeproduct_pdNon-Java Thread Stack Size (in Kbytes)share/runtime/globals.hpp
VMThreadStackSizeOpenJDK10intxwindowsx860define_pd_global// 0 => use system defaultos_cpu/windows_x86/globals_windows_x86.hpp
ValueMapInitialSizeOpenJDK10intxc111
range(1, NOT_LP64(1*K) LP64_ONLY(32*K))
productInitial size of a value mapshare/c1/c1_globals.hpp
ValueMapMaxLoopSizeOpenJDK10intxc18
range(0, 128)
productmaximum size of a loop optimized by global value numberingshare/c1/c1_globals.hpp
ValueSearchLimitOpenJDK10intxc21000
range(0, max_jint)
productRecursion limit in PhaseMacroExpand::value_from_mem_phishare/opto/c2_globals.hpp
VerboseOpenJDK10boolruntimefalsedevelopPrint additional debugging information from other modesshare/runtime/globals.hpp
VerifyActivationFrameSizeOpenJDK10boolruntimefalsedevelopVerify that activation frame didn't become smaller than its minimal sizeshare/runtime/globals.hpp
VerifyAdapterCallsOpenJDK10boolruntimetrueInDebugdiagnosticVerify that i2c/c2i adapters are called properlyshare/runtime/globals.hpp
VerifyAdapterSharingOpenJDK10boolruntimefalsedevelopVerify that the code for shared adapters is the equivalentshare/runtime/globals.hpp
VerifyAfterGCOpenJDK10boolgcfalsediagnosticVerify memory system after GCshare/gc/shared/gc_globals.hpp
VerifyAliasesOpenJDK10boolc2falsedevelopperform extra checks on the results of alias analysisshare/opto/c2_globals.hpp
VerifyBeforeExitOpenJDK10boolgctrueInDebugdiagnosticVerify system before exitingshare/gc/shared/gc_globals.hpp
VerifyBeforeGCOpenJDK10boolgcfalsediagnosticVerify memory system before GCshare/gc/shared/gc_globals.hpp
VerifyBeforeIterationOpenJDK10boolruntimefalsediagnosticVerify memory system before JVMTI iterationshare/runtime/globals.hpp
VerifyCodeCacheOpenJDK10boolruntimefalsenotproductVerify code cache on memory allocation/deallocationshare/runtime/globals.hpp
VerifyCompiledCodeOpenJDK10boolruntimefalsedevelopInclude miscellaneous runtime verifications in nmethod code; default off because it disturbs nmethod size heuristicsshare/runtime/globals.hpp
VerifyConnectionGraphOpenJDK10boolc2truenotproductVerify Connection Graph construction in Escape Analysisshare/opto/c2_globals.hpp
VerifyDUIteratorsOpenJDK10boolc2truenotproductVerify the safety of all iterations of Bi-directional Edgesshare/opto/c2_globals.hpp
VerifyDataPointerOpenJDK10boolruntimetrueInDebugdevelopVerify the method data pointer during interpreter profilingshare/runtime/globals.hpp
VerifyDependenciesOpenJDK10boolruntimetrueInDebugdevelopExercise and verify the compilation dependency mechanismshare/runtime/globals.hpp
VerifyDuringGCOpenJDK10boolgcfalsediagnosticVerify memory system during GC (between phases)share/gc/shared/gc_globals.hpp
VerifyDuringStartupOpenJDK10boolgcfalsediagnosticVerify memory system before executing any Java code during VM initializationshare/gc/shared/gc_globals.hpp
VerifyFPUOpenJDK10boolruntimefalsedevelopVerify FPU state (check for NaN's, etc.)share/runtime/globals.hpp
VerifyGCLevelOpenJDK10intxgc0
range(0, 1)
diagnosticGeneration level at which to start +VerifyBefore/AfterGCshare/gc/shared/gc_globals.hpp
VerifyGCStartAtOpenJDK10uintxgc0
range(0, max_uintx)
diagnosticGC invoke count where +VerifyBefore/AfterGC kicks inshare/gc/shared/gc_globals.hpp
VerifyGCTypeOpenJDK10ccstrlistgcGC type(s) to verify when Verify*GC is enabled.Available types are collector specific.diagnosticshare/gc/shared/gc_globals.hpp
VerifyGraphEdgesOpenJDK10boolc2falsenotproductVerify Bi-directional Edgesshare/opto/c2_globals.hpp
VerifyHashTableKeysOpenJDK10boolc2truenotproductVerify the immutability of keys in the VN hash tablesshare/opto/c2_globals.hpp
VerifyIdealNodeCountOpenJDK10boolc2falsenotproductVerify that tracked dead ideal node count is accurateshare/opto/c2_globals.hpp
VerifyIterativeGVNOpenJDK10boolc2falsedevelopVerify Def-Use modifications during sparse Iterative Global Value Numberingshare/opto/c2_globals.hpp
VerifyJNIEnvThreadOpenJDK10boolruntimefalsenotproductVerify JNIEnv.thread == Thread::current() when entering VM from JNIshare/runtime/globals.hpp
VerifyJNIFieldsOpenJDK10boolruntimetrueInDebugdevelopVerify jfieldIDs for instance fieldsshare/runtime/globals.hpp
VerifyLastFrameOpenJDK10boolruntimefalsenotproductVerify oops on last frame on entry to VMshare/runtime/globals.hpp
VerifyLoopOptimizationsOpenJDK10boolc2falsenotproductverify major loop optimizationsshare/opto/c2_globals.hpp
VerifyMergedCPBytecodesOpenJDK10Obsoleted in JDK16
Expired in JDK17
boolruntimetrueproductVerify bytecodes after RedefineClasses constant pool mergingshare/runtime/globals.hpp
VerifyMetaspaceIntervalOpenJDK13intruntimeDEBUG_ONLY(500) NOT_DEBUG(0)developRun periodic metaspace verifications (0 - none,
1 - always, >1 every nth interval)
share/runtime/globals.hpp
VerifyMethodHandlesOpenJDK10boolruntimetrueInDebugdiagnosticperform extra checks when constructing method handlesshare/runtime/globals.hpp
VerifyObjectStartArrayOpenJDK10boolgctruediagnosticVerify GC object start array if verify before/aftershare/gc/shared/gc_globals.hpp
VerifyOopsOpenJDK10boolruntimefalsedevelopDo plausibility checks for oopsshare/runtime/globals.hpp
VerifyOptoOopOffsetsOpenJDK10boolc2falsenotproductCheck types of base addresses in field referencesshare/opto/c2_globals.hpp
VerifyRegisterAllocatorOpenJDK10boolc2falsenotproductVerify Register Allocatorshare/opto/c2_globals.hpp
VerifyRememberedSetsOpenJDK10boolgcfalsediagnosticVerify GC remembered setsshare/gc/shared/gc_globals.hpp
VerifySharedSpacesOpenJDK10boolruntimefalseproductVerify integrity of shared spacesshare/runtime/globals.hpp
VerifyStackAtCallsOpenJDK10boolruntimefalsedevelopVerify that the stack pointer is unchanged after callsshare/runtime/globals.hpp
VerifyStackOpenJDK10boolruntimefalsedevelopVerify stack of each thread when it is entering a runtime callshare/runtime/globals.hpp
VerifyStringTableAtExitOpenJDK10boolruntimefalsediagnosticverify StringTable contents at exitshare/runtime/globals.hpp
VerifySubSetOpenJDK10ccstrlistgcMemory 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_oopsdiagnosticshare/gc/shared/gc_globals.hpp
VerifyThreadOpenJDK10boolruntimefalsedevelopWatch the thread register for corruption (SPARC only)share/runtime/globals.hpp
WalkStackALotOpenJDK10boolruntimefalsenotproductTrace stack (no print) at every exit from the runtime systemshare/runtime/globals.hpp
WarmCallMaxSizeOpenJDK10intxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developsize of the largest inlinable methodshare/opto/c2_globals.hpp
WarmCallMaxWorkOpenJDK10intxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developexecution time of the largest inlinable methodshare/opto/c2_globals.hpp
WarmCallMinCountOpenJDK10intxc2-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
WarmCallMinProfitOpenJDK10intxc2-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
WarnOnStalledSpinLockOpenJDK10uintxruntime0notproductPrint warnings for stalled SpinLocksshare/runtime/globals.hpp
WhiteBoxAPIOpenJDK10boolruntimefalsediagnosticEnable internal testing APIsshare/runtime/globals.hpp
WizardModeOpenJDK10boolruntimefalsedevelopPrint much more debugging informationshare/runtime/globals.hpp
WorkStealingHardSpinsOpenJDK10uintxgc4096experimentalNumber of iterations in a spin loop between checks on time out of hard spinshare/gc/shared/gc_globals.hpp
WorkStealingSleepMillisOpenJDK10uintxgc1experimentalSleep time when sleep is used for yieldsshare/gc/shared/gc_globals.hpp
WorkStealingSpinToYieldRatioOpenJDK10uintxgc10experimentalRatio of hard spins to calls to yieldshare/gc/shared/gc_globals.hpp
WorkStealingYieldsBeforeSleepOpenJDK10uintxgc5000experimentalNumber of yields before a sleep is done during work stealingshare/gc/shared/gc_globals.hpp
YoungGenerationSizeIncrementOpenJDK10uintxgc20
range(0, 100)
productAdaptive size percentage change in young generationshare/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementDecayOpenJDK10uintxgc8
range(1, max_uintx)
productDecay factor to YoungedGenerationSizeSupplementshare/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementOpenJDK10uintxgc80
range(0, 100)
productSupplement to YoungedGenerationSizeIncrement used at startupshare/gc/shared/gc_globals.hpp
YoungPLABSizeOpenJDK10size_tgc4096productSize of young gen promotion LAB's (in HeapWords)share/gc/shared/gc_globals.hpp
ZAllocationSpikeToleranceOpenJDK11doublegc2.0productAllocation spike tolerance factorshare/gc/z/z_globals.hpp
ZCollectionIntervalOpenJDK11uintgc0productForce GC at a fixed time interval (in seconds)share/gc/z/z_globals.hpp
ZFragmentationLimitOpenJDK11doublegc25.0productMaximum allowed heap fragmentationshare/gc/z/z_globals.hpp
ZMarkStackSpaceLimitOpenJDK12size_tgc8*G
range(32*M, 1024*G)
productMaximum number of bytes allocated for mark stacksshare/gc/z/z_globals.hpp
ZProactiveOpenJDK11boolgctrueproductEnable proactive GC cyclesshare/gc/z/z_globals.hpp
ZStatisticsIntervalOpenJDK11uintgc10
range(1, (uint)-1)
diagnosticTime between statistics print outs (in seconds)share/gc/z/z_globals.hpp
ZUncommitDelayOpenJDK13uintxgc5 * 60productUncommit memory if it has been unused for the specified amount of time (in seconds)share/gc/z/z_globals.hpp
ZUncommitOpenJDK13boolgctrueproductUncommit unused memoryshare/gc/z/z_globals.hpp
ZVerifyForwardingOpenJDK11boolgcfalsediagnosticVerify forwarding tablesshare/gc/z/z_globals.hpp
ZVerifyMarkingOpenJDK11boolgctrueInDebugdiagnosticVerify marking stacksshare/gc/z/z_globals.hpp
ZVerifyObjectsOpenJDK13boolgcfalsediagnosticVerify objectsshare/gc/z/z_globals.hpp
ZVerifyRootsOpenJDK13boolgctrueInDebugdiagnosticVerify rootsshare/gc/z/z_globals.hpp
ZVerifyViewsOpenJDK13boolgcfalsediagnosticVerify heap view accessesshare/gc/z/z_globals.hpp
ZapEmptyStackFieldsOpenJDK10bools390falsedevelopWrite 0x0101... to empty stack fields. Use this to ease stack debugging.cpu/s390/globals_s390.hpp
ZapFillerObjectsOpenJDK10boolruntimetrueInDebugdevelopZap filler objects with 0xDEAFBABEshare/runtime/globals.hpp
ZapMemoryOpenJDK10boolppcfalseproductWrite 0x0101... to empty memory. Use this to ease debugging.cpu/ppc/globals_ppc.hpp
ZapResourceAreaOpenJDK10boolruntimetrueInDebugdevelopZap freed resource/arena space with 0xABABABABshare/runtime/globals.hpp
ZapStackSegmentsOpenJDK10boolruntimetrueInDebugnotproductZap allocated/freed stack segments with 0xFADFADEDshare/runtime/globals.hpp
ZapUnusedHeapAreaOpenJDK10boolruntimetrueInDebugdevelopZap unused heap space with 0xBAADBABEshare/runtime/globals.hpp
ZapVMHandleAreaOpenJDK10boolruntimetrueInDebugnotproductZap freed VM handle space with 0xBCBCBCBCshare/runtime/globals.hpp
ZeroTLABOpenJDK10boolgcfalseproductZero out the newly created TLABshare/gc/shared/gc_globals.hpp
ZombieALotIntervalOpenJDK10intxruntime5notproductNumber of exits until ZombieALot kicks inshare/runtime/globals.hpp
ZombieALotOpenJDK10boolruntimefalsenotproductCreate zombies (non-entrant) at exit from the runtime systemshare/runtime/globals.hpp
batchOpenJDK10disable background compilationlauncher.properties
bootclasspath/aOpenJDK10<directories and zip/jar files separated by :> append to end of bootstrap class pathlauncher.properties
check:jniOpenJDK10perform additional checks for JNI functionslauncher.properties
compOpenJDK13forces compilation of methods on first invocationlauncher.properties
debugOpenJDK13does nothing. Provided for backward compatibility.launcher.properties
diagOpenJDK13show additional diagnostic messageslauncher.properties
futureOpenJDK10enable strictest checks, anticipating future default. This option is deprecated and may be removed in a future release.launcher.properties
hashCodeOpenJDK10intxruntime5experimental(Unstable) select hashCode generation algorithmshare/runtime/globals.hpp
intOpenJDK10interpreted mode execution onlylauncher.properties
internalversionOpenJDK13 displays more detailed JVM version information than the -version optionlauncher.properties
logOpenJDK10<opts>Configure or enable logging with the Java Virtual Machine (JVM) unified logging framework. Use -Xlog:help for details.launcher.properties
loggcOpenJDK13<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
mixedOpenJDK10mixed mode execution (default)launcher.properties
mnOpenJDK13<size>sets the initial and maximum size (in bytes) of the heap for the young generation (nursery)launcher.properties
msOpenJDK10<size>set initial Java heap sizelauncher.properties
mxOpenJDK10<size>set maximum Java heap sizelauncher.properties
noclassgcOpenJDK10disable class garbage collectionlauncher.properties
rsOpenJDK10reduce use of OS signals by Java/VM (see documentation)launcher.properties
share:autoOpenJDK10use shared class data if possible (default)launcher.properties
share:offOpenJDK10do not attempt to use shared class datalauncher.properties
share:onOpenJDK10require using shared class data, otherwise fail. This is a testing option and may lead to intermittent failures. It should not be used in production environments.launcher.properties
showSettings:allOpenJDK13 show all settings and continuelauncher.properties
showSettings:localeOpenJDK13 show all locale related settings and continuelauncher.properties
showSettings:propertiesOpenJDK13 show all property settings and continuelauncher.properties
showSettings:systemOpenJDK13 (Linux Only) show host system or container configuration and continuelauncher.properties
showSettings:vmOpenJDK13 show all vm related settings and continuelauncher.properties
showSettingsOpenJDK13show all settings and continuelauncher.properties
ssOpenJDK10<size>set java thread stack sizelauncher.properties
verifyOpenJDK13
sets the mode of the bytecode verifier
Note that option -Xverify:none is deprecated and
may be removed in a future release.
launcher.properties