VM Options Explorer - OpenJDK16 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
AOTLibraryOpenJDK9ccstrlistruntimeNULLproductAOT libraryshare/runtime/globals.hpp
AVX3ThresholdOpenJDK11intx864096
range(0, max_jint)
productMinimum array size in bytes to use AVX512 intrinsicsfor copy, inflate and fill. When this value is set as zerocompare operations can also use AVX512 intrinsics.cpu/x86/globals_x86.hpp
AbortVMOnCompilationFailureOpenJDK11boolruntimefalseproductAbort VM when method had failed to compile.share/runtime/globals.hpp
AbortVMOnExceptionMessageOpenJDK6ccstrruntimeNULLproductCall fatal if the exception pointed by AbortVMOnException has this messageshare/runtime/globals.hpp
AbortVMOnExceptionOpenJDK6ccstrruntimeNULLproductCall fatal if this exception is thrown. Example: java -XX:AbortVMOnException=java.lang.NullPointerException Fooshare/runtime/globals.hpp
AbortVMOnSafepointTimeoutOpenJDK11boolruntimefalseproductAbort upon failure to reach safepoint (see SafepointTimeout)share/runtime/globals.hpp
AbortVMOnVMOperationTimeoutDelayOpenJDK11intxruntime1000
range(0, max_intx)
productDelay in milliseconds for option AbortVMOnVMOperationTimeoutshare/runtime/globals.hpp
AbortVMOnVMOperationTimeoutOpenJDK11boolruntimefalseproductAbort 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
AdaptiveSizeDecrementScaleFactorOpenJDK6uintxgc4
range(1, max_uintx)
productAdaptive size scale down factor for shrinkingshare/gc/shared/gc_globals.hpp
AdaptiveSizeMajorGCDecayTimeScaleOpenJDK6uintxgc10
range(0, max_uintx)
productTime scale over which major costs decayshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyCollectionCostMarginOpenJDK6uintxgc50
range(0, 100)
productIf collection costs are within margin, reduce both by full deltashare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyInitializingStepsOpenJDK6uintxgc20
range(0, max_uintx)
productNumber of steps where heuristics is used before data is usedshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyOutputIntervalOpenJDK6uintxgc0
range(0, max_uintx)
productCollection interval for printing information; zero means nevershare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyReadyThresholdOpenJDK6uintxgc5developNumber of collections before the adaptive sizing is startedshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyWeightOpenJDK6uintxgc10
range(0, 100)
productWeight given to exponential resizing, between 0 and 100share/gc/shared/gc_globals.hpp
AdaptiveSizeThroughPutPolicyOpenJDK6uintxgc0
range(0, 1)
productPolicy for changing generation size for throughput goalsshare/gc/shared/gc_globals.hpp
AdaptiveTimeWeightOpenJDK6uintxgc25
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
AggressiveUnboxingOpenJDK8boolc2trueproductControl optimizations for aggressive boxing eliminationshare/opto/c2_globals.hpp
AliasLevelOpenJDK6intxc23
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
AlignVectorOpenJDK7boolc2trueproductPerform 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
AllocateInstancePrefetchLinesOpenJDK6intxruntime1
range(1, 64)
productNumber of lines to prefetch ahead of instance allocation pointershare/runtime/globals.hpp
AllocatePrefetchDistanceOpenJDK6intxruntime-1productDistance to prefetch ahead of allocation pointer. -1: use system-specific value (automatically determinedshare/runtime/globals.hpp
AllocatePrefetchInstrOpenJDK6intxruntime0productSelect instruction to prefetch ahead of allocation pointershare/runtime/globals.hpp
AllocatePrefetchLinesOpenJDK6intxruntime3
range(1, 64)
productNumber of lines to prefetch ahead of array allocation pointershare/runtime/globals.hpp
AllocatePrefetchStepSizeOpenJDK6intxruntime16
range(1, 512)
productStep size in bytes of sequential prefetch instructionsshare/runtime/globals.hpp
AllocatePrefetchStyleOpenJDK6intxruntime1
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
AllowArchivingWithJavaAgentOpenJDK12boolruntimefalseproductAllow Java agent to be run with CDS dumpingshare/runtime/globals.hpp
AllowExtshmOpenJDK9boolaixfalseproductAllow VM to run with EXTSHM=ON.os/aix/globals_aix.hpp
AllowParallelDefineClassOpenJDK6boolruntimefalseproductAllow parallel defineClass requests for class loaders registering as parallel capableshare/runtime/globals.hpp
AllowRedefinitionToAddDeleteMethodsOpenJDK13Deprecated in JDK13
Obsoleted in JDK
Expired in JDK
boolruntimefalseproduct(Deprecated) Allow redefinition to add and delete private static or final methods for compatibility with old releasesshare/runtime/globals.hpp
AllowUserSignalHandlersOpenJDK6boolruntimefalseproductApplication will install primary signal handlers for the JVM (Unix only)share/runtime/globals.hpp
AllowVectorizeOnDemandOpenJDK9boolc2trueproductGlobally supress vectorization set in VectorizeMethodshare/opto/c2_globals.hpp
AlwaysActAsServerClassMachineOpenJDK6boolgcfalseproductAlways act like a server-class machineshare/gc/shared/gc_globals.hpp
AlwaysAtomicAccessesOpenJDK9boolruntimefalseproductAccesses to all variables should always be atomicshare/runtime/globals.hpp
AlwaysCompileLoopMethodsOpenJDK6boolruntimefalseproductWhen using recompilation, never interpret methods containing loopsshare/runtime/globals.hpp
AlwaysIncrementalInlineOpenJDK7boolc2falsedevelopdo all inlining incrementallyshare/opto/c2_globals.hpp
AlwaysLockClassLoaderOpenJDK6Deprecated in JDK17
Obsoleted in JDK18
Expired in JDK19
boolruntimefalseproductRequire the VM to acquire the class loader lock before calling loadClass() even for class loaders registering as parallel capableshare/runtime/globals.hpp
AlwaysPreTouchOpenJDK6boolgcfalseproductForce all freshly committed pages to be pre-touchedshare/gc/shared/gc_globals.hpp
AlwaysRestoreFPUOpenJDK6boolruntimefalseproductRestore the FPU control word after every JNI call (expensive)share/runtime/globals.hpp
AlwaysSafeConstructorsOpenJDK9boolruntimefalseproductForce safe construction, as if all fields are final.share/runtime/globals.hpp
AlwaysTenureOpenJDK6boolgcfalseproductAlways 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)
product(0) first map at preferred address, and if unsuccessful, map at alternative address (default); (1) always map at alternative address; (2) always map at preferred address, and if unsuccessful, do not map the archiveshare/runtime/globals.hpp
ArrayAllocatorMallocLimitOpenJDK7size_truntime(size_t)-1productAllocation less than this value will be allocated using malloc. Larger allocations will use mmap.share/runtime/globals.hpp
ArrayCopyLoadStoreMaxElemOpenJDK9intxc28
range(0, max_intx)
productMaximum number of arraycopy elements inlined as a sequence ofloads/storesshare/opto/c2_globals.hpp
ArrayCopyPartialInlineSizeOpenJDK16intxc2-1
range(-1, 64)
productPartial inline size used for array copy acceleration.share/opto/c2_globals.hpp
AssertOnSuspendWaitFailureOpenJDK6Deprecated in JDK
Obsoleted in JDK17
Expired in JDK18
boolruntimefalseproductAssert/Guarantee on external suspend wait failureshare/runtime/globals.hpp
AssertRangeCheckEliminationOpenJDK8boolc1falsedevelopAssert Range Check Eliminationshare/c1/c1_globals.hpp
AsyncDeflationIntervalOpenJDK15intxruntime250
range(0, max_jint)
productAsync deflate idle monitors every so many milliseconds when MonitorUsedDeflationThreshold is exceeded (0 is off).share/runtime/globals.hpp
AutoBoxCacheMaxOpenJDK6intxc2128
range(0, max_jint)
productSets max value cached by the java.lang.Integer autobox cacheshare/opto/c2_globals.hpp
AvgMonitorsPerThreadEstimateOpenJDK16intxruntime1024
range(0, max_jint)
productUsed to estimate a variable ceiling based on number of threads for use with MonitorUsedDeflationThreshold (0 is off).share/runtime/globals.hpp
AvoidUnalignedAccessesOpenJDK9boolaarch64falseproductAvoid generating unaligned memory accessescpu/aarch64/globals_aarch64.hpp
BCEATraceLevelOpenJDK6intxruntime0
range(0, 3)
productHow much tracing to do of bytecode escape analysis estimates (0-3)share/runtime/globals.hpp
BackgroundCompilationOpenJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
BackgroundCompilationOpenJDK6boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
BackgroundCompilationOpenJDK6boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
BackgroundCompilationOpenJDK6boolruntimeproduct_pdA thread requesting compilation is not blocked during compilationshare/runtime/globals.hpp
BackgroundCompilationOpenJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
BackgroundCompilationOpenJDK6bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
BackgroundCompilationOpenJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
BailoutAfterHIROpenJDK6boolc1falsedevelopbailout of compilation after building of HIRshare/c1/c1_globals.hpp
BailoutAfterLIROpenJDK6boolc1falsedevelopbailout of compilation after building of LIRshare/c1/c1_globals.hpp
BailoutOnExceptionHandlersOpenJDK6boolc1falsedevelopbailout of compilation for methods with exception handlersshare/c1/c1_globals.hpp
BailoutToInterpreterForThrowsOpenJDK6boolc2falsedevelopCompiled methods which throws/catches exceptions will be deopt and intp.share/opto/c2_globals.hpp
BaseFootPrintEstimateOpenJDK6size_tgc256*M
range(0, max_uintx)
productEstimate of footprint other than Java Heapshare/gc/shared/gc_globals.hpp
BciProfileWidthOpenJDK6intxruntime2developNumber of return bci's to record in ret profileshare/runtime/globals.hpp
BiasedLockingBulkRebiasThresholdOpenJDK6Deprecated 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
BiasedLockingBulkRevokeThresholdOpenJDK6Deprecated 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
BiasedLockingDecayTimeOpenJDK6Deprecated 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
BiasedLockingStartupDelayOpenJDK6Deprecated 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
BinarySwitchThresholdOpenJDK6intxruntime5developMinimal number of lookupswitch entries for rewriting to binary switchshare/runtime/globals.hpp
BlockLayoutByFrequencyOpenJDK6boolc2trueproductUse edge frequencies to drive block orderingshare/opto/c2_globals.hpp
BlockLayoutMinDiamondPercentageOpenJDK6intxc220
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
BlockLayoutRotateLoopsOpenJDK6boolc2trueproductAllow back branches to be fall throughs in the block layoutshare/opto/c2_globals.hpp
BlockZeroingLowLimitOpenJDK6intxaarch64256
range(1, max_jint)
productMinimum size in bytes when block zeroing will be usedcpu/aarch64/globals_aarch64.hpp
BootstrapJVMCIOpenJDK9booljvmcifalseproductBootstrap 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
BreakAtNodeOpenJDK6intxc20notproductBreak at construction of this Node (either _idx or _debug_idx)share/opto/c2_globals.hpp
BreakAtWarningOpenJDK6boolruntimefalsedevelopExecute breakpoint upon encountering VM warningshare/runtime/globals.hpp
BytecodeVerificationLocalOpenJDK6boolruntimefalseproductEnable the Java bytecode verifier for local classesshare/runtime/globals.hpp
BytecodeVerificationRemoteOpenJDK6boolruntimetrueproductEnable the Java bytecode verifier for remote classesshare/runtime/globals.hpp
C1BreakpointOpenJDK6boolc1falsedevelopSets 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
C1OptimizeVirtualCallProfilingOpenJDK6boolc1trueproductUse CHA and exact type results at call sites when updating MDOsshare/c1/c1_globals.hpp
C1ProfileBranchesOpenJDK6boolc1trueproductProfile branches when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileCallsOpenJDK6boolc1trueproductProfile calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileCheckcastsOpenJDK6boolc1trueproductProfile checkcasts when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileInlinedCallsOpenJDK6boolc1trueproductProfile inlined calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileVirtualCallsOpenJDK6boolc1trueproductProfile virtual calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1UpdateMethodDataOpenJDK6boolc1trueInTieredproductUpdate MethodData*s in Tier1-generated codeshare/c1/c1_globals.hpp
CIBreakAtOSROpenJDK6intxruntime-1developThe id of osr compilation to break atshare/runtime/globals.hpp
CIBreakAtOpenJDK6intxruntime-1developThe id of compilation to break atshare/runtime/globals.hpp
CICompileNativesOpenJDK6boolruntimetruedevelopcompile native methods if supported by the compilershare/runtime/globals.hpp
CICompileOSROpenJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CICompileOSROpenJDK6boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
CICompileOSROpenJDK6boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
CICompileOSROpenJDK6boolruntimedevelop_pdcompile on stack replacement methods if supported by the compilershare/runtime/globals.hpp
CICompileOSROpenJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CICompileOSROpenJDK6bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
CICompileOSROpenJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
CICompilerCountPerCPUOpenJDK6boolruntimefalseproduct1 compiler thread for log(N CPUs)share/runtime/globals.hpp
CICompilerCountOpenJDK6intxruntimeCI_COMPILER_COUNT
range(0, max_jint)
productNumber of compiler threads to runshare/runtime/globals.hpp
CICountOSROpenJDK6boolruntimefalsedevelopuse a separate counter when assigning ids to osr compilationsshare/runtime/globals.hpp
CICrashAtOpenJDK8intxruntime-1notproductid of compilation to trigger assert in compiler thread for the purpose of testing, e.g. generation of replay datashare/runtime/globals.hpp
CIObjectFactoryVerifyOpenJDK6boolruntimefalsenotproductenable potentially expensive verification in ciObjectFactoryshare/runtime/globals.hpp
CIPrintCompileQueueOpenJDK6boolruntimefalseproductdisplay the contents of the compile queue whenever a compilation is enqueuedshare/runtime/globals.hpp
CIPrintCompilerNameOpenJDK6boolruntimefalsedevelopwhen CIPrint is active, print the name of the active compilershare/runtime/globals.hpp
CIPrintMethodCodesOpenJDK6boolruntimefalsedevelopprint method bytecodes of the compiled codeshare/runtime/globals.hpp
CIPrintRequestsOpenJDK6boolruntimefalsedevelopdisplay every request for compilationshare/runtime/globals.hpp
CIPrintTypeFlowOpenJDK6boolruntimefalsedevelopprint the results of ciTypeFlow analysisshare/runtime/globals.hpp
CIStartOSROpenJDK6intxruntime0developThe id of the first osr compilation to permit (CICountOSR must be on)share/runtime/globals.hpp
CIStartOpenJDK6intxruntime0developThe id of the first compilation to permitshare/runtime/globals.hpp
CIStopOSROpenJDK6intxruntimemax_jintdevelopThe id of the last osr compilation to permit (CICountOSR must be on)share/runtime/globals.hpp
CIStopOpenJDK6intxruntimemax_jintdevelopThe id of the last compilation to permitshare/runtime/globals.hpp
CITimeEachOpenJDK6boolruntimefalsedevelopdisplay timing information after each successful compilationshare/runtime/globals.hpp
CITimeVerboseOpenJDK9boolruntimefalsedevelopbe more verbose in compilation timingsshare/runtime/globals.hpp
CITimeOpenJDK6boolruntimefalseproductcollect timing information for compilationshare/runtime/globals.hpp
CITraceTypeFlowOpenJDK6boolruntimefalsedevelopdetailed per-bytecode tracing of ciTypeFlow analysisshare/runtime/globals.hpp
CSEArrayLengthOpenJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CSEArrayLengthOpenJDK6boolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
CSEArrayLengthOpenJDK6boolc1develop_pdCreate separate nodes for length in array accessesshare/c1/c1_globals.hpp
CSEArrayLengthOpenJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CSEArrayLengthOpenJDK6bools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
CSEArrayLengthOpenJDK6boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
CalculateClassFingerprintOpenJDK10boolruntimefalseproductCalculate class fingerprintshare/runtime/globals.hpp
CanonicalizeNodesOpenJDK6boolc1truedevelopCanonicalize graph nodesshare/c1/c1_globals.hpp
CheckCompressedOopsOpenJDK6boolruntimetruenotproductGenerate checks in encoding/decoding code in debug VMshare/runtime/globals.hpp
CheckIntrinsicsOpenJDK9boolruntimetrueproductWhen a class C is loaded, check that (1) all intrinsics defined by the VM for class C are present in the loaded class file and are marked with the @IntrinsicCandidate annotation, that (2) there is an intrinsic registered for all loaded methods that are annotated with the @IntrinsicCandidate annotation, and that (3) no orphan methods exist for class C (i.e., methods for which the VM declares an intrinsic but that are not declared in the loaded class C. Check (3) is available only in debug builds.share/runtime/globals.hpp
CheckJNICallsOpenJDK6boolruntimefalseproductVerify all arguments to JNI callsshare/runtime/globals.hpp
CheckMemoryInitializationOpenJDK6boolruntimefalsenotproductCheck memory initializationshare/runtime/globals.hpp
CheckUnhandledOopsOpenJDK6boolruntimefalsedevelopCheck for unhandled oops in VM codeshare/runtime/globals.hpp
CheckZapUnusedHeapAreaOpenJDK6boolruntimefalsedevelopCheck zapping of unused heap spaceshare/runtime/globals.hpp
ClassUnloadingWithConcurrentMarkOpenJDK8boolruntimetrueproductDo unloading of classes with a concurrent marking cycleshare/runtime/globals.hpp
ClassUnloadingOpenJDK6boolruntimetrueproductDo unloading of classesshare/runtime/globals.hpp
CleanChunkPoolAsyncOpenJDK6boolruntimetruedevelopClean the chunk pool asynchronouslyshare/runtime/globals.hpp
ClipInliningOpenJDK6boolruntimetrueproductClip inlining if aggregate method exceeds DesiredMethodLimitshare/runtime/globals.hpp
CodeCacheExpansionSizeOpenJDK6intxaarch6432*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheExpansionSizeOpenJDK6size_tarm32*Kdefine_pd_globalcpu/arm/c1_globals_arm.hpp
CodeCacheExpansionSizeOpenJDK6uintxcompiler32*Kdefine_pd_globalshare/compiler/compiler_globals.hpp
CodeCacheExpansionSizeOpenJDK6uintxruntimeproduct_pdCode cache expansion size (in bytes)share/runtime/globals.hpp
CodeCacheExpansionSizeOpenJDK6uintxppc32*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheExpansionSizeOpenJDK6uintxs39064*Kdefine_pd_globalcpu/s390/c2_globals_s390.hpp
CodeCacheExpansionSizeOpenJDK6uintxx8632*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheMinBlockLengthOpenJDK6uintxaarch641define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinBlockLengthOpenJDK6uintxarm1define_pd_globalcpu/arm/c1_globals_arm.hpp
CodeCacheMinBlockLengthOpenJDK6uintxcompiler1define_pd_globalshare/compiler/compiler_globals.hpp
CodeCacheMinBlockLengthOpenJDK6uintxruntimeproduct_pdMinimum number of segments in a code cache blockshare/runtime/globals.hpp
CodeCacheMinBlockLengthOpenJDK6uintxppc1define_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheMinBlockLengthOpenJDK6uintxs3904define_pd_globalcpu/s390/c2_globals_s390.hpp
CodeCacheMinBlockLengthOpenJDK6uintxx861define_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxaarch64400*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinimumUseSpaceOpenJDK8size_tarm400*Kdefine_pd_globalcpu/arm/c1_globals_arm.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxcompiler200*Kdefine_pd_globalshare/compiler/compiler_globals.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxruntimedevelop_pdMinimum code cache size (in bytes) required to start VM.share/runtime/globals.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxppc400*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxs390400*Kdefine_pd_globalcpu/s390/c2_globals_s390.hpp
CodeCacheMinimumUseSpaceOpenJDK8uintxx86400*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheSegmentSizeOpenJDK6uintxaarch6464 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/aarch64/globals_aarch64.hpp
CodeCacheSegmentSizeOpenJDK6uintxarm64 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/arm/globals_arm.hpp
CodeCacheSegmentSizeOpenJDK6uintxruntimedevelop_pdCode cache segment size (in bytes) - smallest unit of allocationshare/runtime/globals.hpp
CodeCacheSegmentSizeOpenJDK6uintxppc128define_pd_globalcpu/ppc/globals_ppc.hpp
CodeCacheSegmentSizeOpenJDK6uintxs390256define_pd_globalcpu/s390/globals_s390.hpp
CodeCacheSegmentSizeOpenJDK6uintxx8664 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/x86/globals_x86.hpp
CodeCacheSegmentSizeOpenJDK6uintxzero64 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/zero/globals_zero.hpp
CodeEntryAlignmentOpenJDK6intxaarch6464define_pd_globalcpu/aarch64/globals_aarch64.hpp
CodeEntryAlignmentOpenJDK6intxarm16define_pd_globalcpu/arm/globals_arm.hpp
CodeEntryAlignmentOpenJDK6intxruntimedevelop_pdCode entry alignment for generated code (in bytes)share/runtime/globals.hpp
CodeEntryAlignmentOpenJDK6intxppc128define_pd_globalcpu/ppc/globals_ppc.hpp
CodeEntryAlignmentOpenJDK6intxs39064define_pd_globalcpu/s390/globals_s390.hpp
CodeEntryAlignmentOpenJDK6intxx8616define_pd_globalcpu/x86/globals_x86.hpp
CodeEntryAlignmentOpenJDK6intxzero32define_pd_globalcpu/zero/globals_zero.hpp
CollectIndexSetStatisticsOpenJDK6boolruntimefalsenotproductCollect information about IndexSetsshare/runtime/globals.hpp
CommentedAssemblyOpenJDK6boolc1trueInDebugdevelopShow extra info in PrintNMethods outputshare/c1/c1_globals.hpp
CompactStringsOpenJDK9boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
CompactStringsOpenJDK9boolarmfalsedefine_pd_globalcpu/arm/globals_arm.hpp
CompactStringsOpenJDK9boolruntimeproduct_pdEnable Strings to use single byte chars in backing storeshare/runtime/globals.hpp
CompactStringsOpenJDK9boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
CompactStringsOpenJDK9bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
CompactStringsOpenJDK9boolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
CompactStringsOpenJDK9boolzerofalsedefine_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
CompileCommandFileOpenJDK6ccstrruntimeNULLproductRead compiler commands from this file [.hotspot_compiler]share/runtime/globals.hpp
CompileCommandOpenJDK6ccstrlistruntimePrepend to .hotspot_compiler; e.g. log,java/lang/String.productshare/runtime/globals.hpp
CompileOnlyOpenJDK6ccstrlistruntimeList of methods (pkg/class.name) to restrict compilation toproductshare/runtime/globals.hpp
CompileThresholdScalingOpenJDK9doubleruntime1.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
CompileThresholdOpenJDK6intxaarch641500define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CompileThresholdOpenJDK6intxarm10000define_pd_globalcpu/arm/c2_globals_arm.hpp
CompileThresholdOpenJDK6intxcompiler0define_pd_globalshare/compiler/compiler_globals.hpp
CompileThresholdOpenJDK6intxruntimeproduct_pdnumber of interpreted method invocations before (re-)compilingshare/runtime/globals.hpp
CompileThresholdOpenJDK6intxppc1000define_pd_globalcpu/ppc/c1_globals_ppc.hpp
CompileThresholdOpenJDK6intxs39010000define_pd_globalcpu/s390/c2_globals_s390.hpp
CompileThresholdOpenJDK6intxx861500define_pd_globalcpu/x86/c1_globals_x86.hpp
CompilerDirectivesFileOpenJDK9ccstrruntimeNULLproductRead compiler directives from this fileshare/runtime/globals.hpp
CompilerDirectivesIgnoreCompileCommandsOpenJDK9boolruntimefalseproductDisable backwards compatibility for compile commands.share/runtime/globals.hpp
CompilerDirectivesLimitOpenJDK9intruntime50productLimit on number of compiler directives.share/runtime/globals.hpp
CompilerDirectivesPrintOpenJDK9boolruntimefalseproductPrint compiler directives on installation.share/runtime/globals.hpp
CompilerThreadPriorityOpenJDK6intxruntime-1
range(min_jint, max_jint)
productThe native priority at which compiler threads should run (-1 means no change)share/runtime/globals.hpp
CompilerThreadStackSizeOpenJDK6intxaixppc4096define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
CompilerThreadStackSizeOpenJDK6intxbsdx86512define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
CompilerThreadStackSizeOpenJDK6intxbsdzero0define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxaarch642048define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxarm512define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxppc4096define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxs3902048define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxx86512define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
CompilerThreadStackSizeOpenJDK6intxlinuxzero0define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
CompilerThreadStackSizeOpenJDK6intxruntimeproduct_pdCompiler Thread Stack Size (in Kbytes)share/runtime/globals.hpp
CompilerThreadStackSizeOpenJDK6intxwindowsaarch640define_pd_globalos_cpu/windows_aarch64/globals_windows_aarch64.hpp
CompilerThreadStackSizeOpenJDK6intxwindowsx860define_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
CompressedClassSpaceSizeOpenJDK8size_truntime1*G
range(1*M, 3*G)
productMaximum size of class area in Metaspace when compressed class pointers are usedshare/runtime/globals.hpp
ComputeExactFPURegisterUsageOpenJDK6boolc1truedevelopCompute additional live set for fpu registers to simplify fpu stack merge (Intel only)share/c1/c1_globals.hpp
ConcGCThreadsOpenJDK6uintgc0productNumber of threads concurrent gc will useshare/gc/shared/gc_globals.hpp
ConcGCYieldTimeoutOpenJDK6intxgc0
range(0, max_intx)
developIf non-zero, assert that GC threads yield within this number of millisecondsshare/gc/shared/gc_globals.hpp
ConditionalMoveLimitOpenJDK6intxaarch643define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
ConditionalMoveLimitOpenJDK6intxarm4define_pd_globalcpu/arm/c2_globals_arm.hpp
ConditionalMoveLimitOpenJDK6intxc2product_pdLimit of ops to make speculative when using CMOVEshare/opto/c2_globals.hpp
ConditionalMoveLimitOpenJDK6intxppc3define_pd_globalcpu/ppc/c2_globals_ppc.hpp
ConditionalMoveLimitOpenJDK6intxs3904define_pd_globalcpu/s390/c2_globals_s390.hpp
ConditionalMoveLimitOpenJDK6intxx863define_pd_globalcpu/x86/c2_globals_x86.hpp
ContendedPaddingWidthOpenJDK8intxruntime128
range(0, 8192)
productHow many bytes to pad the fields/classes marked @Contended withshare/runtime/globals.hpp
ControlIntrinsicOpenJDK16ccstrlistruntimeDIAGNOSTICproductControl intrinsics using a list of +/- (internal) names, separated by commasshare/runtime/globals.hpp
ConvertCmpD2CmpFOpenJDK6boolc2truedevelopConvert cmpD to cmpF when one input is constant in float rangeshare/opto/c2_globals.hpp
ConvertFloat2IntClippingOpenJDK6boolc2truedevelopConvert float2int clipping idiom to integer clippingshare/opto/c2_globals.hpp
CountBytecodesOpenJDK6boolruntimefalsedevelopCount number of bytecodes executedshare/runtime/globals.hpp
CountCompiledCallsOpenJDK6boolruntimefalsedevelopCount method invocationsshare/runtime/globals.hpp
CountJNICallsOpenJDK6boolruntimefalsedevelopCount jni method invocationsshare/runtime/globals.hpp
CountJVMCallsOpenJDK6boolruntimefalsenotproductCount jvm method invocationsshare/runtime/globals.hpp
CountLinearScanOpenJDK6boolc1falsedevelopcollect statistic counters during LinearScanshare/c1/c1_globals.hpp
CountRemovableExceptionsOpenJDK6boolruntimefalsenotproductCount exceptions that could be replaced by branches due to inliningshare/runtime/globals.hpp
CountRuntimeCallsOpenJDK6boolruntimefalsenotproductCount VM runtime callsshare/runtime/globals.hpp
CounterDecayMinIntervalLengthOpenJDK6intxruntime500developThe minimum interval (in milliseconds) between invocation of CounterDecayshare/runtime/globals.hpp
CounterHalfLifeTimeOpenJDK6intxruntime30developHalf-life time of invocation counters (in seconds)share/runtime/globals.hpp
CrashGCForDumpingJavaThreadOpenJDK6boolruntimefalsenotproductManually make GC thread crash then dump java stack trace; Test onlyshare/runtime/globals.hpp
CrashOnOutOfMemoryErrorOpenJDK8boolruntimefalseproductJVM aborts, producing an error log and core/mini dump, on the first occurrence of an out-of-memory errorshare/runtime/globals.hpp
CreateCoredumpOnCrashOpenJDK9boolruntimetrueproductCreate core/mini dump on VM fatal errorshare/runtime/globals.hpp
CriticalJNINativesOpenJDK6Deprecated in JDK16
Obsoleted in JDK17
Expired in JDK18
boolruntimefalseproduct(Deprecated) Check for critical JNI entry pointsshare/runtime/globals.hpp
DSCR_DPFD_PPC64OpenJDK9uint64_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_PPC64OpenJDK9uint64_tppc(uint64_t)-1productPower8 or later: Specify encoded value for Data Stream Control Registercpu/ppc/globals_ppc.hpp
DSCR_URG_PPC64OpenJDK9uint64_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
DTraceAllocProbesOpenJDK6boolruntimefalseproductEnable dtrace probes for object allocationshare/runtime/globals.hpp
DTraceMethodProbesOpenJDK6boolruntimefalseproductEnable dtrace probes for method-entry and method-exitshare/runtime/globals.hpp
DTraceMonitorProbesOpenJDK6boolruntimefalseproductEnable dtrace probes for monitor eventsshare/runtime/globals.hpp
DebugDeoptimizationOpenJDK6boolruntimefalsedevelopTracing various information while debugging deoptimizationshare/runtime/globals.hpp
DebugInlinedCallsOpenJDK6boolc2trueproductIf false, restricts profiled locations to the root method onlyshare/opto/c2_globals.hpp
DebugNonSafepointsOpenJDK6boolruntimetrueInDebugproductGenerate extra debugging information for non-safepoints in nmethodsshare/runtime/globals.hpp
DebugVtablesOpenJDK6boolruntimefalsedevelopadd debugging code to vtable dispatchshare/runtime/globals.hpp
DeferInitialCardMarkOpenJDK6boolgcfalseproductWhen +ReduceInitialCardMarks, explicitly defer any that may arise from new_pre_store_barriershare/gc/shared/gc_globals.hpp
DeoptC1OpenJDK6boolc1truedevelopUse deoptimization in C1share/c1/c1_globals.hpp
DeoptimizeALotIntervalOpenJDK6intxruntime5notproductNumber of exits until DeoptimizeALot kicks inshare/runtime/globals.hpp
DeoptimizeALotOpenJDK6boolruntimefalsedevelopDeoptimize at every exit from the runtime systemshare/runtime/globals.hpp
DeoptimizeNMethodBarriersALotOpenJDK15boolruntimefalseproductMake nmethod barriers deoptimise a lot.share/runtime/globals.hpp
DeoptimizeObjectsALotIntervalOpenJDK16uint64_truntime5
range(0, max_jlong)
developInterval for DeoptimizeObjectsALot.share/runtime/globals.hpp
DeoptimizeObjectsALotThreadCountAllOpenJDK16intruntime1
range(0, max_jint)
developThe number of threads that revert optimizations based on escape analysis for all threads if DeoptimizeObjectsALot is enabled.share/runtime/globals.hpp
DeoptimizeObjectsALotThreadCountSingleOpenJDK16intruntime1
range(0, max_jint)
developThe number of threads that revert optimizations based on escape analysis for a single thread if DeoptimizeObjectsALot is enabled. The target thread is selected round robin.share/runtime/globals.hpp
DeoptimizeObjectsALotOpenJDK16boolruntimefalsedevelopFor testing purposes concurrent threads revert optimizations based on escape analysis at intervals given with DeoptimizeObjectsALotInterval=n. The thread count is given with DeoptimizeObjectsALotThreadCountSingle and DeoptimizeObjectsALotThreadCountAll.share/runtime/globals.hpp
DeoptimizeOnlyAtOpenJDK6ccstrlistruntimeA comma separated list of bcis to deoptimize atnotproductshare/runtime/globals.hpp
DeoptimizeRandomOpenJDK6boolruntimefalsedevelopDeoptimize random frames on random exit from the runtime systemshare/runtime/globals.hpp
DesiredMethodLimitOpenJDK6intxruntime8000developThe desired maximum method size (in bytecodes) after inliningshare/runtime/globals.hpp
DiagnoseSyncOnValueBasedClassesOpenJDK16intxruntime0
range(0, 2)
productDetect and take action upon identifying synchronization on value based classes. Modes:
0: off;
1: exit with fatal error;
2: log message to stdout. Output file can be specified with -Xlog:valuebasedclasses. If JFR is running it will also generate JFR events.
share/runtime/globals.hpp
DisableAttachMechanismOpenJDK6boolruntimefalseproductDisable mechanism that allows tools to attach to this VMshare/runtime/globals.hpp
DisableExplicitGCOpenJDK6boolgcfalseproductIgnore calls to System.gc()share/gc/shared/gc_globals.hpp
DisableIntrinsicOpenJDK6ccstrlistruntimeDIAGNOSTICproductdo not expand intrinsics whose (internal) names appear hereshare/runtime/globals.hpp
DisablePrimordialThreadGuardPagesOpenJDK8boolruntimefalseproductDisable the use of stack guard pages if the JVM is loaded on the primordial process threadshare/runtime/globals.hpp
DisableStartThreadOpenJDK6boolruntimefalsedevelopDisable starting of additional Java threads (for debugging only)share/runtime/globals.hpp
DisplayVMOutputToStderrOpenJDK6boolruntimefalseproductIf DisplayVMOutput is true, display all VM output to stderrshare/runtime/globals.hpp
DisplayVMOutputToStdoutOpenJDK6boolruntimefalseproductIf DisplayVMOutput is true, display all VM output to stdoutshare/runtime/globals.hpp
DisplayVMOutputOpenJDK6boolruntimetrueproductDisplay all VM output on the tty, independently of LogVMOutputshare/runtime/globals.hpp
DoCEEOpenJDK6boolc1truedevelopDo Conditional Expression Elimination to simplify CFGshare/c1/c1_globals.hpp
DoEscapeAnalysisOpenJDK6boolc2trueproductPerform escape analysisshare/opto/c2_globals.hpp
DoReserveCopyInSuperWordOpenJDK9boolc2trueproductCreate reserve copy of graph in SuperWord.share/opto/c2_globals.hpp
DominatorSearchLimitOpenJDK6intxc21000
range(0, max_jint)
productIterations limit in Node::dominatesshare/opto/c2_globals.hpp
DontCompileHugeMethodsOpenJDK6boolruntimetrueproductDo not compile methods > HugeMethodLimitshare/runtime/globals.hpp
DontYieldALotIntervalOpenJDK6intxruntime10developInterval between which yields will be dropped (milliseconds)share/runtime/globals.hpp
DontYieldALotOpenJDK6boolaixppcfalsedefine_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
DontYieldALotOpenJDK6boolbsdx86falsedefine_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
DontYieldALotOpenJDK6boolbsdzerofalsedefine_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
DontYieldALotOpenJDK6boollinuxaarch64falsedefine_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
DontYieldALotOpenJDK6boollinuxarmfalsedefine_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
DontYieldALotOpenJDK6boollinuxppcfalsedefine_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
DontYieldALotOpenJDK6boollinuxs390falsedefine_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
DontYieldALotOpenJDK6boollinuxx86falsedefine_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
DontYieldALotOpenJDK6boollinuxzerofalsedefine_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
DontYieldALotOpenJDK6boolruntimeproduct_pdThrow away obvious excess yield callsshare/runtime/globals.hpp
DontYieldALotOpenJDK6boolwindowsaarch64falsedefine_pd_globalos_cpu/windows_aarch64/globals_windows_aarch64.hpp
DontYieldALotOpenJDK6boolwindowsx86falsedefine_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
DumpLoadedClassListOpenJDK8ccstrruntimeNULLproductDump the names all loaded classes, that could be stored into the CDS archive, in the specified fileshare/runtime/globals.hpp
DumpPerfMapAtExitOpenJDK16boollinuxfalseproductWrite map file for Linux perf tool at exitos/linux/globals_linux.hpp
DumpPrivateMappingsInCoreOpenJDK11boollinuxtrueproductIf 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
DumpReplayDataOnErrorOpenJDK8boolruntimetrueproductRecord replay data for crashing compiler threadsshare/runtime/globals.hpp
DumpSharedMappingsInCoreOpenJDK11boollinuxtrueproductIf 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
DumpSharedSpacesOpenJDK6boolruntimefalseproductSpecial 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
DynamicallyResizeSystemDictionariesOpenJDK10boolruntimetrueproductDynamically resize system dictionaries as neededshare/runtime/globals.hpp
EagerInitializationOpenJDK6boolruntimefalsedevelopEagerly initialize classes if possibleshare/runtime/globals.hpp
EagerJVMCIOpenJDK11booljvmcifalseproductForce eager JVMCI initializationshare/jvmci/jvmci_globals.hpp
EagerXrunInitOpenJDK6boolruntimefalseproductEagerly initialize -Xrun libraries; allows startup profiling, but not all -Xrun libraries may support the state of the VM at this timeshare/runtime/globals.hpp
EliminateAllocationArraySizeLimitOpenJDK6intxc264
range(0, max_jint)
productArray size (number of elements) limit for scalar replacementshare/opto/c2_globals.hpp
EliminateAllocationsOpenJDK6boolc2trueproductUse escape analysis to eliminate allocationsshare/opto/c2_globals.hpp
EliminateAutoBoxOpenJDK6boolc2trueproductControl optimizations for autobox eliminationshare/opto/c2_globals.hpp
EliminateBlocksOpenJDK6boolc1truedevelopEliminate unneccessary basic blocksshare/c1/c1_globals.hpp
EliminateFieldAccessOpenJDK6boolc1truedevelopOptimize field loads and storesshare/c1/c1_globals.hpp
EliminateLocksOpenJDK6boolc2trueproductCoarsen locks when possibleshare/opto/c2_globals.hpp
EliminateNestedLocksOpenJDK6boolc2trueproductEliminate nested locks of the same object when possibleshare/opto/c2_globals.hpp
EliminateNullChecksOpenJDK6boolc1truedevelopEliminate unneccessary null checksshare/c1/c1_globals.hpp
EnableContendedOpenJDK8boolruntimetrueproductEnable @Contended annotation supportshare/runtime/globals.hpp
EnableDynamicAgentLoadingOpenJDK9boolruntimetrueproductAllow tools to load agents with the attach mechanismshare/runtime/globals.hpp
EnableJVMCIProductOpenJDK14booljvmcifalseproductAllow 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
EnableJVMCIOpenJDK9booljvmcifalseproductEnable JVMCIshare/jvmci/jvmci_globals.hpp
EnableThreadSMRExtraValidityChecksOpenJDK10boolruntimetrueproductEnable Thread SMR extra validity checksshare/runtime/globals.hpp
EnableThreadSMRStatisticsOpenJDK10boolruntimetrueInDebugproductEnable Thread SMR Statisticsshare/runtime/globals.hpp
EnableVectorAggressiveReboxingOpenJDK16boolc2falseproductEnables aggressive reboxing of vectorsshare/opto/c2_globals.hpp
EnableVectorReboxingOpenJDK16boolc2falseproductEnables reboxing of vectorsshare/opto/c2_globals.hpp
EnableVectorSupportOpenJDK16boolc2falseproductEnables VectorSupport intrinsicsshare/opto/c2_globals.hpp
EpsilonElasticTLABDecayOpenJDK11boolgctrueproductUse 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
EpsilonElasticTLABOpenJDK11boolgctrueproductUse 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)
productMax TLAB size to use with Epsilon GC. Larger value improves performance at the expense of per-thread memory waste. This asks TLAB machinery to cap TLAB sizes at this value.share/gc/epsilon/epsilon_globals.hpp
EpsilonMinHeapExpandOpenJDK11size_tgc128 * M
range(1, max_intx)
productMin expansion step for heap. Larger value improves performance at the potential expense of memory waste.share/gc/epsilon/epsilon_globals.hpp
EpsilonPrintHeapStepsOpenJDK11size_tgc20
range(0, max_intx)
productPrint heap occupancy stats with this number of steps.
0 turns the printing off.
share/gc/epsilon/epsilon_globals.hpp
EpsilonTLABDecayTimeOpenJDK11size_tgc1000
range(1, max_intx)
productTLAB sizing policy decays to initial size after thread had not allocated for this long. Time is in milliseconds. Lower value improves memory footprint, but penalizes actively allocating threads.share/gc/epsilon/epsilon_globals.hpp
EpsilonTLABElasticityOpenJDK11doublegc1.1
range(1.0, DBL_MAX)
productMultiplier to use when deciding on next TLAB size. Larger value improves performance at the expense of per-thread memory waste. Lower value improves memory footprint, but penalizes actively allocating threads.share/gc/epsilon/epsilon_globals.hpp
EpsilonUpdateCountersStepOpenJDK11size_tgc1 * M
range(1, max_intx)
productUpdate heap occupancy counters after allocating this much memory. Higher values would make allocations faster at the expense of lower resolution in heap counters.share/gc/epsilon/epsilon_globals.hpp
ErgoHeapSizeLimitOpenJDK6size_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
ErrorFileOpenJDK6ccstrruntimeNULLproductIf an error occurs, save the error data to this file [default: ./hs_err_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
ErrorHandlerTestOpenJDK6uintxruntime0notproductIf > 0, provokes an error after VM initialization; the value determines which error to provoke. See test_error_handler() in vmError.cpp.share/runtime/globals.hpp
ErrorLogTimeoutOpenJDK9uint64_truntime2 * 60
range(0, (uint64_t)max_jlong/1000)
productTimeout, in seconds, to limit the time spent on writing an error log in case of a crash.share/runtime/globals.hpp
EscapeAnalysisTimeoutOpenJDK7doublec220. DEBUG_ONLY(+40.)
range(0, DBL_MAX)
productAbort EA when it reaches time limit (in sec)share/opto/c2_globals.hpp
EstimateArgEscapeOpenJDK6boolruntimetrueproductAnalyze bytecodes to estimate escape state of argumentsshare/runtime/globals.hpp
ExecutingUnitTestsOpenJDK9boolgcfalseproductWhether the JVM is running unit tests or notshare/gc/shared/gc_globals.hpp
ExitEscapeAnalysisOnTimeoutOpenJDK7boolc2truedevelopExit or throw assert in EA when it reaches time limitshare/opto/c2_globals.hpp
ExitOnFullCodeCacheOpenJDK6boolruntimefalsenotproductExit the VM if we fill the code cacheshare/runtime/globals.hpp
ExitOnOutOfMemoryErrorOpenJDK8boolruntimefalseproductJVM exits on the first occurrence of an out-of-memory errorshare/runtime/globals.hpp
ExitVMOnVerifyErrorOpenJDK6boolruntimefalsenotproductstandard exit from VM if bytecode verify error (only in debug mode)share/runtime/globals.hpp
ExpandLoadingBaseDecode_NNOpenJDK9bools390trueproductExpand the assembler instruction required to load the base from DecodeN_NN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseDecodeOpenJDK9bools390trueproductExpand the assembler instruction required to load the base from DecodeN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncode_NNOpenJDK9bools390trueproductExpand the assembler instruction required to load the base from EncodeP_NN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncodeOpenJDK9bools390trueproductExpand the assembler instruction required to load the base from EncodeP nodes during matching.cpu/s390/globals_s390.hpp
ExpandSubTypeCheckAtParseTimeOpenJDK15boolc2falseproductDo not use subtype check macro nodeshare/opto/c2_globals.hpp
ExplicitGCInvokesConcurrentOpenJDK6boolgcfalseproductA System.gc() request invokes a concurrent collection; (effective only when using concurrent collectors)share/gc/shared/gc_globals.hpp
ExtendedDTraceProbesOpenJDK6boolruntimefalseproductEnable performance-impacting dtrace probesshare/runtime/globals.hpp
ExtensiveErrorReportsOpenJDK11boolruntimePRODUCT_ONLY(false) NOT_PRODUCT(true)productError reports are more extensive.share/runtime/globals.hpp
ExtraSharedClassListFileOpenJDK8ccstrruntimeNULLproductExtra classlist for building the CDS archive fileshare/runtime/globals.hpp
FLOATPRESSUREOpenJDK6intxaarch6432define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
FLOATPRESSUREOpenJDK6intxarm30define_pd_globalcpu/arm/c2_globals_arm.hpp
FLOATPRESSUREOpenJDK6intxc2develop_pdNumber of float LRG's that constitute high register pressureshare/opto/c2_globals.hpp
FLOATPRESSUREOpenJDK6intxppc28define_pd_globalcpu/ppc/c2_globals_ppc.hpp
FLOATPRESSUREOpenJDK6intxs39015define_pd_globalcpu/s390/c2_globals_s390.hpp
FLOATPRESSUREOpenJDK6intxx866define_pd_globalcpu/x86/c2_globals_x86.hpp
FLSVerifyDictionaryOpenJDK6boolruntimefalsedevelopDo lots of (expensive) FLS dictionary verificationshare/runtime/globals.hpp
FastAllocateSizeLimitOpenJDK6intxruntime128*Kdevelop/* Note: This value is zero mod 1<<13 for a cheap sparc set. */Inline allocations larger than this in doublewords must go slowshare/runtime/globals.hpp
FilterSpuriousWakeupsOpenJDK6boolruntimetrueproductWhen 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 JDK13
Obsoleted in JDK
Expired in JDK
boolruntimefalseproduct(Deprecated) Enable Flight Recordershare/runtime/globals.hpp
FoldStableValuesOpenJDK8boolruntimetrueproductOptimize loads from stable fields (marked w/ @Stable)share/runtime/globals.hpp
ForceFloatExceptionsOpenJDK6boolruntimetrueInDebugdevelopForce exceptions on FP stack under/overflowshare/runtime/globals.hpp
ForceTimeHighResolutionOpenJDK6boolruntimefalseproductUsing high time resolution (for Win32 only)share/runtime/globals.hpp
ForceUnreachableOpenJDK6boolruntimefalseproductMake all non code cache addresses to be unreachable by forcing use of 64bit literal fixupsshare/runtime/globals.hpp
FreqCountInvocationsOpenJDK6intxc21
range(1, max_intx)
developScaling factor for branch frequencies (deprecated)share/opto/c2_globals.hpp
FreqInlineSizeOpenJDK6intxaarch64325define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
FreqInlineSizeOpenJDK6intxarm175define_pd_globalcpu/arm/c2_globals_arm.hpp
FreqInlineSizeOpenJDK6intxc2product_pdThe maximum bytecode size of a frequent method to be inlinedshare/opto/c2_globals.hpp
FreqInlineSizeOpenJDK6intxppc175define_pd_globalcpu/ppc/c2_globals_ppc.hpp
FreqInlineSizeOpenJDK6intxs390175define_pd_globalcpu/s390/c2_globals_s390.hpp
FreqInlineSizeOpenJDK6intxx86325define_pd_globalcpu/x86/c2_globals_x86.hpp
FullGCALotDummiesOpenJDK6intxgc32*KnotproductDummy object allocated with +FullGCALot, forcing all objects to moveshare/gc/shared/gc_globals.hpp
FullGCALotIntervalOpenJDK6intxgc1notproductInterval between which full gc will occur with +FullGCALotshare/gc/shared/gc_globals.hpp
FullGCALotStartOpenJDK6intxgc0notproductFor which invocation to start FullGCAlotshare/gc/shared/gc_globals.hpp
FullGCALotOpenJDK6boolgcfalsedevelopForce full gc at every Nth exit from the runtime system (N=FullGCALotInterval)share/gc/shared/gc_globals.hpp
G1AdaptiveIHOPNumInitialSamplesOpenJDK9size_tgc3
range(1, max_intx)
productHow many completed time periods from concurrent start to first mixed gc are required to use the input values for prediction of the optimal occupancy to start marking.share/gc/g1/g1_globals.hpp
G1ConcMarkStepDurationMillisOpenJDK6doublegc10.0
range(1.0, DBL_MAX)
productTarget duration of individual concurrent marking steps in milliseconds.share/gc/g1/g1_globals.hpp
G1ConcRSHotCardLimitOpenJDK6uintxgc4
range(0, max_jubyte)
productThe threshold that defines (>=) a hot card.share/gc/g1/g1_globals.hpp
G1ConcRSLogCacheSizeOpenJDK6size_tgc10
range(0, 27)
productLog base 2 of the length of conc RS hot-card cache.share/gc/g1/g1_globals.hpp
G1ConcRefinementGreenZoneOpenJDK6size_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
G1ConcRefinementRedZoneOpenJDK6size_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
G1ConcRefinementServiceIntervalMillisOpenJDK6uintxgc300
range(0, max_jint)
productThe G1 service thread wakes up every specified number of milliseconds to do miscellaneous work.share/gc/g1/g1_globals.hpp
G1ConcRefinementThreadsOpenJDK6uintgc0
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
G1ConcRefinementThresholdStepOpenJDK6size_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
G1ConcRefinementYellowZoneOpenJDK6size_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
G1ConfidencePercentOpenJDK6uintxgc50
range(0, 100)
productConfidence level for MMU/pause predictionsshare/gc/g1/g1_globals.hpp
G1DummyRegionsPerGCOpenJDK6uintxgc0developThe 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
G1EagerReclaimHumongousObjectsWithStaleRefsOpenJDK8boolgctrueproductTry to reclaim dead large objects that have a few stale references at every young GC.share/gc/g1/g1_globals.hpp
G1EagerReclaimHumongousObjectsOpenJDK8boolgctrueproductTry to reclaim dead large objects at every young GC.share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotCountOpenJDK7uintxgc1000developNumber of successful evacuations between evacuation failures occurring at object copyingshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringConcMarkOpenJDK7boolgctruedevelopForce use of evacuation failure handling during evacuation pauses when marking is in progressshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringConcurrentStartOpenJDK16boolgctruedevelopForce use of evacuation failure handling during concurrent start evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringMixedGCOpenJDK7boolgctruedevelopForce use of evacuation failure handling during mixed evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringYoungGCOpenJDK7boolgctruedevelopForce use of evacuation failure handling during young evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotIntervalOpenJDK7uintxgc5developTotal collections between forced triggering of evacuation failuresshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotOpenJDK7boolgcfalsenotproductForce use of evacuation failure handling during certain evacuation pausesshare/gc/g1/g1_globals.hpp
G1ExitOnExpansionFailureOpenJDK6boolgcfalsedevelopRaise a fatal VM exit out of memory failure in the event that heap expansion fails due to running out of swap.share/gc/g1/g1_globals.hpp
G1ExpandByPercentOfAvailableOpenJDK6intxgc20
range(0, 100)
productWhen expanding, % of uncommitted space to claim.share/gc/g1/g1_globals.hpp
G1HeapRegionSizeOpenJDK6size_tgc0
range(0, 32*M)
productSize of the G1 regions.share/gc/g1/g1_globals.hpp
G1HeapWastePercentOpenJDK7uintxgc5
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
G1LastPLABAverageOccupancyOpenJDK9doublegc50.0
range(0.001, 100.0)
productThe expected average occupancy of the last PLAB in percent.share/gc/g1/g1_globals.hpp
G1MaxNewSizePercentOpenJDK7uintxgc60
range(0, 100)
productPercentage (0-100) of the heap size to use as default maximum young gen size.share/gc/g1/g1_globals.hpp
G1MaxVerifyFailuresOpenJDK6intxgc-1
range(-1, max_jint)
developThe maximum number of verification failures to print. -1 means print all.share/gc/g1/g1_globals.hpp
G1MixedGCCountTargetOpenJDK7uintxgc8
range(0, max_uintx)
productThe target number of mixed GCs after a marking cycle.share/gc/g1/g1_globals.hpp
G1MixedGCLiveThresholdPercentOpenJDK7uintxgc85
range(0, 100)
productThreshold for regions to be considered for inclusion in the collection set of mixed GCs. Regions with live bytes exceeding this will not be collected.share/gc/g1/g1_globals.hpp
G1NewSizePercentOpenJDK7uintxgc5
range(0, 100)
productPercentage (0-100) of the heap size to use as default minimum young gen size.share/gc/g1/g1_globals.hpp
G1OldCSetRegionThresholdPercentOpenJDK6uintxgc10
range(0, 100)
productAn upper bound for the number of old CSet regions expressed as a percentage of the heap size.share/gc/g1/g1_globals.hpp
G1PeriodicGCIntervalOpenJDK12uintxgc0productNumber 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)
productMaximum recent system wide load as returned by the 1m value of getloadavg() at which G1 triggers a periodic GC. A load above this value cancels a given periodic GC. A value of zero disables this check.share/gc/g1/g1_globals.hpp
G1RSetRegionEntriesBaseOpenJDK6intxgc256
range(1, max_jint/wordSize)
developMax number of regions in a fine-grain table per MB.share/gc/g1/g1_globals.hpp
G1RSetRegionEntriesOpenJDK6intxgc0
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
G1RSetSparseRegionEntriesBaseOpenJDK6intxgc4
range(1, max_jint/wordSize)
developMax number of entries per region in a sparse table per MB.share/gc/g1/g1_globals.hpp
G1RSetSparseRegionEntriesOpenJDK6intxgc0
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
G1RSetUpdatingPauseTimePercentOpenJDK6intxgc10
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)
productChunk size used for rebuilding the remembered set.share/gc/g1/g1_globals.hpp
G1RefProcDrainIntervalOpenJDK6uintgc1000
range(1, INT_MAX)
productThe number of discovered reference objects to process before draining concurrent marking work queues.share/gc/g1/g1_globals.hpp
G1ReservePercentOpenJDK6uintxgc10
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
G1SATBBufferEnqueueingThresholdPercentOpenJDK6uintxgc60
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
G1SATBBufferSizeOpenJDK6size_tgc1*K
range(1, max_uintx)
productNumber of entries in an SATB log buffer.share/gc/g1/g1_globals.hpp
G1SATBProcessCompletedThresholdOpenJDK6intxgc20
range(0, max_jint)
developNumber of completed buffers that triggers log processing.share/gc/g1/g1_globals.hpp
G1SummarizeRSetStatsPeriodOpenJDK6intxgc0
range(0, max_intx)
productThe period (in number of GCs) at which we will generate update buffer processing info (0 means do not periodically generate this info); it also requires that logging is enabled on the tracelevel for gc+remsetshare/gc/g1/g1_globals.hpp
G1UpdateBufferSizeOpenJDK6size_tgc256
range(1, NOT_LP64(32*M) LP64_ONLY(1*G))
productSize of an update buffershare/gc/g1/g1_globals.hpp
G1UseAdaptiveConcRefinementOpenJDK6boolgctrueproductSelect green, yellow and red zones adaptively to meet the the pause requirements.share/gc/g1/g1_globals.hpp
G1UseAdaptiveIHOPOpenJDK9boolgctrueproductAdaptively 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
G1UseReferencePrecleaningOpenJDK11boolgctrueproductConcurrently preclean java.lang.ref.references instances before the Remark pause.share/gc/g1/g1_globals.hpp
G1VerifyBitmapsOpenJDK8boolgcfalsedevelopVerifies the consistency of the marking bitmapsshare/gc/g1/g1_globals.hpp
G1VerifyCTCleanupOpenJDK6boolgcfalsedevelopVerify card table cleanup.share/gc/g1/g1_globals.hpp
G1VerifyHeapRegionCodeRootsOpenJDK7boolgcfalseproductVerify the code root lists attached to each heap region.share/gc/g1/g1_globals.hpp
G1VerifyRSetsDuringFullGCOpenJDK7boolgcfalseproductIf true, perform verification of each heap region's remembered set when verifying the heap during a full GC.share/gc/g1/g1_globals.hpp
GCALotAtAllSafepointsOpenJDK6boolgcfalsenotproductEnforce ScavengeALot/GCALot at all potential safepointsshare/gc/shared/gc_globals.hpp
GCDrainStackTargetSizeOpenJDK6uintxgc64
range(0, max_juint)
productNumber of entries we will try to leave on the stack during parallel gcshare/gc/shared/gc_globals.hpp
GCExpandToAllocateDelayMillisOpenJDK6uintxgc0developDelay between expansion and allocation (in milliseconds)share/gc/shared/gc_globals.hpp
GCHeapFreeLimitOpenJDK6uintxgc2
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
GCLockerEdenExpansionPercentOpenJDK6uintxgc5
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
GCLockerRetryAllocationCountOpenJDK8uintxgc2
range(0, max_uintx)
productNumber 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
GCParallelVerificationEnabledOpenJDK6boolgctrueproductEnable parallel memory system verificationshare/gc/shared/gc_globals.hpp
GCPauseIntervalMillisOpenJDK6uintxgc0productTime slice for MMU specificationshare/gc/shared/gc_globals.hpp
GCTimeLimitOpenJDK6uintxgc98
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
GCTimeRatioOpenJDK6uintxgc99
range(0, max_juint)
productAdaptive size policy application time to GC time ratioshare/gc/shared/gc_globals.hpp
GCWorkerDelayMillisOpenJDK8uintxgc0developDelay in scheduling GC workers (in milliseconds)share/gc/parallel/parallel_globals.hpp
GenerateArrayStoreCheckOpenJDK6boolc1truedevelopGenerates code for array store checksshare/c1/c1_globals.hpp
GenerateRangeChecksOpenJDK6boolruntimetruedevelopGenerate range checks for array accessesshare/runtime/globals.hpp
GenerateSynchronizationCodeOpenJDK6boolruntimetruedevelopgenerate locking/unlocking code for synchronized methods and monitorsshare/runtime/globals.hpp
GuaranteedSafepointIntervalOpenJDK6intxruntime1000
range(0, max_jint)
productGuarantee a safepoint (at least) every so many milliseconds (0 means none)share/runtime/globals.hpp
HandshakeALotOpenJDK13boolruntimefalseproductGenerate a lot of handshakes. This works with GuaranteedSafepointIntervalshare/runtime/globals.hpp
HandshakeTimeoutOpenJDK10uintruntime0productIf nonzero set a timeout in milliseconds for handshakesshare/runtime/globals.hpp
HeapBaseMinAddressOpenJDK6size_taixppc2*Gdefine_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
HeapBaseMinAddressOpenJDK6size_tbsdx862*Gdefine_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
HeapBaseMinAddressOpenJDK6size_tbsdzero2*Gdefine_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
HeapBaseMinAddressOpenJDK6uintxlinuxaarch642*Gdefine_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
HeapBaseMinAddressOpenJDK6size_tlinuxarm2*Gdefine_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
HeapBaseMinAddressOpenJDK6size_tlinuxppc2*Gdefine_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
HeapBaseMinAddressOpenJDK6size_tlinuxs3902*Gdefine_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
HeapBaseMinAddressOpenJDK6size_tlinuxx862*Gdefine_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
HeapBaseMinAddressOpenJDK6size_tlinuxzero2*Gdefine_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
HeapBaseMinAddressOpenJDK6size_tgcproduct_pdOS specific low limit for heap base addressshare/gc/shared/gc_globals.hpp
HeapBaseMinAddressOpenJDK6uintxwindowsaarch642*Gdefine_pd_globalos_cpu/windows_aarch64/globals_windows_aarch64.hpp
HeapBaseMinAddressOpenJDK6size_twindowsx862*Gdefine_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
HeapDumpAfterFullGCOpenJDK6boolruntimefalseproductDump heap to file after any major stop-the-world GCshare/runtime/globals.hpp
HeapDumpBeforeFullGCOpenJDK6boolruntimefalseproductDump heap to file before any major stop-the-world GCshare/runtime/globals.hpp
HeapDumpOnOutOfMemoryErrorOpenJDK6boolruntimefalseproductDump heap to file when java.lang.OutOfMemoryError is thrownshare/runtime/globals.hpp
HeapDumpPathOpenJDK6ccstrruntimeNULLproductWhen 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
HeapFirstMaximumCompactionCountOpenJDK6uintxgc3
range(0, max_uintx)
productThe collection count for the first maximum compactionshare/gc/parallel/parallel_globals.hpp
HeapMaximumCompactionIntervalOpenJDK6uintxgc20
range(0, max_uintx)
productHow often should we maximally compact the heap (not allowing any dead space)share/gc/parallel/parallel_globals.hpp
HeapSearchStepsOpenJDK9uintxruntime3 PPC64_ONLY(+17)
range(1, max_uintx)
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
HeapSizePerGCThreadOpenJDK6size_tgcScaleForWordSize(32*M)productSize of heap (bytes) per GC thread used in calculating the number of GC threadsshare/gc/shared/gc_globals.hpp
HotCallCountThresholdOpenJDK6intxc2999999
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
HotCallProfitThresholdOpenJDK6intxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
develophighly profitable inlining opportunities force hotnessshare/opto/c2_globals.hpp
HotCallTrivialSizeOpenJDK6intxc2-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
HotCallTrivialWorkOpenJDK6intxc2-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
HotMethodDetectionLimitOpenJDK9intxruntime100000
range(1, max_jint)
productNumber of compiled code invocations after which the method is considered as hot by the flushershare/runtime/globals.hpp
HugeMethodLimitOpenJDK6intxruntime8000developDon't compile methods larger than this if +DontCompileHugeMethodsshare/runtime/globals.hpp
ICMissHistogramOpenJDK6boolruntimefalsenotproductProduce histogram of IC missesshare/runtime/globals.hpp
IEEEPrecisionOpenJDK6boolx86truedevelopEnables IEEE precision (for INTEL only)cpu/x86/globals_x86.hpp
INTPRESSUREOpenJDK6intxaarch6424define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
INTPRESSUREOpenJDK6intxarm12define_pd_globalcpu/arm/c2_globals_arm.hpp
INTPRESSUREOpenJDK6intxc2develop_pdNumber of integer LRG's that constitute high register pressureshare/opto/c2_globals.hpp
INTPRESSUREOpenJDK6intxppc26define_pd_globalcpu/ppc/c2_globals_ppc.hpp
INTPRESSUREOpenJDK6intxs39010define_pd_global// Medium size register set, 6 special purpose regs, 3 SOE regs.cpu/s390/c2_globals_s390.hpp
INTPRESSUREOpenJDK6intxx866define_pd_globalcpu/x86/c2_globals_x86.hpp
IdealizeClearArrayNodeOpenJDK9boolaarch64truedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
IdealizeClearArrayNodeOpenJDK9boolc2product_pdReplace ClearArrayNode by subgraph of basic operations.share/opto/c2_globals.hpp
IdealizeClearArrayNodeOpenJDK9boolppctruedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
IdealizeClearArrayNodeOpenJDK9bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
IdealizeClearArrayNodeOpenJDK9boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
IdealizedNumericsOpenJDK6boolc2falsedevelopCheck performance difference allowing FP associativity and commutativity...share/opto/c2_globals.hpp
IgnoreEmptyClassPathsOpenJDK8boolruntimefalseproductIgnore empty path elements in -classpathshare/runtime/globals.hpp
IgnoreRewritesOpenJDK6boolruntimefalsedevelopSuppress rewrites of bytecodes in the oopmap generator. This is unsafe!share/runtime/globals.hpp
IgnoreUnrecognizedVMOptionsOpenJDK6boolruntimefalseproductIgnore unrecognized VM optionsshare/runtime/globals.hpp
ImplicitDiv0ChecksOpenJDK6boolc1truedevelopUse implicit division by zero checksshare/c1/c1_globals.hpp
ImplicitNullCheckThresholdOpenJDK6intxc23
range(0, max_jint)
developDon't do implicit null checks if NPE's in a method exceeds limitshare/opto/c2_globals.hpp
ImplicitNullChecksOpenJDK6boolaarch64truedefine_pd_global// Generate code for implicit null checkscpu/aarch64/globals_aarch64.hpp
ImplicitNullChecksOpenJDK6boolarmtruedefine_pd_global// Generate code for implicit null checkscpu/arm/globals_arm.hpp
ImplicitNullChecksOpenJDK6boolruntimeproduct_pdGenerate code for implicit null checksshare/runtime/globals.hpp
ImplicitNullChecksOpenJDK6boolppctruedefine_pd_global// Generate code for implicit null checks.cpu/ppc/globals_ppc.hpp
ImplicitNullChecksOpenJDK6bools390truedefine_pd_global// Generate code for implicit null checks.cpu/s390/globals_s390.hpp
ImplicitNullChecksOpenJDK6boolx86truedefine_pd_global// Generate code for implicit null checkscpu/x86/globals_x86.hpp
ImplicitNullChecksOpenJDK6boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
IncreaseFirstTierCompileThresholdAtOpenJDK8uintxruntime50
range(0, 99)
productIncrease the compile threshold for C1 compilation if the code cache is filled by the specified percentageshare/runtime/globals.hpp
IncrementalInlineForceCleanupOpenJDK16boolc2falseproductdo cleanup after every iteration of incremental inliningshare/opto/c2_globals.hpp
IncrementalInlineMHOpenJDK16boolc2trueproductdo post parse inlining of method handle callsshare/opto/c2_globals.hpp
IncrementalInlineVirtualOpenJDK16boolc2trueproductdo post parse inlining of virtual callsshare/opto/c2_globals.hpp
IncrementalInlineOpenJDK7boolc2trueproductdo post parse inliningshare/opto/c2_globals.hpp
IndexSetWatchOpenJDK6intxc20
range(-1, 0)
notproductTrace all operations on this IndexSet (-1 means all, 0 none)share/opto/c2_globals.hpp
InitArrayShortSizeOpenJDK9intxaarch64BytesPerLongdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
InitArrayShortSizeOpenJDK9intxarm8*BytesPerLongdefine_pd_globalcpu/arm/globals_arm.hpp
InitArrayShortSizeOpenJDK9intxruntimeproduct_pdThreshold small size (in bytes) for clearing arrays. Anything this size or smaller may get converted to discrete scalar stores.share/runtime/globals.hpp
InitArrayShortSizeOpenJDK9intxppc9*BytesPerLongdefine_pd_globalcpu/ppc/globals_ppc.hpp
InitArrayShortSizeOpenJDK9intxs3901*BytesPerLongdefine_pd_globalcpu/s390/globals_s390.hpp
InitArrayShortSizeOpenJDK9intxx868*BytesPerLongdefine_pd_globalcpu/x86/globals_x86.hpp
InitArrayShortSizeOpenJDK9intxzero0define_pd_globalcpu/zero/globals_zero.hpp
InitialCodeCacheSizeOpenJDK6intxaarch64160*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
InitialCodeCacheSizeOpenJDK6size_tarm160*Kdefine_pd_globalcpu/arm/c1_globals_arm.hpp
InitialCodeCacheSizeOpenJDK6uintxcompiler160*Kdefine_pd_globalshare/compiler/compiler_globals.hpp
InitialCodeCacheSizeOpenJDK6uintxruntimeproduct_pdInitial code cache size (in bytes)share/runtime/globals.hpp
InitialCodeCacheSizeOpenJDK6uintxppc160*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
InitialCodeCacheSizeOpenJDK6uintxs3902048*Kdefine_pd_global// Integral multiple of CodeCacheExpansionSizecpu/s390/c2_globals_s390.hpp
InitialCodeCacheSizeOpenJDK6uintxx86160*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
InitialHeapSizeOpenJDK6size_tgc0productInitial heap size (in bytes); zero means use ergonomicsshare/gc/shared/gc_globals.hpp
InitialRAMFractionOpenJDK6Deprecated in JDK10
Obsoleted in JDK
Expired in JDK
uintxgc64
range(1, max_uintx)
productFraction (1/n) of real memory used for initial heap size. Deprecated, use InitialRAMPercentage insteadshare/gc/shared/gc_globals.hpp
InitialRAMPercentageOpenJDK10doublegc1.5625
range(0.0, 100.0)
productPercentage of real memory used for initial heap sizeshare/gc/shared/gc_globals.hpp
InitialSurvivorRatioOpenJDK6uintxgc8
range(0, max_uintx)
productInitial ratio of young generation/survivor space sizeshare/gc/shared/gc_globals.hpp
InitialTenuringThresholdOpenJDK6uintxgc7
range(0, markWord::max_age + 1)
productInitial value for tenuring thresholdshare/gc/shared/gc_globals.hpp
InitiatingHeapOccupancyPercentOpenJDK6uintxgc45
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
InjectGCWorkerCreationFailureOpenJDK9boolgcfalseproductInject thread creation failures for UseDynamicNumberOfGCThreadsshare/gc/shared/gc_globals.hpp
InlineAccessorsOpenJDK6boolc2truedevelopinline accessor methods (get/set)share/opto/c2_globals.hpp
InlineArrayCopyOpenJDK6boolruntimetrueproductInline arraycopy native that is known to be part of base library DLLshare/runtime/globals.hpp
InlineClassNativesOpenJDK6boolcompilertruedefine_pd_globalshare/compiler/compiler_globals.hpp
InlineClassNativesOpenJDK6boolruntimetrueproductInline Class.isInstance, etcshare/runtime/globals.hpp
InlineDataFileOpenJDK8ccstrruntimeNULLproductFile containing inlining replay information[default: ./inline_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
InlineFrequencyCountOpenJDK6intxaarch64100define_pd_globalcpu/aarch64/globals_aarch64.hpp
InlineFrequencyCountOpenJDK6intxarm50define_pd_globalcpu/arm/globals_arm.hpp
InlineFrequencyCountOpenJDK6intxruntimeproduct_pdCount of call site execution necessary to trigger frequent inliningshare/runtime/globals.hpp
InlineFrequencyCountOpenJDK6intxppc100define_pd_globalcpu/ppc/globals_ppc.hpp
InlineFrequencyCountOpenJDK6intxs390100define_pd_globalcpu/s390/globals_s390.hpp
InlineFrequencyCountOpenJDK6intxx86100define_pd_globalcpu/x86/globals_x86.hpp
InlineFrequencyCountOpenJDK6intxzero100define_pd_globalcpu/zero/globals_zero.hpp
InlineFrequencyRatioOpenJDK6intxruntime20
range(0, max_jint)
developRatio of call site execution to caller method invocationshare/runtime/globals.hpp
InlineIntrinsicsOpenJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
InlineIntrinsicsOpenJDK6boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
InlineIntrinsicsOpenJDK6boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
InlineIntrinsicsOpenJDK6boolruntimedevelop_pdInline intrinsics that can be statically resolvedshare/runtime/globals.hpp
InlineIntrinsicsOpenJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
InlineIntrinsicsOpenJDK6bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
InlineIntrinsicsOpenJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
InlineMathNativesOpenJDK6boolruntimetrueproductInline SinD, CosD, etc.share/runtime/globals.hpp
InlineMethodsWithExceptionHandlersOpenJDK6boolc1truedevelopInline methods containing exception handlers (NOTE: does not work with current backend)share/c1/c1_globals.hpp
InlineNIOCheckIndexOpenJDK6boolc1trueproductIntrinsify java.nio.Buffer.checkIndexshare/c1/c1_globals.hpp
InlineNativesOpenJDK6boolruntimetrueproductInline natives that are known to be part of base library DLLshare/runtime/globals.hpp
InlineObjectCopyOpenJDK6boolc2trueproductinline Object.clone and Arrays.copyOf[Range] intrinsicsshare/opto/c2_globals.hpp
InlineObjectHashOpenJDK6boolruntimetrueproductInline Object::hashCode() native that is known to be part of base library DLLshare/runtime/globals.hpp
InlineReflectionGetCallerClassOpenJDK6boolc2trueproductinline sun.reflect.Reflection.getCallerClass(), known to be part of base library DLLshare/opto/c2_globals.hpp
InlineSmallCodeOpenJDK6intxaarch641000define_pd_globalcpu/aarch64/globals_aarch64.hpp
InlineSmallCodeOpenJDK6intxarm1500define_pd_globalcpu/arm/globals_arm.hpp
InlineSmallCodeOpenJDK6intxc2product_pdOnly inline already compiled methods if their code size is less than thisshare/opto/c2_globals.hpp
InlineSmallCodeOpenJDK6intxppc1500define_pd_globalcpu/ppc/globals_ppc.hpp
InlineSmallCodeOpenJDK6intxs3902000define_pd_globalcpu/s390/globals_s390.hpp
InlineSmallCodeOpenJDK6intxx861000define_pd_globalcpu/x86/globals_x86.hpp
InlineSmallCodeOpenJDK6intxzero1000define_pd_globalcpu/zero/globals_zero.hpp
InlineSynchronizedMethodsOpenJDK6boolc1trueproductInline synchronized methodsshare/c1/c1_globals.hpp
InlineThreadNativesOpenJDK6boolruntimetrueproductInline Thread.currentThread, etcshare/runtime/globals.hpp
InlineThrowCountOpenJDK6intxruntime50
range(0, max_jint)
developForce inlining of interpreted methods that throw this oftenshare/runtime/globals.hpp
InlineThrowMaxSizeOpenJDK6intxruntime200
range(0, max_jint)
developForce inlining of throwing methods smaller than thisshare/runtime/globals.hpp
InlineUnsafeOpsOpenJDK6boolcompilertruedefine_pd_globalshare/compiler/compiler_globals.hpp
InlineUnsafeOpsOpenJDK6boolruntimetrueproductInline memory ops (native methods) from Unsafeshare/runtime/globals.hpp
InlineWarmCallsOpenJDK6boolc2falsedevelopUse a heat-based priority queue to govern inliningshare/opto/c2_globals.hpp
InlineOpenJDK6boolruntimetrueproductEnable inliningshare/runtime/globals.hpp
InstallMethodsOpenJDK6boolc1truedevelopInstall methods at the end of successful compilationsshare/c1/c1_globals.hpp
InstructionCountCutoffOpenJDK6intxc137000
range(0, max_jint)
developIf GraphBuilder adds this many instructions, bails outshare/c1/c1_globals.hpp
IntelJccErratumMitigationOpenJDK15boolx86trueproductTurn off JVM mitigations related to Intel micro code mitigations for the Intel JCC erratumcpu/x86/globals_x86.hpp
InterceptOSExceptionOpenJDK6boolruntimefalsedevelopStart debugger when an implicit OS (e.g. NULL) exception happensshare/runtime/globals.hpp
InteriorEntryAlignmentOpenJDK6intxaarch6416define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
InteriorEntryAlignmentOpenJDK6intxarm16define_pd_global// = CodeEntryAlignmentcpu/arm/c2_globals_arm.hpp
InteriorEntryAlignmentOpenJDK6intxc2product_pdCode alignment for interior entry points in generated code (in bytes)share/opto/c2_globals.hpp
InteriorEntryAlignmentOpenJDK6intxppc16define_pd_globalcpu/ppc/c2_globals_ppc.hpp
InteriorEntryAlignmentOpenJDK6intxs3902define_pd_globalcpu/s390/c2_globals_s390.hpp
InteriorEntryAlignmentOpenJDK6intxx864define_pd_globalcpu/x86/c2_globals_x86.hpp
InterpreterProfilePercentageOpenJDK6intxruntime33
range(0, 100)
productNON_TIERED number of method invocations/branches (expressed as % of CompileThreshold) before profiling in the interpretershare/runtime/globals.hpp
JVMCICounterSizeOpenJDK9intxjvmci0
range(0, 1000000)
productReserved size for benchmark countersshare/jvmci/jvmci_globals.hpp
JVMCICountersExcludeCompilerOpenJDK9booljvmcitrueproductExclude JVMCI compiler threads from benchmark countersshare/jvmci/jvmci_globals.hpp
JVMCIEventLogLevelOpenJDK16intxjvmci1
range(0, 4)
productEvent log level for JVMCIshare/jvmci/jvmci_globals.hpp
JVMCIHostThreadsOpenJDK9intxjvmci1
range(0, max_jint))
productForce number of C1 compiler threads. Ignored if UseJVMCICompiler is false.share/jvmci/jvmci_globals.hpp
JVMCILibDumpJNIConfigOpenJDK13ccstrjvmciNULLproductDumps to the given file a description of the classes, fields and methods the JVMCI shared library must provideshare/jvmci/jvmci_globals.hpp
JVMCILibPathOpenJDK13ccstrjvmciNULLproductLD path for loading the JVMCI shared libraryshare/jvmci/jvmci_globals.hpp
JVMCINMethodSizeLimitOpenJDK9intxjvmci(80*K)*wordSize
range(0, max_jint)
productMaximum size of a compiled method.share/jvmci/jvmci_globals.hpp
JVMCIPrintPropertiesOpenJDK9booljvmcifalseproductPrints properties used by the JVMCI compiler and exitsshare/jvmci/jvmci_globals.hpp
JVMCIThreadsOpenJDK9intxjvmci1
range(1, max_jint)
productForce number of JVMCI compiler threads to use. Ignored if UseJVMCICompiler is false.share/jvmci/jvmci_globals.hpp
JVMCITraceLevelOpenJDK9intxjvmci0
range(0, 4)
productTrace level for JVMCIshare/jvmci/jvmci_globals.hpp
JVMCIUseFastLockingOpenJDK9booljvmcitruedevelopUse fast inlined locking codeshare/jvmci/jvmci_globals.hpp
JVMInvokeMethodSlackOpenJDK6size_taixppc8192define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
JVMInvokeMethodSlackOpenJDK6size_tbsdx868192define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
JVMInvokeMethodSlackOpenJDK6size_tbsdzero8192define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
JVMInvokeMethodSlackOpenJDK6uintxlinuxaarch648192define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
JVMInvokeMethodSlackOpenJDK6size_tlinuxarm8192define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
JVMInvokeMethodSlackOpenJDK6size_tlinuxppc8192define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
JVMInvokeMethodSlackOpenJDK6size_tlinuxs3908192define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
JVMInvokeMethodSlackOpenJDK6size_tlinuxx868192define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
JVMInvokeMethodSlackOpenJDK6size_tlinuxzero8192define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
JVMInvokeMethodSlackOpenJDK6size_truntimedevelop_pdStack space (bytes) required for JVM_InvokeMethod to completeshare/runtime/globals.hpp
JVMInvokeMethodSlackOpenJDK6uintxwindowsaarch648192define_pd_globalos_cpu/windows_aarch64/globals_windows_aarch64.hpp
JVMInvokeMethodSlackOpenJDK6size_twindowsx868192define_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
JavaMonitorsInStackTraceOpenJDK6boolruntimetrueproductPrint information about Java monitor locks when the stacks are dumpedshare/runtime/globals.hpp
JavaPriority10_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority1_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority2_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority3_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority4_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority5_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority6_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority7_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority8_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority9_To_OSPriorityOpenJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
LIRTraceExecutionOpenJDK6boolc1falsedevelopadd LIR code which logs the execution of blocksshare/c1/c1_globals.hpp
LIRTracePeepholeOpenJDK6boolc1falsedevelopTrace peephole optimizershare/c1/c1_globals.hpp
LargePageHeapSizeThresholdOpenJDK6size_truntime128*M
range(0, max_uintx)
productUse large pages if maximum heap is at least this bigshare/runtime/globals.hpp
LargePageSizeInBytesOpenJDK6size_truntime0
range(0, max_uintx)
productLarge page size (0 to let VM choose the page size)share/runtime/globals.hpp
LargePagesIndividualAllocationInjectErrorOpenJDK6boolruntimefalsedevelopFail large pages individual allocationshare/runtime/globals.hpp
LiveNodeCountInliningCutoffOpenJDK7intxc240000
range(0, max_juint / 8)
productmax number of live nodes in a methodshare/opto/c2_globals.hpp
LoadExecStackDllInVMThreadOpenJDK7boollinuxtrueproductLoad DLLs with executable-stack attribute in the VM Threados/linux/globals_linux.hpp
LoadLineNumberTablesOpenJDK6boolruntimetruedevelopTell whether the class file parser loads line number tablesshare/runtime/globals.hpp
LoadLocalVariableTablesOpenJDK6boolruntimetruedevelopTell whether the class file parser loads local variable tablesshare/runtime/globals.hpp
LoadLocalVariableTypeTablesOpenJDK6boolruntimetruedevelopTell whether the class file parser loads local variable typetablesshare/runtime/globals.hpp
LogCompilationOpenJDK6boolruntimefalseproductLog compilation activity in detail to LogFileshare/runtime/globals.hpp
LogEventsBufferEntriesOpenJDK6uintxruntime20
range(1, NOT_LP64(1*K) LP64_ONLY(1*M))
productNumber of ring buffer event logsshare/runtime/globals.hpp
LogEventsOpenJDK6boolruntimetrueproductEnable the various ring buffer event logsshare/runtime/globals.hpp
LogFileOpenJDK6ccstrruntimeNULLproductIf LogVMOutput or LogCompilation is on, save VM output to this file [default: ./hotspot_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
LogSweeperOpenJDK6boolruntimefalsenotproductKeep a ring buffer of sweeper activityshare/runtime/globals.hpp
LogTouchedMethodsOpenJDK9boolruntimefalseproductLog methods which have been ever touched in runtimeshare/runtime/globals.hpp
LogVMOutputOpenJDK6boolruntimefalseproductSave VM output to LogFileshare/runtime/globals.hpp
LoopMaxUnrollOpenJDK7intxc216
range(0, max_jint)
productMaximum number of unrolls for main loopshare/opto/c2_globals.hpp
LoopOptsCountOpenJDK6intxc243
range(5, 43)
productSet level of loop optimization for tier 1 compilesshare/opto/c2_globals.hpp
LoopPercentProfileLimitOpenJDK9intxaarch6410define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
LoopPercentProfileLimitOpenJDK9intxc2product_pdUnroll loop bodies with % node count of profile limitshare/opto/c2_globals.hpp
LoopPercentProfileLimitOpenJDK9intxppc10define_pd_globalcpu/ppc/c2_globals_ppc.hpp
LoopPercentProfileLimitOpenJDK9intxs39010define_pd_globalcpu/s390/c2_globals_s390.hpp
LoopPercentProfileLimitOpenJDK9intxx8630define_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
LoopUnrollLimitOpenJDK6intxaarch6460define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
LoopUnrollLimitOpenJDK6intxc2product_pdUnroll loop bodies with node count less than thisshare/opto/c2_globals.hpp
LoopUnrollLimitOpenJDK6intxppc60define_pd_globalcpu/ppc/c2_globals_ppc.hpp
LoopUnrollLimitOpenJDK6intxs39060define_pd_globalcpu/s390/c2_globals_s390.hpp
LoopUnrollLimitOpenJDK6intxx8650define_pd_global// Design center runs on 1.3.1cpu/x86/c2_globals_x86.hpp
LoopUnrollMinOpenJDK6intxc24
range(0, max_jint)
productMinimum number of unroll loop bodies before checking progressof rounds of unroll,optimize,..share/opto/c2_globals.hpp
LoopUnswitchingOpenJDK6boolc2trueproductEnable loop unswitching (a form of invariant test hoisting)share/opto/c2_globals.hpp
MVCLEThresholdOpenJDK9size_ts390+2*(4*K)productThreshold above which page-aligned MVCLE copy/init is used.cpu/s390/globals_s390.hpp
MallocCatchPtrOpenJDK6intxruntime-1developHit breakpoint when mallocing/freeing this pointershare/runtime/globals.hpp
MallocMaxTestWordsOpenJDK8uintxruntime0
range(0, max_uintx)
productIf non-zero, maximum number of words that malloc/realloc can allocate (for testing only)share/runtime/globals.hpp
ManagementServerOpenJDK6boolruntimefalseproductCreate JMX Management Servershare/runtime/globals.hpp
MarkStackSizeMaxOpenJDK6size_tgcNOT_LP64(4*M) LP64_ONLY(512*M)
range(1, (max_jint - 1))
productMaximum size of marking stackshare/gc/shared/gc_globals.hpp
MarkStackSizeOpenJDK6size_tgcNOT_LP64(32*K) LP64_ONLY(4*M)
range(1, (max_jint - 1))
productSize of marking stackshare/gc/shared/gc_globals.hpp
MarkSweepAlwaysCompactCountOpenJDK6uintgc4
range(1, max_juint)
productHow often should we fully compact the heap (ignoring the dead space parameters)share/gc/shared/gc_globals.hpp
MarkSweepDeadRatioOpenJDK6uintxgc5
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
MaxBCEAEstimateLevelOpenJDK6intxruntime5
range(0, max_jint)
productMaximum number of nested calls that are analyzed by BC EAshare/runtime/globals.hpp
MaxBCEAEstimateSizeOpenJDK6intxruntime150
range(0, max_jint)
productMaximum bytecode size of a method to be analyzed by BC EAshare/runtime/globals.hpp
MaxDirectMemorySizeOpenJDK6uint64_truntime0
range(0, max_jlong)
productMaximum total size of NIO direct-buffer allocationsshare/runtime/globals.hpp
MaxElementPrintSizeOpenJDK6intxruntime256notproductmaximum number of elements to printshare/runtime/globals.hpp
MaxExpectedDataSegmentSizeOpenJDK9uintxaix8*GproductMaximum expected Data Segment Size.os/aix/globals_aix.hpp
MaxFDLimitOpenJDK6boolruntimetrueproductBump the number of file descriptors to maximum (Unix only)share/runtime/globals.hpp
MaxForceInlineLevelOpenJDK7intxruntime100
range(0, max_jint)
developmaximum number of nested calls that are forced for inlining (using CompileCommand or marked w/ @ForceInline)share/runtime/globals.hpp
MaxGCMinorPauseMillisOpenJDK6Deprecated in JDK8
Obsoleted in JDK
Expired in JDK
uintxgcmax_uintx
range(0, max_uintx)
productAdaptive size policy maximum GC minor pause time goal in millisecondshare/gc/shared/gc_globals.hpp
MaxGCPauseMillisOpenJDK6uintxgcmax_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
MaxHeapFreeRatioOpenJDK6uintxruntime70
range(0, 100)
productThe maximum percentage of heap free after GC to avoid shrinking. For most GCs this applies to the old generation. In G1 and ParallelGC it applies to the whole heap.share/runtime/globals.hpp
MaxHeapSizeOpenJDK6size_tgcScaleForWordSize(96*M)productMaximum heap size (in bytes)share/gc/shared/gc_globals.hpp
MaxInlineLevelOpenJDK6intxc215
range(0, max_jint)
productmaximum number of nested calls that are inlined by high tier compilershare/opto/c2_globals.hpp
MaxInlineSizeOpenJDK6intxc235
range(0, max_jint)
productThe maximum bytecode size of a method to be inlined by high tier compilershare/opto/c2_globals.hpp
MaxJNILocalCapacityOpenJDK8intxruntime65536
range(min_intx, max_intx)
productMaximum allowable local JNI handle capacity to EnsureLocalCapacity() and PushLocalFrame(), where <= 0 is unlimited, default: 65536share/runtime/globals.hpp
MaxJavaStackTraceDepthOpenJDK6intxruntime1024
range(0, max_jint/2)
productThe maximum number of lines in the stack trace for Java exceptions (0 means all)share/runtime/globals.hpp
MaxJumpTableSizeOpenJDK6intxc265000
range(0, max_intx)
productMaximum number of targets in a generated jump tableshare/opto/c2_globals.hpp
MaxJumpTableSparsenessOpenJDK6intxc25
range(0, max_intx / 4)
productMaximum sparseness for jumptablesshare/opto/c2_globals.hpp
MaxLabelRootDepthOpenJDK6intxc21100
range(100, max_jint)
productMaximum times call Label_Root to prevent stack overflowshare/opto/c2_globals.hpp
MaxLoopPadOpenJDK6intxc2(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
MaxMetaspaceExpansionOpenJDK8size_truntimeScaleForWordSize(4*M)
range(0, max_uintx)
productThe maximum expansion of Metaspace without full GC (in bytes)share/runtime/globals.hpp
MaxMetaspaceFreeRatioOpenJDK8uintxruntime70
range(0, 100)
productThe maximum percentage of Metaspace free after GC to avoid shrinkingshare/runtime/globals.hpp
MaxMetaspaceSizeOpenJDK8size_truntimemax_uintxproductMaximum size of Metaspaces (in bytes)share/runtime/globals.hpp
MaxNewSizeOpenJDK6size_tgcmax_uintx
range(0, max_uintx)
productMaximum new generation size (in bytes), max_uintx means set ergonomicallyshare/gc/shared/gc_globals.hpp
MaxNodeLimitOpenJDK6intxc280000
range(1000, max_jint / 3)
productMaximum number of nodesshare/opto/c2_globals.hpp
MaxRAMFractionOpenJDK6Deprecated in JDK10
Obsoleted in JDK
Expired in JDK
uintxgc4
range(1, max_uintx)
productMaximum fraction (1/n) of real memory used for maximum heap size. Deprecated, use MaxRAMPercentage insteadshare/gc/shared/gc_globals.hpp
MaxRAMPercentageOpenJDK10doublegc25.0
range(0.0, 100.0)
productMaximum percentage of real memory used for maximum heap sizeshare/gc/shared/gc_globals.hpp
MaxRAMOpenJDK6uint64_taarch641ULL*Gdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
MaxRAMOpenJDK6uint64_tarm1ULL*Gdefine_pd_globalcpu/arm/c1_globals_arm.hpp
MaxRAMOpenJDK6uint64_tcompiler1ULL*Gdefine_pd_globalshare/compiler/compiler_globals.hpp
MaxRAMOpenJDK6uint64_tgcproduct_pdReal memory size (in bytes) used to set maximum heap sizeshare/gc/shared/gc_globals.hpp
MaxRAMOpenJDK6uint64_tppc1ULL*Gdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
MaxRAMOpenJDK6uint64_ts390128ULL*Gdefine_pd_globalcpu/s390/c2_globals_s390.hpp
MaxRAMOpenJDK6uint64_tx861ULL*Gdefine_pd_globalcpu/x86/c1_globals_x86.hpp
MaxRecursiveInlineLevelOpenJDK6intxc21
range(0, max_jint)
productmaximum number of nested recursive calls that are inlined by high tier compilershare/opto/c2_globals.hpp
MaxSubklassPrintSizeOpenJDK6intxruntime4notproductmaximum number of subklasses to print when printing klassshare/runtime/globals.hpp
MaxTenuringThresholdOpenJDK6uintxgc15
range(0, markWord::max_age + 1)
productMaximum value for tenuring thresholdshare/gc/shared/gc_globals.hpp
MaxTrivialSizeOpenJDK6intxc26
range(0, max_jint)
productThe maximum bytecode size of a trivial method to be inlined by high tier compilershare/opto/c2_globals.hpp
MaxVectorSizeOpenJDK7intxc264
range(0, max_jint)
productMax vector size in bytes, actual size could be less depending on elements typeshare/opto/c2_globals.hpp
MaxVirtMemFractionOpenJDK7uintxgc2developMaximum fraction (1/n) of virtual memory used for ergonomically determining maximum heap sizeshare/gc/shared/gc_globals.hpp
MemProfilingIntervalOpenJDK6intxruntime500notproductTime between each invocation of the MemProfilershare/runtime/globals.hpp
MemProfilingOpenJDK6boolruntimefalsedevelopWrite memory usage profiling to log fileshare/runtime/globals.hpp
MetadataAllocationFailALotIntervalOpenJDK8uintxgc1000developMetadata allocation failure a lot intervalshare/gc/shared/gc_globals.hpp
MetadataAllocationFailALotOpenJDK8boolgcfalsedevelopFail metadata allocations at intervals controlled by MetadataAllocationFailALotIntervalshare/gc/shared/gc_globals.hpp
MetaspaceGuardAllocationsOpenJDK16boolruntimefalseproductMetapace allocations are guarded.share/runtime/globals.hpp
MetaspaceHandleDeallocationsOpenJDK16boolruntimetrueproductSwitch off Metapace deallocation handling.share/runtime/globals.hpp
MetaspaceReclaimPolicyOpenJDK16ccstrruntimebalancedproductoptions: balanced, aggressive, noneshare/runtime/globals.hpp
MetaspaceSizeOpenJDK8uintxaarch6412*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
MetaspaceSizeOpenJDK8size_tarm12*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
MetaspaceSizeOpenJDK8size_tcompilerScaleForWordSize(4*M)define_pd_globalshare/compiler/compiler_globals.hpp
MetaspaceSizeOpenJDK8size_truntimeproduct_pdInitial threshold (in bytes) at which a garbage collection is done to reduce Metaspace usageshare/runtime/globals.hpp
MetaspaceSizeOpenJDK8size_tppc12*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
MetaspaceSizeOpenJDK8size_ts390ScaleForWordSize(16*M)define_pd_globalcpu/s390/c2_globals_s390.hpp
MetaspaceSizeOpenJDK8size_tx8612*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
MethodFlushingOpenJDK6boolruntimetrueproductReclamation of zombie and not-entrant methodsshare/runtime/globals.hpp
MethodHistogramCutoffOpenJDK6intxruntime100developThe cutoff value for method invocation histogram (+CountCalls)share/runtime/globals.hpp
MinHeapDeltaBytesOpenJDK6size_truntimeScaleForWordSize(128*K)
range(0, max_uintx)
productThe minimum change in heap space due to GC (in bytes)share/runtime/globals.hpp
MinHeapFreeRatioOpenJDK6uintxruntime40
range(0, 100)
productThe minimum percentage of heap free after GC to avoid expansion. For most GCs this applies to the old generation. In G1 and ParallelGC it applies to the whole heap.share/runtime/globals.hpp
MinHeapSizeOpenJDK13size_tgc0productMinimum heap size (in bytes); zero means use ergonomicsshare/gc/shared/gc_globals.hpp
MinInliningThresholdOpenJDK6intxruntime250
range(0, max_jint)
productThe minimum invocation count a method needs to have to be inlinedshare/runtime/globals.hpp
MinJumpTableSizeOpenJDK6intxaarch6410define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
MinJumpTableSizeOpenJDK6intxc2product_pdMinimum number of targets in a generated jump tableshare/opto/c2_globals.hpp
MinJumpTableSizeOpenJDK6intxppc10define_pd_globalcpu/ppc/c2_globals_ppc.hpp
MinJumpTableSizeOpenJDK6intxs39018define_pd_globalcpu/s390/c2_globals_s390.hpp
MinJumpTableSizeOpenJDK6intxx8610define_pd_globalcpu/x86/c2_globals_x86.hpp
MinMetaspaceExpansionOpenJDK8size_truntimeScaleForWordSize(256*K)
range(0, max_uintx)
productThe minimum expansion of Metaspace (in bytes)share/runtime/globals.hpp
MinMetaspaceFreeRatioOpenJDK8uintxruntime40
range(0, 99)
productThe minimum percentage of Metaspace free after GC to avoid expansionshare/runtime/globals.hpp
MinOopMapAllocationOpenJDK6intxruntime8developMinimum number of OopMap entries in an OopMapSetshare/runtime/globals.hpp
MinPassesBeforeFlushOpenJDK9intxruntime10
range(0, max_intx)
productMinimum number of sweeper passes before an nmethod can be flushedshare/runtime/globals.hpp
MinRAMFractionOpenJDK6Deprecated in JDK10
Obsoleted in JDK
Expired in JDK
uintxgc2
range(1, max_uintx)
productMinimum fraction (1/n) of real memory used for maximum heap size on systems with small physical memory size. Deprecated, use MinRAMPercentage insteadshare/gc/shared/gc_globals.hpp
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
MinSurvivorRatioOpenJDK6uintxgc3
range(3, max_uintx)
productMinimum ratio of young generation/survivor space sizeshare/gc/shared/gc_globals.hpp
MinTLABSizeOpenJDK6size_tgc2*K
range(1, max_uintx/2)
productMinimum allowed TLAB size (in bytes)share/gc/shared/gc_globals.hpp
MonitorDeflationMaxOpenJDK16intxruntime1000000
range(1024, max_jint)
productThe maximum number of monitors to deflate, unlink and delete at one time (minimum is 1024).share/runtime/globals.hpp
MonitorUsedDeflationThresholdOpenJDK10intxruntime90
range(0, 100)
productPercentage of used monitors before triggering deflation (0 is off). The check is performed on GuaranteedSafepointInterval or AsyncDeflationInterval.share/runtime/globals.hpp
MonomorphicArrayCheckOpenJDK6boolc2truedevelopUncommon-trap array store checks that require full type checkshare/opto/c2_globals.hpp
MultiArrayExpandLimitOpenJDK6intxc26
range(0, max_jint)
productMaximum number of individual allocations in an inline-expanded multianewarray instructionshare/opto/c2_globals.hpp
NMethodSizeLimitOpenJDK6intxc1(64*K)*wordSize
range(0, max_jint)
developMaximum size of a compiled method.share/c1/c1_globals.hpp
NUMAChunkResizeWeightOpenJDK6uintxruntime20
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for AdaptiveNUMAChunkSizingshare/runtime/globals.hpp
NUMAInterleaveGranularityOpenJDK6size_truntime2*MproductGranularity to use for NUMA interleaving on Windows OSshare/runtime/globals.hpp
NUMAPageScanRateOpenJDK6uintxruntime256
range(0, max_uintx)
productMaximum number of pages to include in the page scan procedureshare/runtime/globals.hpp
NUMASpaceResizeRateOpenJDK6size_truntime1*G
range(0, max_uintx)
productDo not reallocate more than this amount per collectionshare/runtime/globals.hpp
NUMAStatsOpenJDK6boolruntimefalseproductPrint NUMA stats in detailed heap informationshare/runtime/globals.hpp
NativeMemoryTrackingOpenJDK7ccstrruntimeoffproductNative memory tracking optionsshare/runtime/globals.hpp
NearCpoolOpenJDK9boolaarch64trueproductconstant pool is close to instructionscpu/aarch64/globals_aarch64.hpp
NestedInliningSizeRatioOpenJDK6intxc190
range(0, 100)
developPercentage of prev. allowed inline size in recursive inliningshare/c1/c1_globals.hpp
NeverActAsServerClassMachineOpenJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NeverActAsServerClassMachineOpenJDK6boolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
NeverActAsServerClassMachineOpenJDK6boolcompilertruedefine_pd_globalshare/compiler/compiler_globals.hpp
NeverActAsServerClassMachineOpenJDK6boolgcproduct_pdNever act like a server-class machineshare/gc/shared/gc_globals.hpp
NeverActAsServerClassMachineOpenJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NeverActAsServerClassMachineOpenJDK6bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
NeverActAsServerClassMachineOpenJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
NeverTenureOpenJDK6boolgcfalseproductNever tenure objects in eden, may tenure on overflow (ParallelGC only)share/gc/shared/gc_globals.hpp
NewCodeParameterOpenJDK6intxruntime0developTesting Only: Create a dedicated integer parameter before putbackshare/runtime/globals.hpp
NewRatioOpenJDK6uintxgc2
range(0, max_uintx-1)
productRatio of old/new generation sizesshare/gc/shared/gc_globals.hpp
NewSizeThreadIncreaseOpenJDK6intxaarch644*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NewSizeThreadIncreaseOpenJDK6size_tarmScaleForWordSize(4*K)define_pd_globalcpu/arm/c2_globals_arm.hpp
NewSizeThreadIncreaseOpenJDK6size_tcompiler4*Kdefine_pd_globalshare/compiler/compiler_globals.hpp
NewSizeThreadIncreaseOpenJDK6size_tgcproduct_pdAdditional size added to desired new generation size per non-daemon thread (in bytes)share/gc/shared/gc_globals.hpp
NewSizeThreadIncreaseOpenJDK6size_tppc16*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NewSizeThreadIncreaseOpenJDK6size_ts390ScaleForWordSize(4*K)define_pd_globalcpu/s390/c2_globals_s390.hpp
NewSizeThreadIncreaseOpenJDK6size_tx864*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NewSizeOpenJDK6size_tgcScaleForWordSize(1*M)productInitial new generation size (in bytes)share/gc/shared/gc_globals.hpp
NmethodSweepActivityOpenJDK8intxruntime10
range(0, 2000)
productRemoves cold nmethods from code cache if > 0. Higher values result in more aggressive sweepingshare/runtime/globals.hpp
NodeCountInliningCutoffOpenJDK6intxc218000
range(0, max_jint)
developIf parser node generation exceeds limit stop inliningshare/opto/c2_globals.hpp
NodeCountInliningStepOpenJDK6intxc21000
range(0, max_jint)
developTarget size of warm calls inlined between optimization passesshare/opto/c2_globals.hpp
NodeLimitFudgeFactorOpenJDK6intxc22000productFudge Factor for certain optimizationsshare/opto/c2_globals.hpp
NonNMethodCodeHeapSizeOpenJDK9intxaarch645*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NonNMethodCodeHeapSizeOpenJDK9size_tarm5*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxcompiler32*Mdefine_pd_globalshare/compiler/compiler_globals.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxruntimeproduct_pdSize of code heap with non-nmethods (in bytes)share/runtime/globals.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxppc5*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxs3905*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
NonNMethodCodeHeapSizeOpenJDK9uintxx865*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NonProfiledCodeHeapSizeOpenJDK9intxaarch6413*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NonProfiledCodeHeapSizeOpenJDK9size_tarm13*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxcompiler0define_pd_globalshare/compiler/compiler_globals.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxruntimeproduct_pdSize of code heap with non-profiled methods (in bytes)share/runtime/globals.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxppc13*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxs39021*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
NonProfiledCodeHeapSizeOpenJDK9uintxx8613*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NumberOfLoopInstrToAlignOpenJDK6intxc24
range(0, max_jint)
productNumber of first instructions in a loop to alignshare/opto/c2_globals.hpp
OSROnlyBCIOpenJDK6intxruntime-1developOSR only at this bci. Negative values mean exclude that bcishare/runtime/globals.hpp
ObjArrayMarkingStrideOpenJDK6uintxgc2048developNumber of object array elements to push onto the marking stack before pushing a continuation entryshare/gc/shared/gc_globals.hpp
ObjectAlignmentInBytesOpenJDK6intxruntime8
range(8, 256)
productDefault object alignment in bytes, 8 is minimumshare/runtime/globals.hpp
ObjectCountCutOffPercentOpenJDK7doubleruntime0.5
range(0.0, 100.0)
productThe percentage of the used heap that the instances of a class must occupy for the class to generate a trace eventshare/runtime/globals.hpp
OldPLABSizeOpenJDK6size_tgc1024productSize of old gen promotion LAB's (in HeapWords)share/gc/shared/gc_globals.hpp
OldSizeOpenJDK6size_tgcScaleForWordSize(4*M)
range(0, max_uintx)
productInitial tenured generation size (in bytes)share/gc/shared/gc_globals.hpp
OmitStackTraceInFastThrowOpenJDK6boolruntimetrueproductOmit backtraces for some 'hot' exceptions in optimized codeshare/runtime/globals.hpp
OnErrorOpenJDK6ccstrlistruntimeRun user-defined commands on fatal error; see VMError.cpp for examplesproductshare/runtime/globals.hpp
OnOutOfMemoryErrorOpenJDK6ccstrlistruntimeRun user-defined commands on first java.lang.OutOfMemoryErrorproductshare/runtime/globals.hpp
OnStackReplacePercentageOpenJDK6intxaarch64933define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
OnStackReplacePercentageOpenJDK6intxarm140define_pd_globalcpu/arm/c2_globals_arm.hpp
OnStackReplacePercentageOpenJDK6intxcompiler0define_pd_globalshare/compiler/compiler_globals.hpp
OnStackReplacePercentageOpenJDK6intxruntimeproduct_pdNON_TIERED number of method invocations/branches (expressed as % of CompileThreshold) before (re-)compiling OSR codeshare/runtime/globals.hpp
OnStackReplacePercentageOpenJDK6intxppc1400define_pd_globalcpu/ppc/c1_globals_ppc.hpp
OnStackReplacePercentageOpenJDK6intxs390140define_pd_globalcpu/s390/c2_globals_s390.hpp
OnStackReplacePercentageOpenJDK6intxx86933define_pd_globalcpu/x86/c1_globals_x86.hpp
OptimizeExpensiveOpsOpenJDK7boolc2trueproductFind best control for expensive operationsshare/opto/c2_globals.hpp
OptimizeFillOpenJDK6boolc2true PPC64_ONLY(&& false)productconvert fill/copy loops into intrinsicshare/opto/c2_globals.hpp
OptimizeIfOpsOpenJDK6boolc1truedevelopOptimize multiple IfOpsshare/c1/c1_globals.hpp
OptimizePollingPageLocationOpenJDK7boolaixtrueproductOptimize the location of the polling page used for Safepointsos/aix/globals_aix.hpp
OptimizePtrCompareOpenJDK6boolc2trueproductUse escape analysis to optimize pointers compareshare/opto/c2_globals.hpp
OptimizeSinglePrecisionOpenJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
OptimizeSinglePrecisionOpenJDK6boolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
OptimizeSinglePrecisionOpenJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
OptimizeSinglePrecisionOpenJDK6bools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
OptimizeSinglePrecisionOpenJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
OptimizeStringConcatOpenJDK6boolc2trueproductOptimize the construction of Strings by StringBuildershare/opto/c2_globals.hpp
OptimizeUnsafesOpenJDK6boolc1truedevelopOptimize raw unsafe opsshare/c1/c1_globals.hpp
OptoBlockListSizeOpenJDK6intxc28
range(1, max_jint)
developStarting allocation size of Block_List data structuresshare/opto/c2_globals.hpp
OptoBreakpointC2ROpenJDK6boolc2falsenotproductinsert breakpoint at runtime stub entryshare/opto/c2_globals.hpp
OptoBreakpointOSROpenJDK6boolc2falsenotproductinsert breakpoint at osr method entryshare/opto/c2_globals.hpp
OptoBreakpointOpenJDK6boolc2falsedevelopinsert breakpoint at method entryshare/opto/c2_globals.hpp
OptoBundlingOpenJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoBundlingOpenJDK6boolc2product_pdGenerate nops to fill i-cache linesshare/opto/c2_globals.hpp
OptoBundlingOpenJDK6boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoBundlingOpenJDK6bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoBundlingOpenJDK6boolx86falsedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoCoalesceOpenJDK6boolc2truedevelopUse Conservative Copy Coalescing in the Register Allocatorshare/opto/c2_globals.hpp
OptoLoopAlignmentOpenJDK6intxaarch6416define_pd_globalcpu/aarch64/globals_aarch64.hpp
OptoLoopAlignmentOpenJDK6intxarm16define_pd_globalcpu/arm/globals_arm.hpp
OptoLoopAlignmentOpenJDK6intxruntimeproduct_pdAlign inner loops to zero relative to this modulusshare/runtime/globals.hpp
OptoLoopAlignmentOpenJDK6intxppc16define_pd_globalcpu/ppc/globals_ppc.hpp
OptoLoopAlignmentOpenJDK6intxs3902define_pd_globalcpu/s390/globals_s390.hpp
OptoLoopAlignmentOpenJDK6intxx8616define_pd_globalcpu/x86/globals_x86.hpp
OptoLoopAlignmentOpenJDK6intxzero16define_pd_globalcpu/zero/globals_zero.hpp
OptoNoExecuteOpenJDK6boolc2falsenotproductAttempt to parse and compile but do not execute generated codeshare/opto/c2_globals.hpp
OptoNodeListSizeOpenJDK6intxc24
range(1, max_jint)
developStarting allocation size of Node_List data structuresshare/opto/c2_globals.hpp
OptoPeepholeAtOpenJDK6intxc2-1developApply peephole optimizations to this peephole ruleshare/opto/c2_globals.hpp
OptoPeepholeOpenJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoPeepholeOpenJDK6boolc2develop_pdApply peephole optimizations after register allocationshare/opto/c2_globals.hpp
OptoPeepholeOpenJDK6boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoPeepholeOpenJDK6bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoPeepholeOpenJDK6boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoPrologueNopsOpenJDK6intxc20
range(0, 128)
developInsert this many extra nop instructions in the prologue of every nmethodshare/opto/c2_globals.hpp
OptoRegSchedulingOpenJDK9boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoRegSchedulingOpenJDK9boolc2product_pdInstruction Scheduling before register allocation for pressureshare/opto/c2_globals.hpp
OptoRegSchedulingOpenJDK9boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoRegSchedulingOpenJDK9bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoRegSchedulingOpenJDK9boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoRemoveUselessOpenJDK6boolc2truedevelopRemove useless nodes after parsingshare/opto/c2_globals.hpp
OptoSchedulingOpenJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoSchedulingOpenJDK6boolc2product_pdInstruction Scheduling after register allocationshare/opto/c2_globals.hpp
OptoSchedulingOpenJDK6boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoSchedulingOpenJDK6bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoSchedulingOpenJDK6boolx86falsedefine_pd_globalcpu/x86/c2_globals_x86.hpp
PLABWeightOpenJDK6uintxgc75
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for ResizePLABshare/gc/shared/gc_globals.hpp
PSAdaptiveSizePolicyResizeVirtualSpaceAlotOpenJDK6intxgc-1
range(-1, 1)
developResize the virtual spaces of the young or old generationsshare/gc/shared/gc_globals.hpp
PSChunkLargeArraysOpenJDK6boolgctrueproductProcess large arrays in chunksshare/gc/parallel/parallel_globals.hpp
ParGCArrayScanChunkOpenJDK6intgc50
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
ParallelGCBufferWastePctOpenJDK6uintxgc10
range(0, 100)
productWasted fraction of parallel allocation buffershare/gc/shared/gc_globals.hpp
ParallelGCThreadsOpenJDK6uintgc0productNumber of parallel threads parallel gc will useshare/gc/shared/gc_globals.hpp
ParallelOldDeadWoodLimiterMeanOpenJDK6size_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
ParallelOldDeadWoodLimiterStdDevOpenJDK6size_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
ParallelRefProcBalancingEnabledOpenJDK6boolgctrueproductEnable balancing of reference processing queuesshare/gc/shared/gc_globals.hpp
ParallelRefProcEnabledOpenJDK6boolgcfalseproductEnable parallel reference processing whenever possibleshare/gc/shared/gc_globals.hpp
PartialPeelAtUnsignedTestsOpenJDK6boolc2trueproductPartial peel at unsigned tests if no signed test existsshare/opto/c2_globals.hpp
PartialPeelLoopOpenJDK6boolc2trueproductPartial peel (rotate) loopsshare/opto/c2_globals.hpp
PartialPeelNewPhiDeltaOpenJDK6intxc20
range(0, max_jint)
productAdditional phis that can be created by partial peelingshare/opto/c2_globals.hpp
PatchALotOpenJDK6boolc1falsedevelopMarks all fields as having unloaded classesshare/c1/c1_globals.hpp
PauseAtExitOpenJDK6boolruntimefalseproductPause and wait for keypress on exit if a debugger is attachedshare/runtime/globals.hpp
PauseAtStartupFileOpenJDK6ccstrruntimeNULLproductThe file to create and for whose removal to await when pausing at startup. (default: ./vm.paused.<pid>)share/runtime/globals.hpp
PauseAtStartupOpenJDK6boolruntimefalseproductCauses the VM to pause at startup time and wait for the pause file to be removed (default: ./vm.paused.<pid>)share/runtime/globals.hpp
PausePaddingOpenJDK6uintxgc1
range(0, max_juint)
productHow much buffer to keep for pause timeshare/gc/shared/gc_globals.hpp
PerBytecodeRecompilationCutoffOpenJDK6intxruntime200
range(-1, max_intx)
productPer-BCI limit on repeated recompilation (-1=>'Inf')share/runtime/globals.hpp
PerBytecodeTrapLimitOpenJDK6intxruntime4
range(0, max_jint)
productLimit on traps (of one kind) at a particular BCIshare/runtime/globals.hpp
PerMethodRecompilationCutoffOpenJDK6intxruntime400
range(-1, max_intx)
productAfter recompiling N times, stay in the interpreter (-1=>'Inf')share/runtime/globals.hpp
PerMethodSpecTrapLimitOpenJDK8intxruntime5000
range(0, max_jint)
productLimit on speculative traps (of one kind) in a method (includes inlines)share/runtime/globals.hpp
PerMethodTrapLimitOpenJDK6intxruntime100
range(0, max_jint)
productLimit on traps (of one kind) in a method (includes inlines)share/runtime/globals.hpp
PerfAllowAtExitRegistrationOpenJDK6boolruntimefalseproductAllow registration of atexit() methodsshare/runtime/globals.hpp
PerfBypassFileSystemCheckOpenJDK6boolruntimefalseproductBypass Win32 file system criteria checks (Windows Only)share/runtime/globals.hpp
PerfDataMemorySizeOpenJDK6intxruntime32*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
PerfDataSamplingIntervalOpenJDK6intxruntime50
range(PeriodicTask::min_interval, max_jint)
productData sampling interval (in milliseconds)share/runtime/globals.hpp
PerfDataSaveFileOpenJDK6ccstrruntimeNULLproductSave PerfData memory to the specified absolute pathname. The string %p in the file name (if present) will be replaced by pidshare/runtime/globals.hpp
PerfDataSaveToFileOpenJDK6boolruntimefalseproductSave PerfData memory to hsperfdata_<pid> file on exitshare/runtime/globals.hpp
PerfDisableSharedMemOpenJDK6boolruntimefalseproductStore performance data in standard memoryshare/runtime/globals.hpp
PerfMaxStringConstLengthOpenJDK6intxruntime1024
range(32, 32*K)
productMaximum PerfStringConstant string length before truncationshare/runtime/globals.hpp
PinAllInstructionsOpenJDK6boolc1falsedevelopAll instructions are pinnedshare/c1/c1_globals.hpp
PoisonOSREntryOpenJDK6boolc2truedevelopDetect abnormal calls to OSR codeshare/opto/c2_globals.hpp
PostLoopMultiversioningOpenJDK9boolc2falseproductMulti versioned post loops to eliminate range checksshare/opto/c2_globals.hpp
PowerArchitecturePPC64OpenJDK7uintxppc0productSpecify the PowerPC family version in use. If not provided, HotSpot will determine it automatically. Host family version is the maximum value allowed (instructions are not emulated).cpu/ppc/globals_ppc.hpp
PreTouchParallelChunkSizeOpenJDK9size_taix1 * Gdefine_pd_globalos/aix/globals_aix.hpp
PreTouchParallelChunkSizeOpenJDK9size_tbsd1 * Gdefine_pd_globalos/bsd/globals_bsd.hpp
PreTouchParallelChunkSizeOpenJDK9size_tlinux4 * Mdefine_pd_globalos/linux/globals_linux.hpp
PreTouchParallelChunkSizeOpenJDK9size_tgcproduct_pdPer-thread chunk size for parallel memory pre-touch.share/gc/shared/gc_globals.hpp
PreTouchParallelChunkSizeOpenJDK9size_twindows1 * Gdefine_pd_globalos/windows/globals_windows.hpp
PreallocatedOutOfMemoryErrorCountOpenJDK6uintxruntime4developNumber 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
PreferInterpreterNativeStubsOpenJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
PreferInterpreterNativeStubsOpenJDK6boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
PreferInterpreterNativeStubsOpenJDK6boolcompilertruedefine_pd_globalshare/compiler/compiler_globals.hpp
PreferInterpreterNativeStubsOpenJDK6boolruntimeproduct_pdUse always interpreter stubs for native methods invoked via interpretershare/runtime/globals.hpp
PreferInterpreterNativeStubsOpenJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
PreferInterpreterNativeStubsOpenJDK6bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
PreferInterpreterNativeStubsOpenJDK6boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
PreferLAoverADDOpenJDK9bools390falseproductUse LA/LAY instructions over ADD instructions (z/Architecture).cpu/s390/globals_s390.hpp
PrefetchCopyIntervalInBytesOpenJDK6intxgc-1
range(-1, max_jint)
productHow far ahead to prefetch destination area (<= 0 means off)share/gc/shared/gc_globals.hpp
PrefetchFieldsAheadOpenJDK6intxgc-1
range(-1, max_jint)
productHow many fields ahead to prefetch in oop scan (<= 0 means off)share/gc/shared/gc_globals.hpp
PrefetchScanIntervalInBytesOpenJDK6intxgc-1
range(-1, max_jint)
productHow far ahead to prefetch scan area (<= 0 means off)share/gc/shared/gc_globals.hpp
PreserveAllAnnotationsOpenJDK6boolruntimefalseproductPreserve RuntimeInvisibleAnnotations as well as RuntimeVisibleAnnotationsshare/runtime/globals.hpp
PreserveFramePointerOpenJDK8boolaarch64falsedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
PreserveFramePointerOpenJDK8boolarmfalsedefine_pd_globalcpu/arm/globals_arm.hpp
PreserveFramePointerOpenJDK8boolruntimeproduct_pdUse the FP register for holding the frame pointer and not as a general purpose register.share/runtime/globals.hpp
PreserveFramePointerOpenJDK8boolppcfalsedefine_pd_globalcpu/ppc/globals_ppc.hpp
PreserveFramePointerOpenJDK8bools390falsedefine_pd_globalcpu/s390/globals_s390.hpp
PreserveFramePointerOpenJDK8boolx86falsedefine_pd_globalcpu/x86/globals_x86.hpp
PreserveFramePointerOpenJDK8boolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
PretenureSizeThresholdOpenJDK6size_tgc0
range(0, max_uintx)
productMaximum size in bytes of objects allocated in DefNew generation; zero means no maximumshare/gc/shared/gc_globals.hpp
PrintAOTStatisticsOpenJDK9boolruntimefalsenotproductPrint AOT statisticsshare/runtime/globals.hpp
PrintAOTOpenJDK9boolruntimefalseproductPrint used AOT klasses and methodsshare/runtime/globals.hpp
PrintAdapterHandlersOpenJDK6boolruntimefalseproductPrint code generated for i2c/c2i adaptersshare/runtime/globals.hpp
PrintAssemblyOptionsOpenJDK6ccstrruntimeNULLproductPrint options string passed to disassembler.soshare/runtime/globals.hpp
PrintAssemblyOpenJDK6boolruntimefalseproductPrint assembly code (using external disassembler.so)share/runtime/globals.hpp
PrintBailoutsOpenJDK6boolc1falsedevelopPrint bailout and its reasonshare/c1/c1_globals.hpp
PrintBiasedLockingStatisticsOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolruntimefalseproduct(Deprecated) Print statistics of biased locking in JVMshare/runtime/globals.hpp
PrintBlockEliminationOpenJDK6boolc1falsedevelopPrint basic block eliminationshare/c1/c1_globals.hpp
PrintBootstrapOpenJDK9booljvmcitrueproductPrint JVMCI bootstrap progress and summaryshare/jvmci/jvmci_globals.hpp
PrintBytecodeHistogramOpenJDK6boolruntimefalsedevelopPrint histogram of the executed bytecodesshare/runtime/globals.hpp
PrintBytecodePairHistogramOpenJDK6boolruntimefalsedevelopPrint histogram of the executed bytecode pairsshare/runtime/globals.hpp
PrintC1StatisticsOpenJDK6boolc1falsenotproductPrint Compiler1 statisticsshare/c1/c1_globals.hpp
PrintCEEOpenJDK6boolc1falsedevelopPrint Conditional Expression Eliminationshare/c1/c1_globals.hpp
PrintCFG0OpenJDK6boolc1falsenotproductPrint control flow graph after constructionshare/c1/c1_globals.hpp
PrintCFG1OpenJDK6boolc1falsenotproductPrint control flow graph after optimizationsshare/c1/c1_globals.hpp
PrintCFG2OpenJDK6boolc1falsenotproductPrint control flow graph before code generationshare/c1/c1_globals.hpp
PrintCFGBlockFreqOpenJDK6boolc2falsedevelopPrint CFG block freqenciesshare/opto/c2_globals.hpp
PrintCFGToFileOpenJDK6boolc1falsedevelopprint control flow graph to a separate file during compilationshare/c1/c1_globals.hpp
PrintCFGOpenJDK6boolc1falsenotproductPrint control flow graph after each changeshare/c1/c1_globals.hpp
PrintCanonicalizationOpenJDK6boolc1falsedevelopPrint graph node canonicalizationshare/c1/c1_globals.hpp
PrintClassHistogramOpenJDK6boolruntimefalseproductPrint a histogram of class instancesshare/runtime/globals.hpp
PrintCodeCache2OpenJDK6boolruntimefalsedevelopPrint detailed usage information on the code cache when exitingshare/runtime/globals.hpp
PrintCodeCacheExtensionOpenJDK6boolruntimefalsedevelopPrint extension of code cacheshare/runtime/globals.hpp
PrintCodeCacheOnCompilationOpenJDK8boolruntimefalseproductPrint the code cache memory usage each time a method is compiledshare/runtime/globals.hpp
PrintCodeCacheOpenJDK6boolruntimefalseproductPrint the code cache memory usage when exitingshare/runtime/globals.hpp
PrintCodeHeapAnalyticsOpenJDK12boolruntimefalseproductPrint code heap usage statistics on exit and on full conditionshare/runtime/globals.hpp
PrintCommandLineFlagsOpenJDK6boolruntimefalseproductPrint flags specified on command line or set by ergonomicsshare/runtime/globals.hpp
PrintCompilation2OpenJDK6boolruntimefalseproductPrint additional statistics per compilationshare/runtime/globals.hpp
PrintCompilationOpenJDK6boolruntimefalseproductPrint compilationsshare/runtime/globals.hpp
PrintConcurrentLocksOpenJDK6boolruntimefalseproductPrint java.util.concurrent locks in thread dumpshare/runtime/globals.hpp
PrintDebugInfoOpenJDK6boolruntimefalsedevelopPrint debug information for all nmethods when generatedshare/runtime/globals.hpp
PrintDeoptimizationDetailsOpenJDK9boolruntimefalsedevelopPrint more information about deoptimizationshare/runtime/globals.hpp
PrintDependenciesOpenJDK6boolruntimefalsedevelopPrint dependency information for all nmethods when generatedshare/runtime/globals.hpp
PrintDominatorsOpenJDK6boolc2falsedevelopPrint out dominator trees for GVNshare/opto/c2_globals.hpp
PrintEliminateAllocationsOpenJDK6boolc2falsenotproductPrint out when allocations are eliminatedshare/opto/c2_globals.hpp
PrintEliminateLocksOpenJDK6boolc2falsenotproductPrint out when locks are eliminatedshare/opto/c2_globals.hpp
PrintEscapeAnalysisOpenJDK6boolc2falsenotproductPrint the results of escape analysisshare/opto/c2_globals.hpp
PrintExceptionHandlersOpenJDK6boolruntimefalsedevelopPrint exception handler tables for all nmethods when generatedshare/runtime/globals.hpp
PrintExtendedThreadInfoOpenJDK11boolruntimefalseproductPrint more information in thread dumpshare/runtime/globals.hpp
PrintFieldLayoutOpenJDK8boolruntimefalsenotproductPrint field layout for each classshare/runtime/globals.hpp
PrintFlagsFinalOpenJDK6boolruntimefalseproductPrint all VM flags after argument and ergonomic processingshare/runtime/globals.hpp
PrintFlagsInitialOpenJDK6boolruntimefalseproductPrint all VM flags before argument processing and exit VMshare/runtime/globals.hpp
PrintFlagsRangesOpenJDK9boolruntimefalseproductPrint VM flags and their rangesshare/runtime/globals.hpp
PrintFlagsWithCommentsOpenJDK6boolruntimefalsenotproductPrint all VM flags with default values and descriptions and exitshare/runtime/globals.hpp
PrintFrameConverterAssemblyOpenJDK6boolc2falsenotproductPrint New compiler assembly output for frame convertersshare/opto/c2_globals.hpp
PrintGCDetailsOpenJDK6boolgcfalseproductPrint more details at garbage collection. Deprecated, use -Xlog:gc* instead.share/gc/shared/gc_globals.hpp
PrintGCOpenJDK6boolgcfalseproductPrint message at garbage collection. Deprecated, use -Xlog:gc instead.share/gc/shared/gc_globals.hpp
PrintHeapAtSIGBREAKOpenJDK6boolruntimetrueproductPrint heap layout in response to SIGBREAKshare/runtime/globals.hpp
PrintIR0OpenJDK6boolc1falsenotproductPrint full intermediate representation after constructionshare/c1/c1_globals.hpp
PrintIR1OpenJDK6boolc1falsenotproductPrint full intermediate representation after optimizationsshare/c1/c1_globals.hpp
PrintIR2OpenJDK6boolc1falsenotproductPrint full intermediate representation before code generationshare/c1/c1_globals.hpp
PrintIRDuringConstructionOpenJDK6boolc1falsenotproductPrint IR as it's being constructed (helpful for debugging frontend)share/c1/c1_globals.hpp
PrintIRWithLIROpenJDK6boolc1falsenotproductPrint IR instructions with generated LIRshare/c1/c1_globals.hpp
PrintIROpenJDK6boolc1falsenotproductPrint full intermediate representation after each changeshare/c1/c1_globals.hpp
PrintIdealGraphAddressOpenJDK6ccstrc2127.0.0.1notproductIP address to connect to visualizershare/opto/c2_globals.hpp
PrintIdealGraphFileOpenJDK6ccstrc2NULLnotproductFile to dump ideal graph to. If set overrides the use of the networkshare/opto/c2_globals.hpp
PrintIdealGraphLevelOpenJDK6intxc20
range(-1, 4)
notproductLevel of detail of the ideal graph printout. System-wide value, -1=printing is disabled,
0=print nothing except IGVPrintLevel directives,
4=all details printed. Level of detail of printouts can be set on a per-method level as well by using CompileCommand=option.
share/opto/c2_globals.hpp
PrintIdealGraphPortOpenJDK6intxc24444
range(0, SHRT_MAX)
notproductIdeal graph printer to network portshare/opto/c2_globals.hpp
PrintIdealGraphOpenJDK9boolc2falsenotproductPrint ideal graph to XML file / network interface. By default attempts to connect to the visualizer on a socket.share/opto/c2_globals.hpp
PrintIdealIndentThresholdOpenJDK16uintxc20notproductA depth threshold of ideal graph. Indentation is disabled when users attempt to dump an ideal graph deeper than it.share/opto/c2_globals.hpp
PrintIdealNodeCountOpenJDK7boolc2falsenotproductPrint liveness counts of ideal nodesshare/opto/c2_globals.hpp
PrintIdealOpenJDK6boolc2falsenotproductPrint ideal graph before code generationshare/opto/c2_globals.hpp
PrintInitialBlockListOpenJDK6boolc1falsenotproductPrint block list of BlockListBuildershare/c1/c1_globals.hpp
PrintInliningOpenJDK6boolruntimefalseproductPrint inlining optimizationsshare/runtime/globals.hpp
PrintInterpreterOpenJDK6boolruntimefalseproductPrint the generated interpreter codeshare/runtime/globals.hpp
PrintIntrinsicsOpenJDK6boolc2falseproductprints attempted and successful inlining of intrinsicsshare/opto/c2_globals.hpp
PrintLIRWithAssemblyOpenJDK6boolc1falsenotproductShow LIR instruction with generated assemblyshare/c1/c1_globals.hpp
PrintLIROpenJDK6boolc1falsedevelopprint low-level IRshare/c1/c1_globals.hpp
PrintLockStatisticsOpenJDK6boolc2falsenotproductPrint precise statistics on the dynamic lock usageshare/opto/c2_globals.hpp
PrintMethodDataOpenJDK6boolruntimefalseproductPrint the results of +ProfileInterpreter at end of runshare/runtime/globals.hpp
PrintMethodFlushingStatisticsOpenJDK8boolruntimefalseproductprint statistics about method flushingshare/runtime/globals.hpp
PrintMethodFlushingOpenJDK6boolruntimefalsedevelopPrint the nmethods being flushedshare/runtime/globals.hpp
PrintMethodHandleStubsOpenJDK6boolruntimefalseproductPrint generated stub code for method handlesshare/runtime/globals.hpp
PrintMiscellaneousOpenJDK6boolruntimefalsedevelopPrint uncategorized debugging information (requires +Verbose)share/runtime/globals.hpp
PrintNMTStatisticsOpenJDK7boolruntimefalseproductPrint native memory tracking summary data if it is onshare/runtime/globals.hpp
PrintNMethodStatisticsOpenJDK9boolruntimefalsenotproductPrint a summary statistic for the generated nmethodsshare/runtime/globals.hpp
PrintNMethodsOpenJDK6boolruntimefalseproductPrint assembly code for nmethods when generatedshare/runtime/globals.hpp
PrintNativeNMethodsOpenJDK6boolruntimefalseproductPrint assembly code for native nmethods when generatedshare/runtime/globals.hpp
PrintNotLoadedOpenJDK6boolc1falsedevelopPrints where classes are not loaded during code generationshare/c1/c1_globals.hpp
PrintNullCheckEliminationOpenJDK6boolc1falsedevelopPrint null check eliminationshare/c1/c1_globals.hpp
PrintOptimizePtrCompareOpenJDK6boolc2falsenotproductPrint information about optimized pointers compareshare/opto/c2_globals.hpp
PrintOptimizeStringConcatOpenJDK6boolc2falsenotproductPrint information about transformations performed on Stringsshare/opto/c2_globals.hpp
PrintOptoAssemblyOpenJDK6boolc2falseproductPrint New compiler assembly outputshare/opto/c2_globals.hpp
PrintOptoInliningOpenJDK6boolc2falsenotproductPrint compiler2 inlining decisionsshare/opto/c2_globals.hpp
PrintOptoPeepholeOpenJDK6boolc2falsenotproductPrint New compiler peephole replacementsshare/opto/c2_globals.hpp
PrintOptoStatisticsOpenJDK6boolc2falsenotproductPrint New compiler statisticsshare/opto/c2_globals.hpp
PrintOptoOpenJDK6boolc2falsenotproductPrint compiler2 attemptsshare/opto/c2_globals.hpp
PrintParseStatisticsOpenJDK6boolc2falsenotproductPrint nodes, transforms and new values made per bytecode parsedshare/opto/c2_globals.hpp
PrintPhiFunctionsOpenJDK6boolc1falsenotproductPrint phi functions when they are created and simplifiedshare/c1/c1_globals.hpp
PrintPreciseBiasedLockingStatisticsOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolc2falseproduct(Deprecated) Print per-lock-site statistics of biased locking in JVMshare/opto/c2_globals.hpp
PrintPreciseRTMLockingStatisticsOpenJDK8boolc2falseproductPrint per-lock-site statistics of rtm locking in JVMshare/opto/c2_globals.hpp
PrintRelocationsOpenJDK6boolruntimefalsedevelopPrint relocation information for all nmethods when generatedshare/runtime/globals.hpp
PrintRewritesOpenJDK6boolruntimefalsenotproductPrint methods that are being rewrittenshare/runtime/globals.hpp
PrintSharedArchiveAndExitOpenJDK8boolruntimefalseproductPrint shared archive file contentsshare/runtime/globals.hpp
PrintSharedDictionaryOpenJDK8boolruntimefalseproductIf PrintSharedArchiveAndExit is true, also print the shared dictionaryshare/runtime/globals.hpp
PrintSignatureHandlersOpenJDK6boolruntimefalseproductPrint code generated for native method signature handlersshare/runtime/globals.hpp
PrintSimpleStubsOpenJDK6boolc1falsenotproductPrint SimpleStubsshare/c1/c1_globals.hpp
PrintStringTableStatisticsOpenJDK6boolruntimefalseproductprint statistics about the StringTable and SymbolTableshare/runtime/globals.hpp
PrintStubCodeOpenJDK6boolruntimefalseproductPrint generated stub codeshare/runtime/globals.hpp
PrintSymbolTableSizeHistogramOpenJDK6boolruntimefalsenotproductprint histogram of the symbol tableshare/runtime/globals.hpp
PrintSystemDictionaryAtExitOpenJDK6boolruntimefalsenotproductPrint the system dictionary at exitshare/runtime/globals.hpp
PrintTieredEventsOpenJDK6boolruntimefalseproductPrint tiered events notificationsshare/runtime/globals.hpp
PrintTouchedMethodsAtExitOpenJDK9boolruntimefalseproductPrint all methods that have been ever touched in runtimeshare/runtime/globals.hpp
PrintUnsafeOptimizationOpenJDK6boolc1falsedevelopPrint optimization of raw unsafe opsshare/c1/c1_globals.hpp
PrintVMOptionsOpenJDK6boolruntimefalseproductPrint flags that appeared on the command lineshare/runtime/globals.hpp
PrintValueNumberingOpenJDK6boolc1falsedevelopPrint Value Numberingshare/c1/c1_globals.hpp
PrintVtableStatsOpenJDK6boolruntimefalsenotproductprint vtables stats at end of runshare/runtime/globals.hpp
PrintWarningsOpenJDK6boolruntimetrueproductPrint JVM warnings to output streamshare/runtime/globals.hpp
ProcessDistributionStrideOpenJDK6uintxruntime4
range(0, max_juint)
productStride through processors when distributing processesshare/runtime/globals.hpp
ProfileDynamicTypesOpenJDK6boolc2trueproductdo extra type profiling and use it more aggressivelyshare/opto/c2_globals.hpp
ProfileInterpreterOpenJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfileInterpreterOpenJDK6boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
ProfileInterpreterOpenJDK6boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
ProfileInterpreterOpenJDK6boolruntimeproduct_pdProfile at the bytecode level during interpretationshare/runtime/globals.hpp
ProfileInterpreterOpenJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfileInterpreterOpenJDK6bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
ProfileInterpreterOpenJDK6boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
ProfileMaturityPercentageOpenJDK6intxruntime20
range(0, 100)
productnumber of method invocations/branches (expressed as % of CompileThreshold) before using the method's profileshare/runtime/globals.hpp
ProfileTrapsOpenJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfileTrapsOpenJDK6boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
ProfileTrapsOpenJDK6boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
ProfileTrapsOpenJDK6boolruntimedevelop_pdProfile deoptimization traps at the bytecode levelshare/runtime/globals.hpp
ProfileTrapsOpenJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfileTrapsOpenJDK6bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
ProfileTrapsOpenJDK6boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
ProfiledCodeHeapSizeOpenJDK9intxaarch6414*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfiledCodeHeapSizeOpenJDK9size_tarm14*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
ProfiledCodeHeapSizeOpenJDK9uintxcompiler0define_pd_globalshare/compiler/compiler_globals.hpp
ProfiledCodeHeapSizeOpenJDK9uintxruntimeproduct_pdSize of code heap with profiled methods (in bytes)share/runtime/globals.hpp
ProfiledCodeHeapSizeOpenJDK9uintxppc14*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfiledCodeHeapSizeOpenJDK9uintxs39022*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
ProfiledCodeHeapSizeOpenJDK9uintxx8614*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
PromotedPaddingOpenJDK6uintxgc3
range(0, max_juint)
productHow much buffer to keep for promotion failureshare/gc/shared/gc_globals.hpp
PromotionFailureALotCountOpenJDK6uintxgc1000developNumber of promotion failures occurring at PLAB promotion attempts at young collectorsshare/gc/shared/gc_globals.hpp
PromotionFailureALotIntervalOpenJDK6uintxgc5developTotal collections between promotion failures a lotshare/gc/shared/gc_globals.hpp
PromotionFailureALotOpenJDK6boolgcfalsenotproductUse promotion failure handling on every youngest generation collectionshare/gc/shared/gc_globals.hpp
ProtectionDomainVerificationOpenJDK6boolruntimetruedevelopVerify protection domain before resolution in system dictionaryshare/runtime/globals.hpp
QueuedAllocationWarningCountOpenJDK6uintxgc0
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
RTMAbortRatioOpenJDK8intppc50
range(0, 100) /* natural range */
productLock abort ratio at which to stop use RTM lock elidingcpu/ppc/globals_ppc.hpp
RTMAbortRatioOpenJDK8intx8650
range(0, 100) /* natural range */
productLock abort ratio at which to stop use RTM lock elidingcpu/x86/globals_x86.hpp
RTMAbortThresholdOpenJDK8intppc1000
range(0, max_jint)
productCalculate abort ratio after this number of abortscpu/ppc/globals_ppc.hpp
RTMAbortThresholdOpenJDK8intx861000
range(0, max_jint)
productCalculate abort ratio after this number of abortscpu/x86/globals_x86.hpp
RTMLockingCalculationDelayOpenJDK8intxppc0productNumber of milliseconds to wait before start calculating aborts for RTM lockingcpu/ppc/globals_ppc.hpp
RTMLockingCalculationDelayOpenJDK8intxx860productNumber of milliseconds to wait before start calculating aborts for RTM lockingcpu/x86/globals_x86.hpp
RTMLockingThresholdOpenJDK8intppc10000
range(0, max_jint)
productLock count at which to do RTM lock eliding without abort ratio calculationcpu/ppc/globals_ppc.hpp
RTMLockingThresholdOpenJDK8intx8610000
range(0, max_jint)
productLock count at which to do RTM lock eliding without abort ratio calculationcpu/x86/globals_x86.hpp
RTMRetryCountOpenJDK8intppc5
range(0, max_jint)
productNumber of RTM retries on lock abort or busycpu/ppc/globals_ppc.hpp
RTMRetryCountOpenJDK8intx865
range(0, max_jint)
productNumber of RTM retries on lock abort or busycpu/x86/globals_x86.hpp
RTMSpinLoopCountOpenJDK8intppc100
range(0, 32767) /* immediate operand limit on ppc */
productSpin count for lock to become free before RTM retrycpu/ppc/globals_ppc.hpp
RTMSpinLoopCountOpenJDK8intx86100
range(0, max_jint)
productSpin count for lock to become free before RTM retrycpu/x86/globals_x86.hpp
RTMTotalCountIncrRateOpenJDK8intppc64
range(1, 32767) /* immediate operand limit on ppc */
productIncrement total RTM attempted lock count once every n timescpu/ppc/globals_ppc.hpp
RTMTotalCountIncrRateOpenJDK8intx8664
range(1, max_jint)
productIncrement total RTM attempted lock count once every n timescpu/x86/globals_x86.hpp
RangeCheckEliminationOpenJDK6boolruntimetrueproductEliminate range checksshare/runtime/globals.hpp
ReassociateInvariantsOpenJDK6boolc2trueproductEnable reassociation of expressions with loop invariants.share/opto/c2_globals.hpp
ReduceBulkZeroingOpenJDK6boolc2trueproductWhen bulk-initializing, try to avoid needless zeroingshare/opto/c2_globals.hpp
ReduceFieldZeroingOpenJDK6boolc2trueproductWhen initializing fields, try to avoid needless zeroingshare/opto/c2_globals.hpp
ReduceInitialCardMarksOpenJDK6boolc2trueproductWhen initializing fields, try to avoid needless card marksshare/opto/c2_globals.hpp
ReduceNumberOfCompilerThreadsOpenJDK11boolruntimetrueproductReduce the number of parallel compiler threads when they are not usedshare/runtime/globals.hpp
ReduceSignalUsageOpenJDK6boolruntimefalseproductReduce the use of OS signals in Java and/or the VMshare/runtime/globals.hpp
RefDiscoveryPolicyOpenJDK6intxgc0
range(ReferenceProcessor::DiscoveryPolicyMin,
productSelect type of reference discovery policy: reference-based(0) or referent-based(1)share/gc/shared/gc_globals.hpp
ReferencesPerThreadOpenJDK11size_tgc1000productErgonomically start one thread for this amount of references for reference processing if ParallelRefProcEnabled is true. Specify 0 to disable and use all threads.share/gc/shared/gc_globals.hpp
RegisterCostAreaRatioOpenJDK6intxaarch6416000define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
RegisterCostAreaRatioOpenJDK6intxc2develop_pdSpill selection in reg allocator: scale area by (X/64K) before adding costshare/opto/c2_globals.hpp
RegisterCostAreaRatioOpenJDK6intxppc16000define_pd_globalcpu/ppc/c2_globals_ppc.hpp
RegisterCostAreaRatioOpenJDK6intxs39012000define_pd_globalcpu/s390/c2_globals_s390.hpp
RegisterCostAreaRatioOpenJDK6intxx8616000define_pd_globalcpu/x86/c2_globals_x86.hpp
RegisterFinalizersAtInitOpenJDK6boolruntimetrueproductRegister finalizable objects at end of Object.<init> or after allocationshare/runtime/globals.hpp
RegisterReferencesOpenJDK6boolruntimetruedevelopTell whether the VM should register soft/weak/final/phantom referencesshare/runtime/globals.hpp
RelaxAccessControlCheckOpenJDK6boolruntimefalseproductRelax the access control checks in the verifiershare/runtime/globals.hpp
RenumberLiveNodesOpenJDK8boolc2truedevelopRenumber live nodesshare/opto/c2_globals.hpp
ReoptimizeCallSequencesOpenJDK7boolppctrueproductReoptimize code-sequences of calls at runtime.cpu/ppc/globals_ppc.hpp
ReoptimizeCallSequencesOpenJDK7bools390trueproductReoptimize code-sequences of calls at runtime.cpu/s390/globals_s390.hpp
RepeatCompilationOpenJDK16intxruntime0
range(0, max_jint)
productRepeat compilation without installing code (number of times)share/runtime/globals.hpp
ReplayCompilesOpenJDK8boolruntimefalsedevelopEnable replay of compilations from ReplayDataFileshare/runtime/globals.hpp
ReplayDataFileOpenJDK8ccstrruntimeNULLproductFile containing compilation replay information[default: ./replay_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
ReplayIgnoreInitErrorsOpenJDK8boolruntimefalsedevelopIgnore exceptions thrown during initialization for replayshare/runtime/globals.hpp
ReplaySuppressInitializersOpenJDK8intxruntime2
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
RequireSharedSpacesOpenJDK6boolruntimefalseproductRequire shared spaces for metadatashare/runtime/globals.hpp
ReservedCodeCacheSizeOpenJDK6intxaarch6432*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ReservedCodeCacheSizeOpenJDK6size_tarm32*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
ReservedCodeCacheSizeOpenJDK6uintxcompiler32*Mdefine_pd_globalshare/compiler/compiler_globals.hpp
ReservedCodeCacheSizeOpenJDK6uintxruntimeproduct_pdReserved code cache size (in bytes) - maximum code cache sizeshare/runtime/globals.hpp
ReservedCodeCacheSizeOpenJDK6uintxppc32*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ReservedCodeCacheSizeOpenJDK6uintxs39048*Mdefine_pd_globalcpu/s390/c2_globals_s390.hpp
ReservedCodeCacheSizeOpenJDK6uintxx8632*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
ResizePLABOpenJDK6boolgctrueproductDynamically resize (survivor space) promotion LAB'sshare/gc/shared/gc_globals.hpp
ResizeTLABOpenJDK6boolgctrueproductDynamically resize TLAB size for threadsshare/gc/shared/gc_globals.hpp
RestoreMXCSROnJNICallsOpenJDK6boolruntimefalseproductRestore MXCSR when returning from JNI callsshare/runtime/globals.hpp
RestrictContendedOpenJDK8boolruntimetrueproductRestrict @Contended to trusted classesshare/runtime/globals.hpp
RestrictReservedStackOpenJDK9boolruntimetrueproductRestrict @ReservedStackAccess to trusted classesshare/runtime/globals.hpp
RewriteBytecodesOpenJDK6boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
RewriteBytecodesOpenJDK6boolarmtruedefine_pd_globalcpu/arm/globals_arm.hpp
RewriteBytecodesOpenJDK6boolruntimeproduct_pdAllow rewriting of bytecodes (bytecodes are not immutable)share/runtime/globals.hpp
RewriteBytecodesOpenJDK6boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
RewriteBytecodesOpenJDK6bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
RewriteBytecodesOpenJDK6boolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
RewriteBytecodesOpenJDK6boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
RewriteFrequentPairsOpenJDK6boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
RewriteFrequentPairsOpenJDK6boolarmtruedefine_pd_globalcpu/arm/globals_arm.hpp
RewriteFrequentPairsOpenJDK6boolruntimeproduct_pdRewrite frequently used bytecode pairs into a single bytecodeshare/runtime/globals.hpp
RewriteFrequentPairsOpenJDK6boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
RewriteFrequentPairsOpenJDK6bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
RewriteFrequentPairsOpenJDK6boolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
RewriteFrequentPairsOpenJDK6boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
SafepointALotOpenJDK6boolruntimefalseproductGenerate a lot of safepoints. This works with GuaranteedSafepointIntervalshare/runtime/globals.hpp
SafepointTimeoutDelayOpenJDK6intxruntime10000
range(0, max_intx LP64_ONLY(/MICROUNITS))
productDelay in milliseconds for option SafepointTimeoutshare/runtime/globals.hpp
SafepointTimeoutOpenJDK6boolruntimefalseproductTime out and warn or fail after SafepointTimeoutDelay milliseconds if failed to reach safepointshare/runtime/globals.hpp
ScavengeALotIntervalOpenJDK6intxgc1notproductInterval between which scavenge will occur with +ScavengeALotshare/gc/shared/gc_globals.hpp
ScavengeALotOpenJDK6boolgcfalsenotproductForce scavenge at every Nth exit from the runtime system (N=ScavengeALotInterval)share/gc/shared/gc_globals.hpp
ScavengeBeforeFullGCOpenJDK6boolgctrueproductScavenge youngest generation before each full GC.share/gc/shared/gc_globals.hpp
ScavengeRootsInCodeOpenJDK6intxruntime2
range(0, 2)
product0: do not allow scavengable oops in the code cache;
1: allow scavenging from the code cache;
2: emit as many constants as the compiler can see
share/runtime/globals.hpp
SegmentedCodeCacheOpenJDK9boolruntimefalseproductUse a segmented code cacheshare/runtime/globals.hpp
SelectivePhiFunctionsOpenJDK6boolc1truedevelopcreate phi functions at loop headers only when necessaryshare/c1/c1_globals.hpp
SelfDestructTimerOpenJDK6intxruntime0
range(0, max_intx)
productWill cause VM to terminate after a given time (in minutes) (0 means off)share/runtime/globals.hpp
SerializeVMOutputOpenJDK6boolruntimetrueproductUse a mutex to serialize output to tty and LogFileshare/runtime/globals.hpp
SharedArchiveConfigFileOpenJDK10ccstrruntimeNULLproductData to add to the CDS archive fileshare/runtime/globals.hpp
SharedArchiveFileOpenJDK8ccstrruntimeNULLproductOverride the default location of the CDS archive fileshare/runtime/globals.hpp
SharedBaseAddressOpenJDK8size_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
SharedClassListFileOpenJDK8ccstrruntimeNULLproductOverride the default CDS class listshare/runtime/globals.hpp
SharedSymbolTableBucketSizeOpenJDK9uintxruntime4
range(2, 246)
productAverage number of symbols per bucket in shared tableshare/runtime/globals.hpp
ShenandoahAdaptiveDecayFactorOpenJDK16doublegc0.5
range(0,1.0)
productThe decay factor (alpha) used for values in the weighted moving average of cycle time and allocation rate. Larger values give more weight to recent values.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAdaptiveInitialConfidenceOpenJDK16doublegc1.8productThe number of standard deviations used to determine an initial margin of error for the average cycle time and average allocation rate. Increasing this value will cause the heuristic to initiate more concurrent cycles.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAdaptiveInitialSpikeThresholdOpenJDK16doublegc1.8productIf the most recently sampled allocation rate is more than this many standard deviations away from the moving average, then a cycle is initiated. This value controls how sensitive the heuristic is to allocation spikes. Decreasing this number increases the sensitivity.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAdaptiveSampleFrequencyHzOpenJDK16uintxgc10productThe number of times per second to update the allocation rate moving average.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAdaptiveSampleSizeSecondsOpenJDK16uintxgc10productThe size of the moving window over which the average allocation rate is maintained. The total number of samples is the product of this number and the sample frequency.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocFailureALotOpenJDK11boolgcfalseproductTesting: make lots of artificial allocation failures.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocSpikeFactorOpenJDK11uintxgc5
range(0,100)
productHow much of heap should some heuristics reserve for absorbing the allocation spikes. Larger value wastes more memory in non-emergency cases, but provides more safety in emergency cases. In percents of (soft) max heap size.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAllocationThresholdOpenJDK11uintxgc0
range(0,100)
productHow many new allocations should happen since the last GC cycle before some heuristics trigger the collection. In percents of (soft) max heap size. Set to zero to effectively disable.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahAlwaysClearSoftRefsOpenJDK11boolgcfalseproductUnconditionally 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
ShenandoahCASBarrierOpenJDK11boolgctrueproductTurn on/off CAS barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahCloneBarrierOpenJDK11boolgctrueproductTurn on/off clone barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahControlIntervalAdjustPeriodOpenJDK11uintxgc1000productThe 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
ShenandoahControlIntervalMaxOpenJDK11uintxgc10productThe 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
ShenandoahControlIntervalMinOpenJDK11uintxgc1productThe 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)
productHow much of the heap needs to be free after recovery cycles, either Degenerated or Full GC to be claimed successful. If this much space is not available, next recovery step would be triggered.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahDegeneratedGCOpenJDK11boolgctrueproductEnable 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
ShenandoahElasticTLABOpenJDK11boolgctrueproductUse Elastic TLABs with Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahEvacReserveOverflowOpenJDK11boolgctrueproductAllow 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)
productHow much of heap to reserve for evacuations. Larger values make GC evacuate more live objects on every cycle, while leaving less headroom for application to allocate in. In percents of total heap size.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahEvacWasteOpenJDK11doublegc1.2
range(1.0,100.0)
productHow much waste evacuations produce within the reserved space. Larger values make evacuations more resilient against evacuation conflicts, at expense of evacuating less on each GC cycle.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahFullGCThresholdOpenJDK11uintxgc3productHow 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)
productHow much garbage a region has to contain before it would be taken for collection. This a guideline only, as GC heuristics may select the region for collection even if it has little garbage. This also affects how much internal fragmentation the collector accepts. In percents of heap region size.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahGuaranteedGCIntervalOpenJDK11uintxgc5*60*1000productMany heuristics would guarantee a concurrent GC cycle at least with this interval. This is useful when large idle intervals are present, where GC can run without stealing time from active application. Time is in milliseconds. Setting this to 0 disables the feature.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahHumongousMovesOpenJDK11boolgctrueproductAllow 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)
productHumongous objects are allocated in separate regions. This setting defines how large the object should be to be deemed humongous. Value is in percents of heap region size. This also caps the maximum TLAB size.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahImmediateThresholdOpenJDK11uintxgc90
range(0,100)
productThe cycle may shortcut when enough garbage can be reclaimed from the immediate garbage (completely garbage regions). In percents of total garbage found. Setting this threshold to 100 effectively disables the shortcut.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahImplicitGCInvokesConcurrentOpenJDK11boolgcfalseproductShould 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)
productHow much heap should be free before some heuristics trigger the initial (learning) cycles. Affects cycle frequency on startup and after drastic state changes, e.g. after degenerated/full GC cycles. In percents of (soft) max heap size.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahLearningStepsOpenJDK11uintxgc5
range(0,100)
productThe number of cycles some heuristics take to collect in order to learn application and GC performance.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahLoadRefBarrierOpenJDK11boolgctrueproductTurn on/off load-reference barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahLoopOptsAfterExpansionOpenJDK11boolgctrueproductAttempt more loop opts after barrier expansion.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMarkLoopStrideOpenJDK11uintxgc1000productHow 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)
productHow many objects to prefetch ahead when traversing mark bitmaps.Set to 0 to disable prefetching.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMaxRegionSizeOpenJDK11size_tgc32 * MproductWith automatic region sizing, the regions would be at most this large.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMinFreeThresholdOpenJDK11uintxgc10
range(0,100)
productHow much heap should be free before most heuristics trigger the collection, even without other triggers. Provides the safety margin for many heuristics. In percents of (soft) max heap size.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahMinRegionSizeOpenJDK11size_tgc256 * KproductWith automatic region sizing, the regions would be at least this large.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahOOMDuringEvacALotOpenJDK11boolgcfalseproductTesting: simulate OOM during evacuation.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingCycleSlackOpenJDK11uintxgc10
range(0, 100)
productHow much of free space to take as non-taxable allocations the GC cycle. Larger value makes the pacing milder at the beginning of the GC cycle. Lower value makes the pacing less uniform during the cycle. In percent of free space.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingIdleSlackOpenJDK11uintxgc2
range(0, 100)
productHow much of heap counted as non-taxable allocations during idle phases. Larger value makes the pacing milder when collector is idle, requiring less rendezvous with control thread. Lower value makes the pacing control less responsive to out-of-cycle allocs. In percent of total heap size.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingMaxDelayOpenJDK11uintxgc10productMax 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)
productAdditional pacing tax surcharge to help unclutter the heap. Larger values makes the pacing more aggressive. Lower values risk GC cycles finish with less memory than were available at the beginning of it.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahPacingOpenJDK11boolgctrueproductPace application allocations to give GC chance to start and complete before allocation failure is reached.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahParallelRegionStrideOpenJDK11uintxgc1024productHow many regions to process at once during parallel region iteration. Affects heaps with lots of regions.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRegionSamplingRateOpenJDK11intgc40productSampling 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
ShenandoahRegionSamplingOpenJDK11boolgcfalseproductProvide heap region sampling data via jvmstat.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahRegionSizeOpenJDK11size_tgc0productStatic heap region size. Set zero to enable automatic sizing.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBarrierOpenJDK11boolgctrueproductTurn on/off SATB barriers in Shenandoahshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSATBBufferFlushIntervalOpenJDK12uintxgc100productForcefully 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)
productNumber of entries in an SATB log buffer.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSelfFixingOpenJDK11boolgctrueproductFix references with load reference barrier. Disabling this might degrade performance.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahStoreValEnqueueBarrierOpenJDK12boolgcfalseproductTurn on/off enqueuing of oops for storeval barriersshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahSuspendibleWorkersOpenJDK11boolgcfalseproductSuspend concurrent GC worker threads at safepointsshare/gc/shenandoah/shenandoah_globals.hpp
ShenandoahTargetNumRegionsOpenJDK11size_tgc2048productWith automatic region sizing, this is the approximate number of regions that would be used, within min/max region size limits.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahUncommitDelayOpenJDK11uintxgc5*60*1000productUncommit memory for regions that were not used for more than this time. First use after that would incur allocation stalls. Actively used regions would never be uncommitted, because they do not become unused longer than this delay. Time is in milliseconds. Setting this delay to 0 effectively uncommits regions almost immediately after they become unused.share/gc/shenandoah/shenandoah_globals.hpp
ShenandoahUncommitOpenJDK11boolgctrueproductAllow 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
ShenandoahUnloadClassesFrequencyOpenJDK11uintxgc1productUnload 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
ShenandoahVerifyLevelOpenJDK11intxgc4productVerification 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
ShenandoahVerifyOpenJDK11boolgcfalseproductEnable 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
ShowCodeDetailsInExceptionMessagesOpenJDK14boolruntimetrueproductShow exception messages from RuntimeExceptions that contain snippets of the failing code. Disable this to improve privacy.share/runtime/globals.hpp
ShowHiddenFramesOpenJDK7boolruntimefalseproductshow method handle implementation frames (usually hidden)share/runtime/globals.hpp
ShowMessageBoxOnErrorOpenJDK6boolruntimefalseproductKeep process alive on VM fatal errorshare/runtime/globals.hpp
ShowRegistersOnAssertOpenJDK11boolruntimetrueproductOn internal errors, include registers in error report.share/runtime/globals.hpp
ShrinkHeapInStepsOpenJDK9boolruntimetrueproductWhen 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
SoftMatchFailureOpenJDK6boolc2trueInProductdevelopIf the DFA fails to match a node, print a message and bail outshare/opto/c2_globals.hpp
SoftMaxHeapSizeOpenJDK13size_tgc0productSoft limit for maximum heap size (in bytes)share/gc/shared/gc_globals.hpp
SoftRefLRUPolicyMSPerMBOpenJDK6intxruntime1000
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
SpecTrapLimitExtraEntriesOpenJDK8intxruntime3productExtra method data trap entries for speculationshare/runtime/globals.hpp
SpecialArraysEqualsOpenJDK6boolc2trueproductspecial version of Arrays.equals(char[],char[])share/opto/c2_globals.hpp
SpecialEncodeISOArrayOpenJDK8boolc2trueproductspecial version of ISO_8859_1$Encoder.encodeISOArrayshare/opto/c2_globals.hpp
SpecialStringCompareToOpenJDK6boolc2trueproductspecial version of string compareToshare/opto/c2_globals.hpp
SpecialStringEqualsOpenJDK6boolc2trueproductspecial version of string equalsshare/opto/c2_globals.hpp
SpecialStringIndexOfOpenJDK6boolc2trueproductspecial version of string indexOfshare/opto/c2_globals.hpp
SplitIfBlocksOpenJDK6boolc2trueproductClone compares and control flow through merge points to fold some branchesshare/opto/c2_globals.hpp
StackPrintLimitOpenJDK6intxruntime100developnumber of stack frames to print in VM-level stack dumpshare/runtime/globals.hpp
StackRedPagesOpenJDK6intxaarch64DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackRedPagesOpenJDK6intxarmDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackRedPagesOpenJDK6intxruntimeproduct_pdNumber of red zone (unrecoverable overflows) pages of size
4KB. If pages are bigger red zone is aligned up.
share/runtime/globals.hpp
StackRedPagesOpenJDK6intxppcDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackRedPagesOpenJDK6intxs390DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackRedPagesOpenJDK6intxx86DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackRedPagesOpenJDK6intxzeroDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackReservedPagesOpenJDK9intxaarch64DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackReservedPagesOpenJDK9intxarmDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackReservedPagesOpenJDK9intxruntimeproduct_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
StackReservedPagesOpenJDK9intxppcDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackReservedPagesOpenJDK9intxs390DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackReservedPagesOpenJDK9intxx86DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackReservedPagesOpenJDK9intxzeroDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackShadowPagesOpenJDK6intxaarch64DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackShadowPagesOpenJDK6intxarmDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackShadowPagesOpenJDK6intxruntimeproduct_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
StackShadowPagesOpenJDK6intxppcDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackShadowPagesOpenJDK6intxs390DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackShadowPagesOpenJDK6intxx86DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackShadowPagesOpenJDK6intxzeroDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackTraceInThrowableOpenJDK6boolruntimetrueproductCollect backtrace in throwable when exception happensshare/runtime/globals.hpp
StackYellowPagesOpenJDK6intxaarch64DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackYellowPagesOpenJDK6intxarmDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackYellowPagesOpenJDK6intxruntimeproduct_pdNumber of yellow zone (recoverable overflows) pages of size
4KB. If pages are bigger yellow zone is aligned up.
share/runtime/globals.hpp
StackYellowPagesOpenJDK6intxppcDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackYellowPagesOpenJDK6intxs390DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackYellowPagesOpenJDK6intxx86DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackYellowPagesOpenJDK6intxzeroDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StartAggressiveSweepingAtOpenJDK9uintxruntime10
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
StartAttachListenerOpenJDK6boolruntimefalseproductAlways start Attach Listener at VM startupshare/runtime/globals.hpp
StartFlightRecordingOpenJDK11ccstrruntimeNULLproductStart flight recording with optionsshare/runtime/globals.hpp
StopInterpreterAtOpenJDK6intxruntime0developStop interpreter execution at specified bytecode numbershare/runtime/globals.hpp
StressArrayCopyMacroNodeOpenJDK9boolc2falsedevelopPerform ArrayCopy load/store replacement during IGVN onlyshare/opto/c2_globals.hpp
StressCodeAgingOpenJDK9boolruntimefalseproductStart with counters compiled inshare/runtime/globals.hpp
StressCodeBuffersOpenJDK6boolruntimefalsedevelopExercise code buffer expansion and other rare state changesshare/runtime/globals.hpp
StressCompiledExceptionHandlersOpenJDK7boolruntimefalsedevelopExercise compiled exception handlersshare/runtime/globals.hpp
StressGCMOpenJDK8boolc2falseproductRandomize instruction scheduling in GCMshare/opto/c2_globals.hpp
StressIGVNOpenJDK16boolc2falseproductRandomize worklist traversal in IGVNshare/opto/c2_globals.hpp
StressLCMOpenJDK8boolc2falseproductRandomize instruction scheduling in LCMshare/opto/c2_globals.hpp
StressLdcRewriteOpenJDK6boolruntimefalseproductForce ldc -> ldc_w rewrite during RedefineClassesshare/runtime/globals.hpp
StressLinearScanOpenJDK6boolc1falsedevelopscramble block order used by LinearScan (stress test)share/c1/c1_globals.hpp
StressLongCountedLoopOpenJDK16uintxc20
range(0, max_juint)
developif > 0, convert int counted loops to long counted loopsto stress handling of long counted loops: run inner loopfor at most jint_max / StressLongCountedLoopshare/opto/c2_globals.hpp
StressLoopInvariantCodeMotionOpenJDK8boolc1falsedevelopstress loop invariant code motionshare/c1/c1_globals.hpp
StressMethodHandleLinkerInliningOpenJDK11boolc2falsedevelopStress inlining through method handle linkersshare/opto/c2_globals.hpp
StressRangeCheckEliminationOpenJDK8boolc1falsedevelopstress Range Check Eliminationshare/c1/c1_globals.hpp
StressRecompilationOpenJDK6boolc2falsedevelopRecompile each compiled method without subsuming loads or escape analysis.share/opto/c2_globals.hpp
StressReflectiveCodeOpenJDK6boolc2falsedevelopUse inexact types at allocations, etc., to test reflectionshare/opto/c2_globals.hpp
StressRewriterOpenJDK8boolruntimefalsedevelopStress linktime bytecode rewritingshare/runtime/globals.hpp
StressSeedOpenJDK16uintc20
range(0, max_juint)
productSeed for randomized stress testing (if unset, a random one is generated)share/opto/c2_globals.hpp
StringDeduplicationAgeThresholdOpenJDK8uintxruntime3
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
StringDeduplicationRehashALotOpenJDK8boolruntimefalseproductForce table rehash every time the table is scannedshare/runtime/globals.hpp
StringDeduplicationResizeALotOpenJDK8boolruntimefalseproductForce table resize every time the table is scannedshare/runtime/globals.hpp
StringTableSizeOpenJDK6uintxruntimedefaultStringTableSize
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
SubsumeLoadsOpenJDK6boolc2truedevelopAttempt to compile while subsuming loads into machine instructions.share/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisOpenJDK9boolaarch64truedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
SuperWordLoopUnrollAnalysisOpenJDK9boolc2product_pdMap number of unrolls for main loop via Superword Level Parallelism analysisshare/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisOpenJDK9boolppctruedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
SuperWordLoopUnrollAnalysisOpenJDK9bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
SuperWordLoopUnrollAnalysisOpenJDK9boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
SuperWordRTDepCheckOpenJDK6boolc2falsedevelopEnable runtime dependency checks.share/opto/c2_globals.hpp
SuperWordReductionsOpenJDK9boolc2trueproductEnable reductions support in superword.share/opto/c2_globals.hpp
SuperwordUseVSXOpenJDK10boolppcfalseproductUse Power8 VSX instructions for superword optimization.cpu/ppc/globals_ppc.hpp
SuppressErrorAtOpenJDK6ccstrlistruntimeList of assertions (file:line) to muzzlenotproductshare/runtime/globals.hpp
SuppressFatalErrorMessageOpenJDK6boolruntimefalseproductReport NO fatal error message (avoid deadlock)share/runtime/globals.hpp
SurvivorPaddingOpenJDK6uintxgc3
range(0, max_juint)
productHow much buffer to keep for survivor overflowshare/gc/shared/gc_globals.hpp
SurvivorRatioOpenJDK6uintxgc8
range(1, max_uintx-2)
productRatio of eden/survivor space sizeshare/gc/shared/gc_globals.hpp
SuspendRetryCountOpenJDK6Deprecated in JDK
Obsoleted in JDK17
Expired in JDK18
intxruntime50
range(0, max_intx)
productMaximum retry count for an external suspend requestshare/runtime/globals.hpp
SuspendRetryDelayOpenJDK6Deprecated in JDK
Obsoleted in JDK17
Expired in JDK18
intxruntime5
range(0, max_intx)
productMilliseconds to delay per retry (* current_retry_count)share/runtime/globals.hpp
SweeperLogEntriesOpenJDK6intxruntime1024notproductNumber 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
SymbolTableSizeOpenJDK8uintxruntimedefaultSymbolTableSize
range(minimumSymbolTableSize, 16777216ul /* 2^24 */)
productNumber of buckets in the JVM internal Symbol tableshare/runtime/globals.hpp
TLABAllocationWeightOpenJDK6uintxgc35
range(0, 100)
productAllocation averaging weightshare/gc/shared/gc_globals.hpp
TLABRefillWasteFractionOpenJDK6uintxgc64
range(1, max_juint)
productMaximum TLAB waste at a refill (internal fragmentation)share/gc/shared/gc_globals.hpp
TLABSizeOpenJDK6size_tgc0productStarting TLAB size (in bytes); zero means set ergonomicallyshare/gc/shared/gc_globals.hpp
TLABStatsOpenJDK6Deprecated in JDK12
Obsoleted in JDK
Expired in JDK
boolgctrueproductProvide more detailed and expensive TLAB statistics.share/gc/shared/gc_globals.hpp
TLABWasteIncrementOpenJDK6uintxgc4
range(0, max_jint)
productIncrement allowed waste at slow allocationshare/gc/shared/gc_globals.hpp
TLABWasteTargetPercentOpenJDK6uintxgc1
range(1, 100)
productPercentage of Eden that can be wastedshare/gc/shared/gc_globals.hpp
TargetPLABWastePctOpenJDK6uintxgc10
range(1, 100)
productTarget wasted space in last buffer as percent of overall allocationshare/gc/shared/gc_globals.hpp
TargetSurvivorRatioOpenJDK6uintxgc50
range(0, 100)
productDesired percentage of survivor space used after scavengeshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeIncrementOpenJDK6uintxgc20
range(0, 100)
productAdaptive size percentage change in tenured generationshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementDecayOpenJDK6uintxgc2
range(1, max_uintx)
productDecay factor to TenuredGenerationSizeIncrementshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementOpenJDK6uintxgc80
range(0, 100)
productSupplement to TenuredGenerationSizeIncrement used at startupshare/gc/shared/gc_globals.hpp
TestCrashInErrorHandlerOpenJDK9uintxruntime0notproductIf > 0, provokes an error inside VM error handler (a secondary crash). see test_error_handler() in vmError.cppshare/runtime/globals.hpp
TestSafeFetchInErrorHandlerOpenJDK9boolruntimefalsenotproductIf true, tests SafeFetch inside error handler.share/runtime/globals.hpp
TestUnresponsiveErrorHandlerOpenJDK10boolruntimefalsenotproductIf true, simulates an unresponsive error handler.share/runtime/globals.hpp
ThreadPriorityPolicyOpenJDK6intxruntime0
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
ThreadPriorityVerboseOpenJDK6boolruntimefalseproductPrint priority changesshare/runtime/globals.hpp
ThreadStackSizeOpenJDK6intxaixppc2048define_pd_global// 0 => use system defaultos_cpu/aix_ppc/globals_aix_ppc.hpp
ThreadStackSizeOpenJDK6intxbsdx86320define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
ThreadStackSizeOpenJDK6intxbsdzero1536define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
ThreadStackSizeOpenJDK6intxlinuxaarch642048define_pd_global// 0 => use system defaultos_cpu/linux_aarch64/globals_linux_aarch64.hpp
ThreadStackSizeOpenJDK6intxlinuxarm320define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
ThreadStackSizeOpenJDK6intxlinuxppc2048define_pd_global// 0 => use system defaultos_cpu/linux_ppc/globals_linux_ppc.hpp
ThreadStackSizeOpenJDK6intxlinuxs3901024define_pd_global// 0 => Use system default.os_cpu/linux_s390/globals_linux_s390.hpp
ThreadStackSizeOpenJDK6intxlinuxx86320define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
ThreadStackSizeOpenJDK6intxlinuxzero1536define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
ThreadStackSizeOpenJDK6intxruntimeproduct_pdThread Stack Size (in Kbytes)share/runtime/globals.hpp
ThreadStackSizeOpenJDK6intxwindowsaarch640define_pd_global// 0 => use system defaultos_cpu/windows_aarch64/globals_windows_aarch64.hpp
ThreadStackSizeOpenJDK6intxwindowsx860define_pd_global// 0 => use system defaultos_cpu/windows_x86/globals_windows_x86.hpp
ThresholdToleranceOpenJDK6uintxgc10
range(0, 100)
productAllowed collection cost difference between generationsshare/gc/shared/gc_globals.hpp
Tier0AOTBackEdgeThresholdOpenJDK14intxruntime60000
range(0, max_jint)
productBack 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)
productThreshold 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)
productSwitch 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)
productMinimum 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
Tier0BackedgeNotifyFreqLogOpenJDK6intxruntime10
range(0, 30)
productInterpreter (tier 0) invocation notification frequencyshare/runtime/globals.hpp
Tier0DelayOpenJDK14intxruntime5
range(0, max_jint)
productIf 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
Tier0InvokeNotifyFreqLogOpenJDK6intxruntime7
range(0, 30)
productInterpreter (tier 0) invocation notification frequencyshare/runtime/globals.hpp
Tier0ProfilingStartPercentageOpenJDK6intxruntime200
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
Tier23InlineeNotifyFreqLogOpenJDK6intxruntime20
range(0, 30)
productInlinee invocation (tiers 2 and 3) notification frequencyshare/runtime/globals.hpp
Tier2BackEdgeThresholdOpenJDK6intxruntime0
range(0, max_jint)
productBack edge threshold at which tier 2 compilation is invokedshare/runtime/globals.hpp
Tier2BackedgeNotifyFreqLogOpenJDK6intxruntime14
range(0, 30)
productC1 without MDO (tier 2) invocation notification frequencyshare/runtime/globals.hpp
Tier2CompileThresholdOpenJDK6intxruntime0
range(0, max_jint)
productthreshold at which tier 2 compilation is invokedshare/runtime/globals.hpp
Tier2InvokeNotifyFreqLogOpenJDK6intxruntime11
range(0, 30)
productC1 without MDO (tier 2) invocation notification frequencyshare/runtime/globals.hpp
Tier3AOTBackEdgeThresholdOpenJDK9intxruntime120000
range(0, max_jint)
productBack edge threshold at which tier 3 OSR compilation is invoked if coming from AOTshare/runtime/globals.hpp
Tier3AOTCompileThresholdOpenJDK9intxruntime15000
range(0, max_jint)
productThreshold at which tier 3 compilation is invoked (invocation minimum must be satisfied) if coming from AOTshare/runtime/globals.hpp
Tier3AOTInvocationThresholdOpenJDK9intxruntime10000
range(0, max_jint)
productCompile if number of method invocations crosses this threshold if coming from AOTshare/runtime/globals.hpp
Tier3AOTMinInvocationThresholdOpenJDK9intxruntime1000
range(0, max_jint)
productMinimum invocation to compile at tier 3 if coming from AOTshare/runtime/globals.hpp
Tier3BackEdgeThresholdOpenJDK6intxruntime60000
range(0, max_jint)
productBack edge threshold at which tier 3 OSR compilation is invokedshare/runtime/globals.hpp
Tier3BackedgeNotifyFreqLogOpenJDK6intxruntime13
range(0, 30)
productC1 with MDO profiling (tier 3) invocation notification frequencyshare/runtime/globals.hpp
Tier3CompileThresholdOpenJDK6intxruntime2000
range(0, max_jint)
productThreshold at which tier 3 compilation is invoked (invocation minimum must be satisfied)share/runtime/globals.hpp
Tier3DelayOffOpenJDK6intxruntime2
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
Tier3DelayOnOpenJDK6intxruntime5
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
Tier3InvocationThresholdOpenJDK6intxruntime200
range(0, max_jint)
productCompile if number of method invocations crosses this thresholdshare/runtime/globals.hpp
Tier3InvokeNotifyFreqLogOpenJDK6intxruntime10
range(0, 30)
productC1 with MDO profiling (tier 3) invocation notification frequencyshare/runtime/globals.hpp
Tier3LoadFeedbackOpenJDK6intxruntime5
range(0, max_jint)
productTier 3 thresholds will increase twofold when C1 queue size reaches this amount per compiler threadshare/runtime/globals.hpp
Tier3MinInvocationThresholdOpenJDK6intxruntime100
range(0, max_jint)
productMinimum invocation to compile at tier 3share/runtime/globals.hpp
Tier40BackEdgeThresholdOpenJDK14intxruntime15000
range(0, max_jint)
productBack 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)
productThreshold 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)
productCompile 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)
productMinimum number of invocations to compile at tier 4 (applicable only with CompilationMode=high-only|high-only-quick-internal)share/runtime/globals.hpp
Tier4BackEdgeThresholdOpenJDK6intxruntime40000
range(0, max_jint)
productBack edge threshold at which tier 4 OSR compilation is invokedshare/runtime/globals.hpp
Tier4CompileThresholdOpenJDK6intxruntime15000
range(0, max_jint)
productThreshold at which tier 4 compilation is invoked (invocation minimum must be satisfied)share/runtime/globals.hpp
Tier4InvocationThresholdOpenJDK6intxruntime5000
range(0, max_jint)
productCompile if number of method invocations crosses this thresholdshare/runtime/globals.hpp
Tier4LoadFeedbackOpenJDK6intxruntime3
range(0, max_jint)
productTier 4 thresholds will increase twofold when C2 queue size reaches this amount per compiler threadshare/runtime/globals.hpp
Tier4MinInvocationThresholdOpenJDK6intxruntime600
range(0, max_jint)
productMinimum invocation to compile at tier 4share/runtime/globals.hpp
TieredCompilationOpenJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
TieredCompilationOpenJDK6boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
TieredCompilationOpenJDK6boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
TieredCompilationOpenJDK6boolruntimeproduct_pdEnable tiered compilationshare/runtime/globals.hpp
TieredCompilationOpenJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
TieredCompilationOpenJDK6bools390trueInTiereddefine_pd_globalcpu/s390/c2_globals_s390.hpp
TieredCompilationOpenJDK6boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
TieredCompileTaskTimeoutOpenJDK6intxruntime50
range(0, max_intx)
productKill compile task if method was not used within given timeout in millisecondsshare/runtime/globals.hpp
TieredRateUpdateMaxTimeOpenJDK6intxruntime25
range(0, max_intx)
productMaximum rate sampling interval (in milliseconds)share/runtime/globals.hpp
TieredRateUpdateMinTimeOpenJDK6intxruntime1
range(0, max_intx)
productMinimum rate sampling interval (in milliseconds)share/runtime/globals.hpp
TieredStopAtLevelOpenJDK6intxruntime4
range(0, 4)
productStop at given compilation levelshare/runtime/globals.hpp
TimeEachLinearScanOpenJDK6boolc1falsedevelopprint detailed timing of each LinearScan runshare/c1/c1_globals.hpp
TimeLinearScanOpenJDK6boolc1falseproductdetailed timing of LinearScan phasesshare/c1/c1_globals.hpp
TimeOopMap2OpenJDK6boolruntimefalsedevelopTime calls to GenerateOopMap::compute_map() individuallyshare/runtime/globals.hpp
TimeOopMapOpenJDK6boolruntimefalsedevelopTime calls to GenerateOopMap::compute_map() in sumshare/runtime/globals.hpp
TraceBytecodesAtOpenJDK6intxruntime0developTrace bytecodes starting with specified bytecode numbershare/runtime/globals.hpp
TraceBytecodesOpenJDK6boolruntimefalsedevelopTrace bytecode executionshare/runtime/globals.hpp
TraceCISCSpillOpenJDK6boolc2falsenotproductTrace allocators use of cisc spillable instructionsshare/opto/c2_globals.hpp
TraceCallFixupOpenJDK6boolruntimefalsedevelopTrace all call fixupsshare/runtime/globals.hpp
TraceCodeBlobStacksOpenJDK6boolruntimefalsenotproductTrace stack-walk of codeblobsshare/runtime/globals.hpp
TraceCompiledICOpenJDK6boolruntimefalsedevelopTrace changes of compiled ICshare/runtime/globals.hpp
TraceCompilerThreadsOpenJDK11boolruntimefalseproductTrace creation and removal of compiler threadsshare/runtime/globals.hpp
TraceCreateZombiesOpenJDK6boolruntimefalsedeveloptrace creation of zombie nmethodsshare/runtime/globals.hpp
TraceDeoptimizationOpenJDK6boolruntimefalsedevelopTrace deoptimizationshare/runtime/globals.hpp
TraceDependenciesOpenJDK6boolruntimefalsedevelopTrace dependenciesshare/runtime/globals.hpp
TraceDerivedPointersOpenJDK6boolruntimefalsedevelopTrace traversal of derived pointers on stackshare/runtime/globals.hpp
TraceFPURegisterUsageOpenJDK6boolc1falsedevelopTrace usage of FPU registers at start of blocks (intel only)share/c1/c1_globals.hpp
TraceFPUStackOpenJDK6boolc1falsedevelopTrace emulation of the FPU stack (intel only)share/c1/c1_globals.hpp
TraceFinalizerRegistrationOpenJDK6boolruntimefalsedevelopTrace registration of final referencesshare/runtime/globals.hpp
TraceFrequencyInliningOpenJDK6boolruntimefalsedevelopTrace frequency based inliningshare/runtime/globals.hpp
TraceICBufferOpenJDK6boolruntimefalsedevelopTrace usage of IC buffershare/runtime/globals.hpp
TraceICsOpenJDK6boolruntimefalsedevelopTrace inline cache changesshare/runtime/globals.hpp
TraceInlineCacheClearingOpenJDK6boolruntimefalsedevelopTrace clearing of inline caches in nmethodsshare/runtime/globals.hpp
TraceInvocationCounterOverflowOpenJDK6boolruntimefalsenotproductTrace method invocation counter overflowshare/runtime/globals.hpp
TraceIterativeGVNOpenJDK6boolc2falsedevelopPrint progress during Iterative Global Value Numberingshare/opto/c2_globals.hpp
TraceJVMTIOpenJDK6ccstrruntimeNULLproductTrace flags for JVMTI functions and eventsshare/runtime/globals.hpp
TraceJavaAssertionsOpenJDK6boolruntimefalsedevelopTrace java language assertionsshare/runtime/globals.hpp
TraceLinearScanLevelOpenJDK6intxc10
range(0, 4)
developDebug levels for the linear scan allocatorshare/c1/c1_globals.hpp
TraceLivenessGenOpenJDK6boolruntimefalsedevelopTrace the generation of liveness analysis informationshare/runtime/globals.hpp
TraceLivenessQueryOpenJDK6boolruntimefalsenotproductTrace queries of liveness analysis informationshare/runtime/globals.hpp
TraceLoopLimitCheckOpenJDK6boolc2falsedevelopTrace generation of loop limits checksshare/opto/c2_globals.hpp
TraceLoopOptsOpenJDK6boolc2falsedevelopTrace executed loop optimizationsshare/opto/c2_globals.hpp
TraceLoopPredicateOpenJDK6boolc2falsedevelopTrace generation of loop predicatesshare/opto/c2_globals.hpp
TraceLoopUnswitchingOpenJDK6boolc2falsenotproductTrace loop unswitchingshare/opto/c2_globals.hpp
TraceMemoryWritebackOpenJDK14boolruntimefalsedevelopTrace memory writeback operationsshare/runtime/globals.hpp
TraceMethodReplacementOpenJDK6boolruntimefalsedevelopPrint when methods are replaced do to recompilationshare/runtime/globals.hpp
TraceNewOopMapGenerationDetailedOpenJDK6boolruntimefalsedevelopTrace OopMapGeneration: print detailed cell statesshare/runtime/globals.hpp
TraceNewOopMapGenerationOpenJDK6boolruntimefalsedevelopTrace OopMapGenerationshare/runtime/globals.hpp
TraceNewVectorsOpenJDK7boolc2falsenotproductTrace creation of Vector nodesshare/opto/c2_globals.hpp
TraceOnStackReplacementOpenJDK6boolruntimefalsenotproductTrace on stack replacementshare/runtime/globals.hpp
TraceOopMapRewritesOpenJDK6boolruntimefalsedevelopTrace rewriting of methods during oop map generationshare/runtime/globals.hpp
TraceOptimizeFillOpenJDK6boolc2falsedevelopprint detailed information about fill conversionshare/opto/c2_globals.hpp
TraceOptoOutputOpenJDK6boolc2falsenotproductTrace pipelining informationshare/opto/c2_globals.hpp
TraceOptoParseOpenJDK6boolc2falsedevelopTrace bytecode parse and control-flow mergeshare/opto/c2_globals.hpp
TraceOptoPipeliningOpenJDK6boolc2falsenotproductTrace pipelining informationshare/opto/c2_globals.hpp
TracePartialPeelingOpenJDK6boolc2falsenotproductTrace partial peeling (loop rotation) informationshare/opto/c2_globals.hpp
TracePatchingOpenJDK6boolc1falsedevelopTrace patching of field access on uninitialized classesshare/c1/c1_globals.hpp
TracePcPatchingOpenJDK6boolruntimefalsedevelopTrace usage of frame::patch_pcshare/runtime/globals.hpp
TracePhaseCCPOpenJDK6boolc2falsenotproductPrint progress during Conditional Constant Propagationshare/opto/c2_globals.hpp
TracePostallocExpandOpenJDK8boolc2falsedevelopTrace expanding nodes after register allocation.share/opto/c2_globals.hpp
TracePredicateFailedTrapsOpenJDK8boolc1falsedeveloptrace runtime traps caused by predicate failureshare/c1/c1_globals.hpp
TraceProfileTripCountOpenJDK6boolc2falsenotproductTrace profile loop trip count informationshare/opto/c2_globals.hpp
TraceRangeCheckEliminationOpenJDK8boolc1falsedevelopTrace Range Check Eliminationshare/c1/c1_globals.hpp
TraceRangeLimitCheckOpenJDK6boolc2falsedevelopTrace additional overflow checks in RCEshare/opto/c2_globals.hpp
TraceRelocatorOpenJDK6boolruntimefalsedevelopTrace the bytecode relocatorshare/runtime/globals.hpp
TraceSpillingOpenJDK6boolc2falseproductTrace spillingshare/opto/c2_globals.hpp
TraceSuperWordLoopUnrollAnalysisOpenJDK9boolc2falsenotproductTrace what Superword Level Parallelism analysis appliesshare/opto/c2_globals.hpp
TraceSuperWordOpenJDK6boolc2falsenotproductTrace superword transformsshare/opto/c2_globals.hpp
TraceSuspendWaitFailuresOpenJDK6Deprecated in JDK
Obsoleted in JDK17
Expired in JDK18
boolruntimefalseproductTrace external suspend wait failuresshare/runtime/globals.hpp
TraceTrapsOpenJDK7boolaarch64falseproductTrace all traps the signal handlercpu/aarch64/globals_aarch64.hpp
TraceTrapsOpenJDK7boolppcfalseproductTrace all traps the signal handler handles.cpu/ppc/globals_ppc.hpp
TraceTrapsOpenJDK7bools390falseproductTrace all traps the signal handler handles.cpu/s390/globals_s390.hpp
TraceTypeProfileOpenJDK6boolc2falseproductTrace type profileshare/opto/c2_globals.hpp
TrackedInitializationLimitOpenJDK6intxc250
range(0, 65535)
productWhen initializing fields, track up to this many wordsshare/opto/c2_globals.hpp
TrapBasedICMissChecksOpenJDK7boolppctrueproductRaise and handle SIGTRAP if inline cache miss detected.cpu/ppc/globals_ppc.hpp
TrapBasedNullChecksOpenJDK7boolaarch64falsedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
TrapBasedNullChecksOpenJDK7boolarmfalsedefine_pd_global// Not neededcpu/arm/globals_arm.hpp
TrapBasedNullChecksOpenJDK7boolruntimeproduct_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
TrapBasedNullChecksOpenJDK7boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
TrapBasedNullChecksOpenJDK7bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
TrapBasedNullChecksOpenJDK7boolx86falsedefine_pd_global// Not needed on x86.cpu/x86/globals_x86.hpp
TrapBasedNullChecksOpenJDK7boolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
TrapBasedRangeChecksOpenJDK7boolaarch64falsedefine_pd_global// Not needed.cpu/aarch64/c2_globals_aarch64.hpp
TrapBasedRangeChecksOpenJDK7boolc2product_pdGenerate code for range checks that uses a cmp and trap instruction raising SIGTRAP. Used on PPC64.share/opto/c2_globals.hpp
TrapBasedRangeChecksOpenJDK7boolppctruedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
TrapBasedRangeChecksOpenJDK7bools390falsedefine_pd_global// Not needed on z/Architecture.cpu/s390/c2_globals_s390.hpp
TrapBasedRangeChecksOpenJDK7boolx86falsedefine_pd_global// Not needed on x86.cpu/x86/c2_globals_x86.hpp
TrustFinalNonStaticFieldsOpenJDK6boolruntimefalseproducttrust final non-static declarations for constant foldingshare/runtime/globals.hpp
TwoOperandLIRFormOpenJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
TwoOperandLIRFormOpenJDK6boolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
TwoOperandLIRFormOpenJDK6boolc1develop_pdtrue if LIR requires src1 and dst to match in binary LIR opsshare/c1/c1_globals.hpp
TwoOperandLIRFormOpenJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
TwoOperandLIRFormOpenJDK6bools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
TwoOperandLIRFormOpenJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
TypeProfileArgsLimitOpenJDK8intxruntime2
range(0, 16)
productmax number of call arguments to consider for type profilingshare/runtime/globals.hpp
TypeProfileCastsOpenJDK6boolruntimetruedeveloptreat casts like calls for purposes of type profilingshare/runtime/globals.hpp
TypeProfileLevelOpenJDK8uintxaarch64111define_pd_globalcpu/aarch64/globals_aarch64.hpp
TypeProfileLevelOpenJDK8uintxarm0define_pd_globalcpu/arm/globals_arm.hpp
TypeProfileLevelOpenJDK8uintxruntimeproduct_pd=XYZ, with Z: Type profiling of arguments at call; Y: Type profiling of return value at call; X: Type profiling of parameters to methods; X, Y and Z in 0=off ; 1=jsr292 only; 2=all methodsshare/runtime/globals.hpp
TypeProfileLevelOpenJDK8uintxppc111define_pd_globalcpu/ppc/globals_ppc.hpp
TypeProfileLevelOpenJDK8uintxs390111define_pd_globalcpu/s390/globals_s390.hpp
TypeProfileLevelOpenJDK8uintxx86111define_pd_globalcpu/x86/globals_x86.hpp
TypeProfileLevelOpenJDK8uintxzero0define_pd_globalcpu/zero/globals_zero.hpp
TypeProfileMajorReceiverPercentOpenJDK6intxc290
range(0, 100)
product% of major receiver type to all profiled receiversshare/opto/c2_globals.hpp
TypeProfileParmsLimitOpenJDK8intxruntime2
range(-1, 64)
productmax number of incoming parameters to consider for type profiling, -1 for allshare/runtime/globals.hpp
TypeProfileWidthOpenJDK6intxruntime2
range(0, 8)
productNumber of receiver types to record in call/cast profileshare/runtime/globals.hpp
UncommonNullCastOpenJDK6boolaarch64truedefine_pd_global// Uncommon-trap NULLs past to check castcpu/aarch64/globals_aarch64.hpp
UncommonNullCastOpenJDK6boolarmtruedefine_pd_global// Uncommon-trap NULLs past to check castcpu/arm/globals_arm.hpp
UncommonNullCastOpenJDK6boolruntimedevelop_pdtrack occurrences of null in casts; adjust compiler tacticsshare/runtime/globals.hpp
UncommonNullCastOpenJDK6boolppctruedefine_pd_global// Uncommon-trap NULLs passed to check cast.cpu/ppc/globals_ppc.hpp
UncommonNullCastOpenJDK6bools390truedefine_pd_global// Uncommon-trap NULLs passed to check cast.cpu/s390/globals_s390.hpp
UncommonNullCastOpenJDK6boolx86truedefine_pd_global// Uncommon-trap NULLs passed to check castcpu/x86/globals_x86.hpp
UncommonNullCastOpenJDK6boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
UnguardOnExecutionViolationOpenJDK6intxruntime0
range(0, 2)
productUnguard page and retry on no-execute fault (Win32 only)
0=off, 1=conservative, 2=aggressive
share/runtime/globals.hpp
UnlockDiagnosticVMOptionsOpenJDK6boolruntimetrueInDebugproductEnable normal processing of flags relating to field diagnosticsshare/runtime/globals.hpp
UnlockExperimentalVMOptionsOpenJDK6boolruntimefalseproductEnable normal processing of flags relating to experimental featuresshare/runtime/globals.hpp
UnrollLimitForProfileCheckOpenJDK6intxc21
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
Use64KPagesThresholdOpenJDK9uintxaix0develop4K/64K page allocation threshold.os/aix/globals_aix.hpp
Use64KPagesOpenJDK9boolaixtrueproductUse 64K pages if available.os/aix/globals_aix.hpp
UseAESCTRIntrinsicsOpenJDK9boolruntimefalseproductUse intrinsics for the paralleled version of AES/CTR cryptoshare/runtime/globals.hpp
UseAESIntrinsicsOpenJDK7boolruntimefalseproductUse intrinsics for AES versions of cryptoshare/runtime/globals.hpp
UseAESOpenJDK7boolruntimefalseproductControl whether AES instructions are used when availableshare/runtime/globals.hpp
UseAOTStrictLoadingOpenJDK9boolruntimefalseproductExit the VM if any of the AOT libraries has invalid configshare/runtime/globals.hpp
UseAOTOpenJDK9boolruntimefalseproductUse AOT compiled filesshare/runtime/globals.hpp
UseAVXOpenJDK6intxx863
range(0, 99)
productHighest supported AVX instructions set on x86/x64cpu/x86/globals_x86.hpp
UseAdaptiveGenerationSizePolicyAtMajorCollectionOpenJDK6boolgctrueproductUse adaptive young-old sizing policies at major collectionsshare/gc/shared/gc_globals.hpp
UseAdaptiveGenerationSizePolicyAtMinorCollectionOpenJDK6boolgctrueproductUse adaptive young-old sizing policies at minor collectionsshare/gc/shared/gc_globals.hpp
UseAdaptiveNUMAChunkSizingOpenJDK6boolruntimetrueproductEnable adaptive chunk sizing for NUMAshare/runtime/globals.hpp
UseAdaptiveSizeDecayMajorGCCostOpenJDK6boolgctrueproductAdaptive size decays the major cost for long major intervalsshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyFootprintGoalOpenJDK6boolgctrueproductUse adaptive minimum footprint as a goalshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyWithSystemGCOpenJDK6boolgcfalseproductInclude statistics from System.gc() for adaptive size policyshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyOpenJDK6boolgctrueproductUse adaptive generation sizing policiesshare/gc/shared/gc_globals.hpp
UseAddressNopOpenJDK6boolx86falseproductUse '0F 1F [addr]' NOP instructions on x86 cpuscpu/x86/globals_x86.hpp
UseAdler32IntrinsicsOpenJDK9boolruntimefalseproductuse intrinsics for java.util.zip.Adler32share/runtime/globals.hpp
UseBASE64IntrinsicsOpenJDK11boolruntimefalseproductUse intrinsics for java.util.Base64share/runtime/globals.hpp
UseBMI1InstructionsOpenJDK8boolx86falseproductUse BMI1 instructionscpu/x86/globals_x86.hpp
UseBMI2InstructionsOpenJDK8boolx86falseproductUse BMI2 instructionscpu/x86/globals_x86.hpp
UseBiasedLockingOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolruntimefalseproduct(Deprecated) Enable biased locking in JVMshare/runtime/globals.hpp
UseBimorphicInliningOpenJDK6boolc2trueproductProfiling based inlining for two receiversshare/opto/c2_globals.hpp
UseBlockZeroingOpenJDK6boolaarch64trueproductUse DC ZVA for block zeroingcpu/aarch64/globals_aarch64.hpp
UseBootstrapCallInfoOpenJDK11intruntime1product0: 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
UseByteReverseInstructionOpenJDK9bools390trueproductUse byte reverse instruction.cpu/s390/globals_s390.hpp
UseByteReverseInstructionsOpenJDK11boolppcfalseproductUse byte reverse instructions.cpu/ppc/globals_ppc.hpp
UseC1OptimizationsOpenJDK6boolc1truedevelopTurn on C1 optimizationsshare/c1/c1_globals.hpp
UseCHAOpenJDK6boolruntimetruedevelopEnable CHAshare/runtime/globals.hpp
UseCISCSpillOpenJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
UseCISCSpillOpenJDK6boolc2develop_pdUse ADLC supplied cisc instructions during allocationshare/opto/c2_globals.hpp
UseCISCSpillOpenJDK6boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
UseCISCSpillOpenJDK6bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
UseCISCSpillOpenJDK6boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
UseCLMULOpenJDK8boolx86falseproductControl whether CLMUL instructions can be used on x86/x64cpu/x86/globals_x86.hpp
UseCMoveUnconditionallyOpenJDK9boolc2falseproductUse CMove (scalar and vector) ignoring profitability test.share/opto/c2_globals.hpp
UseCRC32CIntrinsicsOpenJDK9boolruntimefalseproductuse intrinsics for java.util.zip.CRC32Cshare/runtime/globals.hpp
UseCRC32IntrinsicsOpenJDK8boolruntimefalseproductuse intrinsics for java.util.zip.CRC32share/runtime/globals.hpp
UseCRC32OpenJDK9boolaarch64falseproductUse CRC32 instructions for CRC32 computationcpu/aarch64/globals_aarch64.hpp
UseCharacterCompareIntrinsicsOpenJDK11boolc2falseproductEnables intrinsification of java.lang.Character functionsshare/opto/c2_globals.hpp
UseCodeAgingOpenJDK9boolruntimetrueproductInsert counter to detect warm methodsshare/runtime/globals.hpp
UseCodeCacheFlushingOpenJDK6boolruntimetrueproductRemove cold/old nmethods from the code cacheshare/runtime/globals.hpp
UseCompilerOpenJDK6boolruntimetrueproductUse Just-In-Time compilationshare/runtime/globals.hpp
UseCompressedClassPointersOpenJDK8boolruntimefalseproductUse 32-bit class pointers in 64-bit VM. lp64_product means flag is always constant in 32 bit VMshare/runtime/globals.hpp
UseCompressedOopsOpenJDK6boolruntimefalseproductUse 32-bit object references in 64-bit VM. lp64_product means flag is always constant in 32 bit VMshare/runtime/globals.hpp
UseCondCardMarkOpenJDK6boolgcfalseproductCheck for already marked card before updating card tableshare/gc/shared/gc_globals.hpp
UseContainerSupportOpenJDK10boollinuxtrueproductEnable detection and runtime container configuration supportos/linux/globals_linux.hpp
UseCopySignIntrinsicOpenJDK16boolruntimefalseproductEnables intrinsification of Math.copySignshare/runtime/globals.hpp
UseCountLeadingZerosInstructionOpenJDK6boolx86falseproductUse count leading zeros instructioncpu/x86/globals_x86.hpp
UseCountLeadingZerosInstructionsPPC64OpenJDK7boolppctrueproductUse count leading zeros instructions.cpu/ppc/globals_ppc.hpp
UseCountTrailingZerosInstructionOpenJDK8boolx86falseproductUse count trailing zeros instructioncpu/x86/globals_x86.hpp
UseCountTrailingZerosInstructionsPPC64OpenJDK11boolppcfalseproductUse count trailing zeros instructions.cpu/ppc/globals_ppc.hpp
UseCountedLoopSafepointsOpenJDK7boolc2falseproductForce counted loops to keep a safepointshare/opto/c2_globals.hpp
UseCounterDecayOpenJDK6boolruntimetrueproductAdjust recompilation countersshare/runtime/globals.hpp
UseCpuAllocPathOpenJDK9boollinuxfalseproductUse CPU_ALLOC code path in os::active_processor_countos/linux/globals_linux.hpp
UseCriticalCompilerThreadPriorityOpenJDK6boolruntimefalseproductCompiler thread(s) run at critical scheduling priorityshare/runtime/globals.hpp
UseCriticalJavaThreadPriorityOpenJDK6boolruntimefalseproductJava thread priority 10 maps to critical scheduling priorityshare/runtime/globals.hpp
UseDebuggerErgo1OpenJDK16boolruntimefalsenotproductDebugging Only: Enable workarounds for debugger induced os::processor_id() >= os::processor_count() problemsshare/runtime/globals.hpp
UseDebuggerErgo2OpenJDK16boolruntimefalsenotproductDebugging Only: Limit the number of spawned JVM threadsshare/runtime/globals.hpp
UseDebuggerErgoOpenJDK16boolruntimefalsenotproductDebugging Only: Adjust the VM to be more debugger-friendly. Turns on the other UseDebuggerErgo* flagsshare/runtime/globals.hpp
UseDivModOpenJDK6boolc2trueproductUse combined DivMod instruction if availableshare/opto/c2_globals.hpp
UseDynamicNumberOfCompilerThreadsOpenJDK11boolruntimetrueproductDynamically choose the number of parallel compiler threadsshare/runtime/globals.hpp
UseDynamicNumberOfGCThreadsOpenJDK6boolgctrueproductDynamically 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
UseEpsilonGCOpenJDK11boolgcfalseproductUse the Epsilon (no-op) garbage collectorshare/gc/shared/gc_globals.hpp
UseExplicitCommitOpenJDK9boolaixfalseproductExplicit commit for virtual memory.os/aix/globals_aix.hpp
UseExtendedLoadAndReserveInstructionsPPC64OpenJDK7boolppcfalseproductUse extended versions of load-and-reserve instructions.cpu/ppc/globals_ppc.hpp
UseFMAOpenJDK9boolruntimefalseproductControl whether FMA instructions are used when availableshare/runtime/globals.hpp
UseFPUForSpillingOpenJDK6boolc2falseproductSpill integer registers to FPU instead of stack when possibleshare/opto/c2_globals.hpp
UseFastAccessorMethodsOpenJDK6boolzerotrueproductUse fast method entry code for accessor methodscpu/zero/globals_zero.hpp
UseFastEmptyMethodsOpenJDK6boolzerotrueproductUse fast method entry code for empty methodscpu/zero/globals_zero.hpp
UseFastJNIAccessorsOpenJDK6boolruntimetrueproductUse optimized versions of Get<Primitive>Fieldshare/runtime/globals.hpp
UseFastLockingOpenJDK6boolc1truedevelopUse fast inlined locking codeshare/c1/c1_globals.hpp
UseFastNewInstanceOpenJDK6boolc1truedevelopUse fast inlined instance allocationshare/c1/c1_globals.hpp
UseFastNewObjectArrayOpenJDK6boolc1truedevelopUse fast inlined object array allocationshare/c1/c1_globals.hpp
UseFastNewTypeArrayOpenJDK6boolc1truedevelopUse fast inlined type array allocationshare/c1/c1_globals.hpp
UseFastSignatureHandlersOpenJDK6boolruntimetruedevelopUse fast signature handlers for native callsshare/runtime/globals.hpp
UseFastStosbOpenJDK7boolx86falseproductUse fast-string operation for zeroing: rep stosbcpu/x86/globals_x86.hpp
UseFastUnorderedTimeStampsOpenJDK11boolruntimefalseproductUse platform unstable time where supported for timestamps onlyshare/runtime/globals.hpp
UseG1GCOpenJDK6boolgcfalseproductUse the Garbage-First garbage collectorshare/gc/shared/gc_globals.hpp
UseGCOverheadLimitOpenJDK6boolgctrueproductUse policy to limit of proportion of time spent in GC before an OutOfMemory error is thrownshare/gc/shared/gc_globals.hpp
UseGHASHIntrinsicsOpenJDK9boolruntimefalseproductUse intrinsics for GHASH versions of cryptoshare/runtime/globals.hpp
UseGlobalValueNumberingOpenJDK6boolc1truedevelopUse Global Value Numbering (separate phase)share/c1/c1_globals.hpp
UseHeavyMonitorsOpenJDK6boolruntimefalseproductuse heavyweight instead of lightweight Java monitorsshare/runtime/globals.hpp
UseHugeTLBFSOpenJDK6Deprecated in JDK
Obsoleted in JDK12
Expired in JDK13
boollinuxfalseproductUse MAP_HUGETLB for large pagesos/linux/globals_linux.hpp
UseIncDecOpenJDK6boolx86trueproductUse INC, DEC instructions on x86cpu/x86/globals_x86.hpp
UseInlineCachesOpenJDK6boolruntimetrueproductUse Inline Caches for virtual callsshare/runtime/globals.hpp
UseInlineDepthForSpeculativeTypesOpenJDK8boolc2trueproductCarry inline depth of profile point with speculative type and give priority to profiling from lower inline depthshare/opto/c2_globals.hpp
UseInterpreterOpenJDK6boolruntimetrueproductUse interpreter for non-compiled methodsshare/runtime/globals.hpp
UseJVMCICompilerOpenJDK9booljvmcifalseproductUse JVMCI as the default compiler. Defaults to true if EnableJVMCIProduct is true.share/jvmci/jvmci_globals.hpp
UseJVMCINativeLibraryOpenJDK13booljvmcifalseproductExecute 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
UseJumpTablesOpenJDK6boolc2trueproductUse JumpTables instead of a binary search tree for switchesshare/opto/c2_globals.hpp
UseLSEOpenJDK9boolaarch64falseproductUse LSE instructionscpu/aarch64/globals_aarch64.hpp
UseLargePagesIndividualAllocationOpenJDK6boolaixfalsedefine_pd_globalos/aix/globals_aix.hpp
UseLargePagesIndividualAllocationOpenJDK6boolbsdfalsedefine_pd_globalos/bsd/globals_bsd.hpp
UseLargePagesIndividualAllocationOpenJDK6boollinuxfalsedefine_pd_globalos/linux/globals_linux.hpp
UseLargePagesIndividualAllocationOpenJDK6boolruntimeproduct_pdAllocate large pages individually for better affinityshare/runtime/globals.hpp
UseLargePagesIndividualAllocationOpenJDK6boolwindowstruedefine_pd_globalos/windows/globals_windows.hpp
UseLargePagesOpenJDK6boolaixfalsedefine_pd_globalos/aix/globals_aix.hpp
UseLargePagesOpenJDK6boolbsdfalsedefine_pd_globalos/bsd/globals_bsd.hpp
UseLargePagesOpenJDK6boollinuxfalsedefine_pd_globalos/linux/globals_linux.hpp
UseLargePagesOpenJDK6boolruntimeproduct_pdUse large page memoryshare/runtime/globals.hpp
UseLargePagesOpenJDK6boolwindowsfalsedefine_pd_globalos/windows/globals_windows.hpp
UseLibmIntrinsicOpenJDK9boolx86trueproductUse Libm Intrinsicscpu/x86/globals_x86.hpp
UseLinuxPosixThreadCPUClocksOpenJDK6boollinuxtrueproductenable fast Linux Posix clocks where availableos/linux/globals_linux.hpp
UseLoadInstructionsForStackBangingPPC64OpenJDK7boolppcfalseproductUse load instructions for stack banging.cpu/ppc/globals_ppc.hpp
UseLocalValueNumberingOpenJDK6boolc1truedevelopUse Local Value Numbering (embedded in GraphBuilder)share/c1/c1_globals.hpp
UseLoopCounterOpenJDK6boolruntimetrueproductIncrement invocation counter on backward branchshare/runtime/globals.hpp
UseLoopInvariantCodeMotionOpenJDK8boolc1trueproductSimple loop invariant code motion for short loops during GVNshare/c1/c1_globals.hpp
UseLoopPredicateOpenJDK6boolc2trueproductGenerate a predicate to select fast/slow loop versionsshare/opto/c2_globals.hpp
UseLoopSafepointsOpenJDK6boolruntimetruedevelopGenerate Safepoint nodes in every loopshare/runtime/globals.hpp
UseMD5IntrinsicsOpenJDK16boolruntimefalseproductUse intrinsics for MD5 crypto hash functionshare/runtime/globals.hpp
UseMallocOnlyOpenJDK6boolruntimefalsedevelopUse only malloc/free for allocation (no resource area/arena)share/runtime/globals.hpp
UseMathExactIntrinsicsOpenJDK8boolc2trueproductEnables intrinsification of various java.lang.Math functionsshare/opto/c2_globals.hpp
UseMaximumCompactionOnSystemGCOpenJDK6boolgctrueproductUse maximum compaction in the Parallel Old garbage collector for a system GCshare/gc/parallel/parallel_globals.hpp
UseMontgomeryMultiplyIntrinsicOpenJDK8boolc2falseproductEnables intrinsification of BigInteger.montgomeryMultiply()share/opto/c2_globals.hpp
UseMontgomerySquareIntrinsicOpenJDK8boolc2falseproductEnables intrinsification of BigInteger.montgomerySquare()share/opto/c2_globals.hpp
UseMulAddIntrinsicOpenJDK8boolc2falseproductEnables intrinsification of BigInteger.mulAdd()share/opto/c2_globals.hpp
UseMultiplyToLenIntrinsicOpenJDK8boolc2falseproductEnables intrinsification of BigInteger.multiplyToLen()share/opto/c2_globals.hpp
UseNUMAInterleavingOpenJDK6boolruntimefalseproductInterleave memory across NUMA nodes if availableshare/runtime/globals.hpp
UseNUMAOpenJDK6boolruntimefalseproductUse NUMA if availableshare/runtime/globals.hpp
UseNeonOpenJDK9boolaarch64falseproductUse Neon for CRC32 computationcpu/aarch64/globals_aarch64.hpp
UseNewCode2OpenJDK6boolruntimefalseproductTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewCode3OpenJDK6boolruntimefalseproductTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewCodeOpenJDK6boolruntimefalseproductTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewLongLShiftOpenJDK6boolx86falseproductUse optimized bitwise shift leftcpu/x86/globals_x86.hpp
UseNotificationThreadOpenJDK14boolruntimetrueproductUse Notification Threadshare/runtime/globals.hpp
UseOSErrorReportingOpenJDK6boolwindowsfalseproductLet VM fatal error propagate to the OS (ie. WER on Windows)os/windows/globals_windows.hpp
UseOnStackReplacementOpenJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
UseOnStackReplacementOpenJDK6boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
UseOnStackReplacementOpenJDK6boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
UseOnStackReplacementOpenJDK6boolruntimeproduct_pdUse on stack replacement, calls runtime if invoc. counter overflows in loopshare/runtime/globals.hpp
UseOnStackReplacementOpenJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
UseOnStackReplacementOpenJDK6bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
UseOnStackReplacementOpenJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
UseOnlyInlinedBimorphicOpenJDK6boolc2trueproductDon't use BimorphicInlining if can't inline a second methodshare/opto/c2_globals.hpp
UseOprofileOpenJDK6Deprecated in JDK
Obsoleted in JDK16
Expired in JDK17
boollinuxfalseproductenable support for Oprofile profileros/linux/globals_linux.hpp
UseOptoBiasInliningOpenJDK6Deprecated in JDK15
Obsoleted in JDK18
Expired in JDK19
boolc2trueproduct(Deprecated) Generate biased locking code in C2 ideal graphshare/opto/c2_globals.hpp
UsePSAdaptiveSurvivorSizePolicyOpenJDK6boolgctrueproductUse adaptive survivor sizing policiesshare/gc/shared/gc_globals.hpp
UseParallelGCOpenJDK6boolgcfalseproductUse the Parallel garbage collector.share/gc/shared/gc_globals.hpp
UsePerfDataOpenJDK6boolruntimetrueproductFlag to disable jvmstat instrumentation for performance testing and problem isolation purposesshare/runtime/globals.hpp
UsePopCountInstructionOpenJDK6boolruntimefalseproductUse population count instructionshare/runtime/globals.hpp
UsePrivilegedStackOpenJDK6boolruntimetruedevelopEnable the security JVM functionsshare/runtime/globals.hpp
UseProfiledLoopPredicateOpenJDK11boolc2trueproductMove predicates out of loops based on profiling datashare/opto/c2_globals.hpp
UseRTMDeoptOpenJDK8boolppcfalseproductPerform deopt and recompilation based on RTM abort ratiocpu/ppc/globals_ppc.hpp
UseRTMDeoptOpenJDK8boolx86falseproductPerform deopt and recompilation based on RTM abort ratiocpu/x86/globals_x86.hpp
UseRTMForStackLocksOpenJDK8boolppcfalseproductEnable RTM lock eliding for stack locks in compiled codecpu/ppc/globals_ppc.hpp
UseRTMForStackLocksOpenJDK8boolx86falseproductEnable RTM lock eliding for stack locks in compiled codecpu/x86/globals_x86.hpp
UseRTMLockingOpenJDK8boolppcfalseproductEnable RTM lock eliding for inflated locks in compiled codecpu/ppc/globals_ppc.hpp
UseRTMLockingOpenJDK8boolx86falseproductEnable RTM lock eliding for inflated locks in compiled codecpu/x86/globals_x86.hpp
UseRTMXendForLockBusyOpenJDK8boolppctrueproductUse RTM Xend instead of Xabort when lock busycpu/ppc/globals_ppc.hpp
UseRTMXendForLockBusyOpenJDK8boolx86trueproductUse RTM Xend instead of Xabort when lock busycpu/x86/globals_x86.hpp
UseRotateAndMaskInstructionsPPC64OpenJDK7boolppctrueproductUse rotate and mask instructions.cpu/ppc/globals_ppc.hpp
UseSHA1IntrinsicsOpenJDK8boolruntimefalseproductUse intrinsics for SHA-1 crypto hash function. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHA256IntrinsicsOpenJDK8boolruntimefalseproductUse intrinsics for SHA-224 and SHA-256 crypto hash functions. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHA3IntrinsicsOpenJDK16boolruntimefalseproductUse intrinsics for SHA3 crypto hash function. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHA512IntrinsicsOpenJDK8boolruntimefalseproductUse intrinsics for SHA-384 and SHA-512 crypto hash functions. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHAOpenJDK8boolruntimefalseproductControl whether SHA instructions are used when availableshare/runtime/globals.hpp
UseSHMOpenJDK6Deprecated in JDK
Obsoleted in JDK12
Expired in JDK13
boollinuxfalseproductUse SYSV shared memory for large pagesos/linux/globals_linux.hpp
UseSIGTRAPOpenJDK7boolppctrueproductAllow 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
UseSIMDForBigIntegerShiftIntrinsicsOpenJDK16boolaarch64trueproductUse SIMD instructions for left/right shift of BigIntegercpu/aarch64/globals_aarch64.hpp
UseSIMDForMemoryOpsOpenJDK9boolaarch64falseproductUse SIMD instructions in generated memory move codecpu/aarch64/globals_aarch64.hpp
UseSSE42IntrinsicsOpenJDK6boolx86falseproductSSE4.2 versions of intrinsicscpu/x86/globals_x86.hpp
UseSSEOpenJDK6Deprecated in JDK
Obsoleted in JDK15
Expired in JDK16
intxx8699
range(0, 99)
productHighest supported SSE instructions set on x86/x64cpu/x86/globals_x86.hpp
UseSVEOpenJDK16uintaarch640
range(0, 2)
productHighest supported SVE instruction set versioncpu/aarch64/globals_aarch64.hpp
UseSerialGCOpenJDK6boolgcfalseproductUse the Serial garbage collectorshare/gc/shared/gc_globals.hpp
UseSharedSpacesOpenJDK6boolruntimetrueproductUse shared spaces for metadatashare/runtime/globals.hpp
UseShenandoahGCOpenJDK12boolgcfalseproductUse the Shenandoah garbage collectorshare/gc/shared/gc_globals.hpp
UseSignalChainingOpenJDK6boolruntimetrueproductUse signal-chaining to invoke signal handlers installed by the application (Unix only)share/runtime/globals.hpp
UseSignumIntrinsicOpenJDK16boolruntimefalseproductEnables intrinsification of Math.signumshare/runtime/globals.hpp
UseSimpleArrayEqualsOpenJDK11boolaarch64falseproductUse simpliest and shortest implementation for array equalscpu/aarch64/globals_aarch64.hpp
UseSlowPathOpenJDK6boolc1falsedevelopFor debugging: test slow cases by always using themshare/c1/c1_globals.hpp
UseSquareToLenIntrinsicOpenJDK8boolc2falseproductEnables intrinsification of BigInteger.squareToLen()share/opto/c2_globals.hpp
UseStackBangingOpenJDK6boolruntimetruedevelopuse stack banging for stack overflow checks (required for proper StackOverflow handling; disable only to measure cost of stackbanging)share/runtime/globals.hpp
UseStaticBranchPredictionForUncommonPathsPPC64OpenJDK7boolppcfalseproductUse static branch prediction hints for uncommon paths.cpu/ppc/globals_ppc.hpp
UseStaticBranchPredictionInCompareAndSwapPPC64OpenJDK7boolppctrueproductUse static branch prediction hints in CAS operations.cpu/ppc/globals_ppc.hpp
UseStoreImmI16OpenJDK6boolx86trueproductUse store immediate 16-bits value instruction on x86cpu/x86/globals_x86.hpp
UseStringDeduplicationOpenJDK8boolruntimefalseproductUse string deduplicationshare/runtime/globals.hpp
UseSubwordForMaxVectorOpenJDK10boolc2trueproductUse Subword Analysis to set maximum vector sizeshare/opto/c2_globals.hpp
UseSuperWordOpenJDK6boolc2trueproductTransform scalar operations into superword operationsshare/opto/c2_globals.hpp
UseSwitchProfilingOpenJDK11boolruntimetrueproductleverage profiling for table/lookup switchshare/runtime/globals.hpp
UseTLABOpenJDK6boolgctrueproductUse thread-local object allocationshare/gc/shared/gc_globals.hpp
UseTableRangesOpenJDK6boolc1truedevelopFaster versions of lookup table using rangesshare/c1/c1_globals.hpp
UseThreadPrioritiesOpenJDK6boolruntimeproduct_pdUse native thread prioritiesshare/runtime/globals.hpp
UseTransparentHugePagesOpenJDK7boollinuxfalseproductUse MADV_HUGEPAGE for large pagesos/linux/globals_linux.hpp
UseTypeProfileOpenJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
UseTypeProfileOpenJDK6boolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
UseTypeProfileOpenJDK6boolcompilerfalsedefine_pd_globalshare/compiler/compiler_globals.hpp
UseTypeProfileOpenJDK6boolruntimetrueproductCheck interpreter profile for historically monomorphic callsshare/runtime/globals.hpp
UseTypeProfileOpenJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
UseTypeProfileOpenJDK6bools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
UseTypeProfileOpenJDK6boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
UseTypeSpeculationOpenJDK8boolc2trueproductSpeculatively propagate types from profilesshare/opto/c2_globals.hpp
UseUnalignedAccessesOpenJDK9boolruntimefalseproductUse unaligned memory accesses in Unsafeshare/runtime/globals.hpp
UseUnalignedLoadStoresOpenJDK6boolx86falseproductUse SSE2 MOVDQU instruction for Arraycopycpu/x86/globals_x86.hpp
UseUniqueSubclassesOpenJDK6boolc2truedevelopNarrow 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
UseVectorMacroLogicOpenJDK15boolc2trueproductUse ternary macro logic instructionsshare/opto/c2_globals.hpp
UseVectorizedMismatchIntrinsicOpenJDK9boolruntimefalseproductEnables intrinsification of ArraysSupport.vectorizedMismatch()share/runtime/globals.hpp
UseXMMForArrayCopyOpenJDK6boolruntimefalseproductUse SSE2 MOVQ instruction for Arraycopyshare/runtime/globals.hpp
UseXMMForObjInitOpenJDK11boolx86falseproductUse XMM/YMM MOVDQU instruction for Object Initializationcpu/x86/globals_x86.hpp
UseXmmI2DOpenJDK6boolx86falseproductUse SSE2 CVTDQ2PD instruction to convert Integer to Doublecpu/x86/globals_x86.hpp
UseXmmI2FOpenJDK6boolx86falseproductUse SSE2 CVTDQ2PS instruction to convert Integer to Floatcpu/x86/globals_x86.hpp
UseXmmLoadAndClearUpperOpenJDK6boolx86trueproductLoad low part of XMM register and clear upper partcpu/x86/globals_x86.hpp
UseXmmRegToRegMoveAllOpenJDK6boolx86falseproductCopy all XMM register bits when moving value between registerscpu/x86/globals_x86.hpp
UseZGCOpenJDK11boolgcfalseproductUse the Z garbage collectorshare/gc/shared/gc_globals.hpp
VMThreadPriorityOpenJDK6intxruntime-1
range(-1, 127)
productThe native priority at which the VM thread should run (-1 means no change)share/runtime/globals.hpp
VMThreadStackSizeOpenJDK6intxaixppc2048define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
VMThreadStackSizeOpenJDK6intxbsdx86512define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
VMThreadStackSizeOpenJDK6intxbsdzero512define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
VMThreadStackSizeOpenJDK6intxlinuxaarch642048define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
VMThreadStackSizeOpenJDK6intxlinuxarm512define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
VMThreadStackSizeOpenJDK6intxlinuxppc2048define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
VMThreadStackSizeOpenJDK6intxlinuxs3901024define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
VMThreadStackSizeOpenJDK6intxlinuxx86512define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
VMThreadStackSizeOpenJDK6intxlinuxzero512define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
VMThreadStackSizeOpenJDK6intxruntimeproduct_pdNon-Java Thread Stack Size (in Kbytes)share/runtime/globals.hpp
VMThreadStackSizeOpenJDK6intxwindowsaarch640define_pd_globalos_cpu/windows_aarch64/globals_windows_aarch64.hpp
VMThreadStackSizeOpenJDK6intxwindowsx860define_pd_global// 0 => use system defaultos_cpu/windows_x86/globals_windows_x86.hpp
ValueMapInitialSizeOpenJDK6intxc111
range(1, NOT_LP64(1*K) LP64_ONLY(32*K))
productInitial size of a value mapshare/c1/c1_globals.hpp
ValueMapMaxLoopSizeOpenJDK6intxc18
range(0, 128)
productmaximum size of a loop optimized by global value numberingshare/c1/c1_globals.hpp
ValueSearchLimitOpenJDK6intxc21000
range(0, max_jint)
productRecursion limit in PhaseMacroExpand::value_from_mem_phishare/opto/c2_globals.hpp
VerboseOpenJDK6boolruntimefalsedevelopPrint additional debugging information from other modesshare/runtime/globals.hpp
VerifyActivationFrameSizeOpenJDK6boolruntimefalsedevelopVerify that activation frame didn't become smaller than its minimal sizeshare/runtime/globals.hpp
VerifyAdapterCallsOpenJDK7boolruntimetrueInDebugproductVerify that i2c/c2i adapters are called properlyshare/runtime/globals.hpp
VerifyAdapterSharingOpenJDK6boolruntimefalsedevelopVerify that the code for shared adapters is the equivalentshare/runtime/globals.hpp
VerifyAfterGCOpenJDK6boolgcfalseproductVerify memory system after GCshare/gc/shared/gc_globals.hpp
VerifyAliasesOpenJDK6boolc2falsedevelopperform extra checks on the results of alias analysisshare/opto/c2_globals.hpp
VerifyArchivedFieldsOpenJDK16boolgctrueInDebugproductVerify memory when archived oop fields are loaded from CDS)share/gc/shared/gc_globals.hpp
VerifyBeforeExitOpenJDK6boolgctrueInDebugproductVerify system before exitingshare/gc/shared/gc_globals.hpp
VerifyBeforeGCOpenJDK6boolgcfalseproductVerify memory system before GCshare/gc/shared/gc_globals.hpp
VerifyBeforeIterationOpenJDK6boolruntimefalseproductVerify memory system before JVMTI iterationshare/runtime/globals.hpp
VerifyCodeCacheOpenJDK9boolruntimefalsenotproductVerify code cache on memory allocation/deallocationshare/runtime/globals.hpp
VerifyConnectionGraphOpenJDK7boolc2truenotproductVerify Connection Graph construction in Escape Analysisshare/opto/c2_globals.hpp
VerifyCrossModifyFenceOpenJDK16boolruntimefalse AARCH64_ONLY(DEBUG_ONLY(||true))developMark all threads after a safepoint, and clear on a modify fence. Add cleanliness checks.share/runtime/globals.hpp
VerifyDUIteratorsOpenJDK6boolc2truenotproductVerify the safety of all iterations of Bi-directional Edgesshare/opto/c2_globals.hpp
VerifyDataPointerOpenJDK6boolruntimetrueInDebugdevelopVerify the method data pointer during interpreter profilingshare/runtime/globals.hpp
VerifyDependenciesOpenJDK6boolruntimetrueInDebugdevelopExercise and verify the compilation dependency mechanismshare/runtime/globals.hpp
VerifyDuringGCOpenJDK6boolgcfalseproductVerify memory system during GC (between phases)share/gc/shared/gc_globals.hpp
VerifyDuringStartupOpenJDK7boolgcfalseproductVerify memory system before executing any Java code during VM initializationshare/gc/shared/gc_globals.hpp
VerifyFPUOpenJDK6boolruntimefalsedevelopVerify FPU state (check for NaN's, etc.)share/runtime/globals.hpp
VerifyGCLevelOpenJDK6intxgc0
range(0, 1)
productGeneration level at which to start +VerifyBefore/AfterGCshare/gc/shared/gc_globals.hpp
VerifyGCStartAtOpenJDK6uintxgc0
range(0, max_uintx)
productGC invoke count where +VerifyBefore/AfterGC kicks inshare/gc/shared/gc_globals.hpp
VerifyGCTypeOpenJDK10ccstrlistgcDIAGNOSTICproductGC type(s) to verify when Verify*GC is enabled.Available types are collector specific.share/gc/shared/gc_globals.hpp
VerifyGraphEdgesOpenJDK6boolc2falsenotproductVerify Bi-directional Edgesshare/opto/c2_globals.hpp
VerifyHashTableKeysOpenJDK6boolc2truenotproductVerify the immutability of keys in the VN hash tablesshare/opto/c2_globals.hpp
VerifyIdealNodeCountOpenJDK7boolc2falsenotproductVerify that tracked dead ideal node count is accurateshare/opto/c2_globals.hpp
VerifyIterativeGVNOpenJDK6boolc2falsedevelopVerify Def-Use modifications during sparse Iterative Global Value Numberingshare/opto/c2_globals.hpp
VerifyJNIEnvThreadOpenJDK6boolruntimefalsenotproductVerify JNIEnv.thread == Thread::current() when entering VM from JNIshare/runtime/globals.hpp
VerifyJNIFieldsOpenJDK6boolruntimetrueInDebugdevelopVerify jfieldIDs for instance fieldsshare/runtime/globals.hpp
VerifyLastFrameOpenJDK6boolruntimefalsenotproductVerify oops on last frame on entry to VMshare/runtime/globals.hpp
VerifyLoopOptimizationsOpenJDK6boolc2falsenotproductverify major loop optimizationsshare/opto/c2_globals.hpp
VerifyMetaspaceIntervalOpenJDK13intruntimeDEBUG_ONLY(500) NOT_DEBUG(0)developRun periodic metaspace verifications (0 - none,
1 - always, >1 every nth interval)
share/runtime/globals.hpp
VerifyMethodHandlesOpenJDK6boolruntimetrueInDebugproductperform extra checks when constructing method handlesshare/runtime/globals.hpp
VerifyObjectStartArrayOpenJDK6boolgctrueproductVerify GC object start array if verify before/aftershare/gc/shared/gc_globals.hpp
VerifyOopsOpenJDK6boolruntimefalsedevelopDo plausibility checks for oopsshare/runtime/globals.hpp
VerifyRegisterAllocatorOpenJDK6boolc2falsenotproductVerify Register Allocatorshare/opto/c2_globals.hpp
VerifyRememberedSetsOpenJDK6boolgcfalseproductVerify GC remembered setsshare/gc/shared/gc_globals.hpp
VerifySharedSpacesOpenJDK8boolruntimefalseproductVerify integrity of shared spacesshare/runtime/globals.hpp
VerifyStackAtCallsOpenJDK6boolruntimefalsedevelopVerify that the stack pointer is unchanged after callsshare/runtime/globals.hpp
VerifyStackOpenJDK6boolruntimefalsedevelopVerify stack of each thread when it is entering a runtime callshare/runtime/globals.hpp
VerifyStringTableAtExitOpenJDK8boolruntimefalseproductverify StringTable contents at exitshare/runtime/globals.hpp
VerifySubSetOpenJDK8ccstrlistgcDIAGNOSTICproductMemory sub-systems to verify when Verify*GC flag(s) are enabled. One or more sub-systems can be specified in a comma separated string. Sub-systems are: threads, heap, symbol_table, string_table, codecache, dictionary, classloader_data_graph, metaspace, jni_handles, codecache_oopsshare/gc/shared/gc_globals.hpp
VerifyThreadOpenJDK6boolruntimefalsedevelopWatch the thread register for corruption (SPARC only)share/runtime/globals.hpp
WalkStackALotOpenJDK6boolruntimefalsenotproductTrace stack (no print) at every exit from the runtime systemshare/runtime/globals.hpp
WarmCallMaxSizeOpenJDK6intxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developsize of the largest inlinable methodshare/opto/c2_globals.hpp
WarmCallMaxWorkOpenJDK6intxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developexecution time of the largest inlinable methodshare/opto/c2_globals.hpp
WarmCallMinCountOpenJDK6intxc2-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
WarmCallMinProfitOpenJDK6intxc2-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
WarnOnStalledSpinLockOpenJDK6uintxruntime0notproductPrint warnings for stalled SpinLocksshare/runtime/globals.hpp
WhiteBoxAPIOpenJDK7boolruntimefalseproductEnable internal testing APIsshare/runtime/globals.hpp
WizardModeOpenJDK6boolruntimefalsedevelopPrint much more debugging informationshare/runtime/globals.hpp
WorkStealingHardSpinsOpenJDK6uintxgc4096productNumber of iterations in a spin loop between checks on time out of hard spinshare/gc/shared/gc_globals.hpp
WorkStealingSleepMillisOpenJDK6uintxgc1productSleep time when sleep is used for yieldsshare/gc/shared/gc_globals.hpp
WorkStealingSpinToYieldRatioOpenJDK6uintxgc10productRatio of hard spins to calls to yieldshare/gc/shared/gc_globals.hpp
WorkStealingYieldsBeforeSleepOpenJDK6uintxgc5000productNumber of yields before a sleep is done during work stealingshare/gc/shared/gc_globals.hpp
YoungGenerationSizeIncrementOpenJDK6uintxgc20
range(0, 100)
productAdaptive size percentage change in young generationshare/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementDecayOpenJDK6uintxgc8
range(1, max_uintx)
productDecay factor to YoungedGenerationSizeSupplementshare/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementOpenJDK6uintxgc80
range(0, 100)
productSupplement to YoungedGenerationSizeIncrement used at startupshare/gc/shared/gc_globals.hpp
YoungPLABSizeOpenJDK6size_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
ZCollectionIntervalOpenJDK11doublegc0productForce 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)
productTime between statistics print outs (in seconds)share/gc/z/z_globals.hpp
ZStressRelocateInPlaceOpenJDK16boolgcfalseproductAlways relocate pages in-placeshare/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
ZVerifyForwardingOpenJDK11boolgcfalseproductVerify forwarding tablesshare/gc/z/z_globals.hpp
ZVerifyMarkingOpenJDK11boolgctrueInDebugproductVerify marking stacksshare/gc/z/z_globals.hpp
ZVerifyObjectsOpenJDK13boolgcfalseproductVerify objectsshare/gc/z/z_globals.hpp
ZVerifyRootsOpenJDK13boolgctrueInDebugproductVerify rootsshare/gc/z/z_globals.hpp
ZVerifyViewsOpenJDK13boolgcfalseproductVerify heap view accessesshare/gc/z/z_globals.hpp
ZapEmptyStackFieldsOpenJDK9bools390falsedevelopWrite 0x0101... to empty stack fields. Use this to ease stack debugging.cpu/s390/globals_s390.hpp
ZapFillerObjectsOpenJDK6boolruntimetrueInDebugdevelopZap filler objects with 0xDEAFBABEshare/runtime/globals.hpp
ZapMemoryOpenJDK7boolppcfalsedevelopWrite 0x0101... to empty memory. Use this to ease debugging.cpu/ppc/globals_ppc.hpp
ZapResourceAreaOpenJDK6boolruntimetrueInDebugdevelopZap freed resource/arena space with 0xABABABABshare/runtime/globals.hpp
ZapStackSegmentsOpenJDK6boolruntimetrueInDebugnotproductZap allocated/freed stack segments with 0xFADFADEDshare/runtime/globals.hpp
ZapUnusedHeapAreaOpenJDK6boolruntimetrueInDebugdevelopZap unused heap space with 0xBAADBABEshare/runtime/globals.hpp
ZapVMHandleAreaOpenJDK6boolruntimetrueInDebugnotproductZap freed VM handle space with 0xBCBCBCBCshare/runtime/globals.hpp
ZeroTLABOpenJDK6boolgcfalseproductZero out the newly created TLABshare/gc/shared/gc_globals.hpp
ZombieALotIntervalOpenJDK6intxruntime5notproductNumber of exits until ZombieALot kicks inshare/runtime/globals.hpp
ZombieALotOpenJDK6boolruntimefalsenotproductCreate zombies (non-entrant) at exit from the runtime systemshare/runtime/globals.hpp
batchOpenJDK6disable background compilationlauncher.properties
bootclasspath/aOpenJDK6<directories and zip/jar files separated by :> append to end of bootstrap class pathlauncher.properties
check:jniOpenJDK6perform 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
futureOpenJDK6enable strictest checks, anticipating future default. This option is deprecated and may be removed in a future release.launcher.properties
hashCodeOpenJDK6intxruntime5product(Unstable) select hashCode generation algorithmshare/runtime/globals.hpp
intOpenJDK6interpreted mode execution onlylauncher.properties
internalversionOpenJDK13 displays more detailed JVM version information than the -version optionlauncher.properties
logOpenJDK9<opts>Configure or enable logging with the Java Virtual Machine (JVM) unified logging framework. Use -Xlog:help for details.launcher.properties
loggcOpenJDK6<file>log GC status to a file with time stamps. This option is deprecated and may be removed in a future release. It is replaced by -Xlog:gc:<file>.launcher.properties
mixedOpenJDK6mixed mode execution (default)launcher.properties
mnOpenJDK13<size>sets the initial and maximum size (in bytes) of the heap for the young generation (nursery)launcher.properties
msOpenJDK6<size>set initial Java heap sizelauncher.properties
mxOpenJDK6<size>set maximum Java heap sizelauncher.properties
noclassgcOpenJDK6disable class garbage collectionlauncher.properties
rsOpenJDK6reduce use of OS signals by Java/VM (see documentation)launcher.properties
share:autoOpenJDK6use shared class data if possible (default)launcher.properties
share:offOpenJDK6do not attempt to use shared class datalauncher.properties
share:onOpenJDK6require 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
ssOpenJDK6<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