VM Options Explorer - JDK11 HotSpot

NameSinceDeprecatedTypeOSCPUComponentDefaultAvailabilityDescriptionDefined in
SinceDeprecatedTypeOSCPUComponentAvailability
AOTLibraryJDK9ccstrlistruntimeNULLproductAOT libraryshare/runtime/globals.hpp
AbortVMOnExceptionMessageJDK6ccstrruntimeNULLdiagnosticCall fatal if the exception pointed by AbortVMOnException has this messageshare/runtime/globals.hpp
AbortVMOnExceptionJDK6ccstrruntimeNULLdiagnosticCall fatal if this exception is thrown. Example: java -XX:AbortVMOnException=java.lang.NullPointerException Fooshare/runtime/globals.hpp
ActiveProcessorCountJDK10intgc-1productSpecify the CPU count the VM should use and report as activeshare/gc/shared/gc_globals.hpp
AdaptiveSizeDecrementScaleFactorJDK6uintxgc4
range(1, max_uintx)
productAdaptive size scale down factor for shrinkingshare/gc/shared/gc_globals.hpp
AdaptiveSizeMajorGCDecayTimeScaleJDK6uintxgc10
range(0, max_uintx)
productTime scale over which major costs decayshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyCollectionCostMarginJDK6uintxgc50
range(0, 100)
productIf collection costs are within margin, reduce both by full deltashare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyGCTimeLimitThresholdJDK6uintxgc5
range(1, max_uintx)
developNumber of consecutive collections before gc time limit firesshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyInitializingStepsJDK6uintxgc20
range(0, max_uintx)
productNumber of steps where heuristics is used before data is usedshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyOutputIntervalJDK6uintxgc0
range(0, max_uintx)
productCollection interval for printing information; zero means nevershare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyReadyThresholdJDK6uintxgc5developNumber of collections before the adaptive sizing is startedshare/gc/shared/gc_globals.hpp
AdaptiveSizePolicyWeightJDK6uintxgc10
range(0, 100)
productWeight given to exponential resizing, between 0 and 100share/gc/shared/gc_globals.hpp
AdaptiveSizeThroughPutPolicyJDK6uintxgc0
range(0, 1)
productPolicy for changing generation size for throughput goalsshare/gc/shared/gc_globals.hpp
AdaptiveTimeWeightJDK6uintxgc25
range(0, 100)
productWeight given to time in adaptive policy, between 0 and 100share/gc/shared/gc_globals.hpp
AggressiveHeapJDK10boolgcfalseproductOptimize heap options for long-running memory intensive appsshare/gc/shared/gc_globals.hpp
AggressiveOptsJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproduct(Deprecated) Enable aggressive optimizations - see arguments.cppshare/runtime/globals.hpp
AggressiveUnboxingJDK8boolc2falseexperimentalControl optimizations for aggressive boxing eliminationshare/opto/c2_globals.hpp
AliasLevelJDK6intxc23
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
AlignVectorJDK7boolc2trueproductPerform vector store/load alignment in loopshare/opto/c2_globals.hpp
AllocateHeapAtJDK10ccstrruntimeNULLproductPath to the directoy where a temporary file will be created to use as the backing store for Java Heap.share/runtime/globals.hpp
AllocateInstancePrefetchLinesJDK6intxruntime1
range(1, 64)
productNumber of lines to prefetch ahead of instance allocation pointershare/runtime/globals.hpp
AllocatePrefetchDistanceJDK6intxruntime-1productDistance to prefetch ahead of allocation pointer. -1: use system-specific value (automatically determinedshare/runtime/globals.hpp
AllocatePrefetchInstrJDK6intxruntime0productSelect instruction to prefetch ahead of allocation pointershare/runtime/globals.hpp
AllocatePrefetchLinesJDK6intxruntime3
range(1, 64)
productNumber of lines to prefetch ahead of array allocation pointershare/runtime/globals.hpp
AllocatePrefetchStepSizeJDK6intxruntime16
range(1, 512)
productStep size in bytes of sequential prefetch instructionsshare/runtime/globals.hpp
AllocatePrefetchStyleJDK6intxruntime1
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
AllowExtshmJDK9boolaixfalseproductAllow VM to run with EXTSHM=ON.os/aix/globals_aix.hpp
AllowJNIEnvProxyJDK6boolruntimefalseproductAllow JNIEnv proxies for jdbxshare/runtime/globals.hpp
AllowNonVirtualCallsJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproductObey the ACC_SUPER flag and allow invokenonvirtual callsshare/runtime/globals.hpp
AllowParallelDefineClassJDK6boolruntimefalseproductAllow parallel defineClass requests for class loaders registering as parallel capableshare/runtime/globals.hpp
AllowUserSignalHandlersJDK6boolruntimefalseproductDo not complain if the application installs signal handlers (Solaris & Linux only)share/runtime/globals.hpp
AllowVectorizeOnDemandJDK9boolc2trueproductGlobally supress vectorization set in VectorizeMethodshare/opto/c2_globals.hpp
AlwaysActAsServerClassMachineJDK6boolgcfalseproductAlways act like a server-class machineshare/gc/shared/gc_globals.hpp
AlwaysAtomicAccessesJDK9boolruntimefalseexperimentalAccesses to all variables should always be atomicshare/runtime/globals.hpp
AlwaysCompileLoopMethodsJDK6boolruntimefalseproductWhen using recompilation, never interpret methods containing loopsshare/runtime/globals.hpp
AlwaysIncrementalInlineJDK7boolc2falsedevelopdo all inlining incrementallyshare/opto/c2_globals.hpp
AlwaysLockClassLoaderJDK6boolruntimefalseproductRequire the VM to acquire the class loader lock before calling loadClass() even for class loaders registering as parallel capableshare/runtime/globals.hpp
AlwaysPreTouchJDK6boolgcfalseproductForce all freshly committed pages to be pre-touchedshare/gc/shared/gc_globals.hpp
AlwaysRestoreFPUJDK6boolruntimefalseproductRestore the FPU control word after every JNI call (expensive)share/runtime/globals.hpp
AlwaysSafeConstructorsJDK9boolruntimefalseexperimentalForce safe construction, as if all fields are final.share/runtime/globals.hpp
AlwaysTenureJDK6boolgcfalseproductAlways tenure objects in eden (ParallelGC only)share/gc/shared/gc_globals.hpp
ArrayAllocatorMallocLimitJDK7size_truntimeSOLARIS_ONLY(64*K) NOT_SOLARIS((size_t)-1)experimentalAllocation less than this value will be allocated using malloc. Larger allocations will use mmap.share/runtime/globals.hpp
ArrayCopyLoadStoreMaxElemJDK9intxc28
range(0, max_intx)
productMaximum number of arraycopy elements inlined as a sequence ofloads/storesshare/opto/c2_globals.hpp
ArraycopyDstPrefetchDistanceJDK6uintxsparc0productDistance to prefetch destination array in arraycopycpu/sparc/globals_sparc.hpp
ArraycopySrcPrefetchDistanceJDK6uintxsparc0productDistance to prefetch source array in arraycopycpu/sparc/globals_sparc.hpp
AssertOnSuspendWaitFailureJDK6boolruntimefalseproductAssert/Guarantee on external suspend wait failureshare/runtime/globals.hpp
AssertRangeCheckEliminationJDK8boolc1falsedevelopAssert Range Check Eliminationshare/c1/c1_globals.hpp
AssumeMPJDK8Deprecated in JDK10
Obsoleted in JDK12
Expired in JDK13
boolruntimetrueproduct(Deprecated) Instruct the VM to assume multiple processors are availableshare/runtime/globals.hpp
AutoBoxCacheMaxJDK6intxc2128
range(0, max_jint)
productSets max value cached by the java.lang.Integer autobox cacheshare/opto/c2_globals.hpp
AvoidUnalignedAccessesJDK9boolaarch64falseproductAvoid generating unaligned memory accessescpu/aarch64/globals_aarch64.hpp
BCEATraceLevelJDK6intxruntime0
range(0, 3)
productHow much tracing to do of bytecode escape analysis estimates (0-3)share/runtime/globals.hpp
BackgroundCompilationJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
BackgroundCompilationJDK6boolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
BackgroundCompilationJDK6boolruntimeproduct_pdA thread requesting compilation is not blocked during compilationshare/runtime/globals.hpp
BackgroundCompilationJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
BackgroundCompilationJDK6bools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
BackgroundCompilationJDK6boolsparctruedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
BackgroundCompilationJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
BailoutAfterHIRJDK6boolc1falsedevelopbailout of compilation after building of HIRshare/c1/c1_globals.hpp
BailoutAfterLIRJDK6boolc1falsedevelopbailout of compilation after building of LIRshare/c1/c1_globals.hpp
BailoutOnExceptionHandlersJDK6boolc1falsedevelopbailout of compilation for methods with exception handlersshare/c1/c1_globals.hpp
BailoutToInterpreterForThrowsJDK6boolc2falsedevelopCompiled methods which throws/catches exceptions will be deopt and intp.share/opto/c2_globals.hpp
BaseFootPrintEstimateJDK6size_tgc256*M
range(0, max_uintx)
productEstimate of footprint other than Java Heapshare/gc/shared/gc_globals.hpp
BciProfileWidthJDK6intxruntime2developNumber of return bci's to record in ret profileshare/runtime/globals.hpp
BiasedLockingBulkRebiasThresholdJDK6intxruntime20
range(0, max_intx)
productThreshold of number of revocations per type to try to rebias all objects in the heap of that typeshare/runtime/globals.hpp
BiasedLockingBulkRevokeThresholdJDK6intxruntime40
range(0, max_intx)
productThreshold of number of revocations per type to permanently revoke biases of all objects in the heap of that typeshare/runtime/globals.hpp
BiasedLockingDecayTimeJDK6intxruntime25000
range(500, max_intx)
productDecay time (in milliseconds) to re-enable bulk rebiasing of a type after previous bulk rebiasshare/runtime/globals.hpp
BiasedLockingStartupDelayJDK6intxruntime0
range(0, (intx)(max_jint-(max_jint%PeriodicTask::interval_gran)))
productNumber of milliseconds to wait before enabling biased lockingshare/runtime/globals.hpp
BinarySwitchThresholdJDK6intxruntime5developMinimal number of lookupswitch entries for rewriting to binary switchshare/runtime/globals.hpp
BindCMSThreadToCPUJDK6boolgcfalsediagnosticBind CMS Thread to CPU if possibleshare/gc/cms/cms_globals.hpp
BindGCTaskThreadsToCPUsJDK6boolgcfalseproductBind GCTaskThreads to CPUs if possibleshare/gc/shared/gc_globals.hpp
BlockCopyLowLimitJDK6intxsparc2048
range(1, max_jint)
productMinimum size in bytes when block copy will be usedcpu/sparc/globals_sparc.hpp
BlockLayoutByFrequencyJDK6boolc2trueproductUse edge frequencies to drive block orderingshare/opto/c2_globals.hpp
BlockLayoutMinDiamondPercentageJDK6intxc220
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
BlockLayoutRotateLoopsJDK6boolc2trueproductAllow back branches to be fall throughs in the block layoutshare/opto/c2_globals.hpp
BlockOffsetArrayUseUnallocatedBlockJDK6boolgcfalsediagnosticMaintain _unallocated_block in BlockOffsetArray (currently applicable only to CMS collector)share/gc/shared/gc_globals.hpp
BlockZeroingLowLimitJDK6intxaarch64256
range(1, max_jint)
productMinimum size in bytes when block zeroing will be usedcpu/aarch64/globals_aarch64.hpp
BlockZeroingLowLimitJDK6intxsparc2048
range(1, max_jint)
productMinimum size in bytes when block zeroing will be usedcpu/sparc/globals_sparc.hpp
BootstrapJVMCIJDK9booljvmcifalseexperimentalBootstrap JVMCI before running Java main methodshare/jvmci/jvmci_globals.hpp
BranchOnRegisterJDK6boolc2falseproductUse Sparc V9 branch-on-register opcodesshare/opto/c2_globals.hpp
BreakAtNodeJDK6intxc20notproductBreak at construction of this Node (either _idx or _debug_idx)share/opto/c2_globals.hpp
BreakAtWarningJDK6boolruntimefalsedevelopExecute breakpoint upon encountering VM warningshare/runtime/globals.hpp
BytecodeVerificationLocalJDK6boolruntimefalseproductEnable the Java bytecode verifier for local classesshare/runtime/globals.hpp
BytecodeVerificationRemoteJDK6boolruntimetrueproductEnable the Java bytecode verifier for remote classesshare/runtime/globals.hpp
C1BreakpointJDK6boolc1falsedevelopSets a breakpoint at entry of each compiled methodshare/c1/c1_globals.hpp
C1OptimizeVirtualCallProfilingJDK6boolc1trueproductUse CHA and exact type results at call sites when updating MDOsshare/c1/c1_globals.hpp
C1ProfileBranchesJDK6boolc1trueproductProfile branches when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileCallsJDK6boolc1trueproductProfile calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileCheckcastsJDK6boolc1trueproductProfile checkcasts when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileInlinedCallsJDK6boolc1trueproductProfile inlined calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1ProfileVirtualCallsJDK6boolc1trueproductProfile virtual calls when generating code for updating MDOsshare/c1/c1_globals.hpp
C1UpdateMethodDataJDK6boolc1trueInTieredproductUpdate MethodData*s in Tier1-generated codeshare/c1/c1_globals.hpp
CIBreakAtOSRJDK6intxruntime-1developThe id of osr compilation to break atshare/runtime/globals.hpp
CIBreakAtJDK6intxruntime-1developThe id of compilation to break atshare/runtime/globals.hpp
CICompileNativesJDK6boolruntimetruedevelopcompile native methods if supported by the compilershare/runtime/globals.hpp
CICompileOSRJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CICompileOSRJDK6boolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
CICompileOSRJDK6boolruntimefalsedefine_pd_globalshare/runtime/globals.hpp
CICompileOSRJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CICompileOSRJDK6bools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
CICompileOSRJDK6boolsparctruedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
CICompileOSRJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
CICompilerCountPerCPUJDK6boolruntimefalseproduct1 compiler thread for log(N CPUs)share/runtime/globals.hpp
CICompilerCountJDK6intxruntimeCI_COMPILER_COUNT
range(0, max_jint)
productNumber of compiler threads to runshare/runtime/globals.hpp
CICountOSRJDK6boolruntimefalsedevelopuse a separate counter when assigning ids to osr compilationsshare/runtime/globals.hpp
CICrashAtJDK8intxruntime-1notproductid of compilation to trigger assert in compiler thread for the purpose of testing, e.g. generation of replay datashare/runtime/globals.hpp
CIFireOOMAtJDK6intxruntime-1developFire OutOfMemoryErrors throughout CI for testing the compiler (non-negative value throws OOM after this many CI accesses in each compile)share/runtime/globals.hpp
CIObjectFactoryVerifyJDK6boolruntimefalsenotproductenable potentially expensive verification in ciObjectFactoryshare/runtime/globals.hpp
CIPrintCompileQueueJDK6boolruntimefalsediagnosticdisplay the contents of the compile queue whenever a compilation is enqueuedshare/runtime/globals.hpp
CIPrintCompilerNameJDK6boolruntimefalsedevelopwhen CIPrint is active, print the name of the active compilershare/runtime/globals.hpp
CIPrintMethodCodesJDK6boolruntimefalsedevelopprint method bytecodes of the compiled codeshare/runtime/globals.hpp
CIPrintRequestsJDK6boolruntimefalsedevelopdisplay every request for compilationshare/runtime/globals.hpp
CIPrintTypeFlowJDK6boolruntimefalsedevelopprint the results of ciTypeFlow analysisshare/runtime/globals.hpp
CIStartOSRJDK6intxruntime0developThe id of the first osr compilation to permit (CICountOSR must be on)share/runtime/globals.hpp
CIStartJDK6intxruntime0developThe id of the first compilation to permitshare/runtime/globals.hpp
CIStopOSRJDK6intxruntimemax_jintdevelopThe id of the last osr compilation to permit (CICountOSR must be on)share/runtime/globals.hpp
CIStopJDK6intxruntimemax_jintdevelopThe id of the last compilation to permitshare/runtime/globals.hpp
CITimeEachJDK6boolruntimefalsedevelopdisplay timing information after each successful compilationshare/runtime/globals.hpp
CITimeVerboseJDK9boolruntimefalsedevelopbe more verbose in compilation timingsshare/runtime/globals.hpp
CITimeJDK6boolruntimefalseproductcollect timing information for compilationshare/runtime/globals.hpp
CITraceTypeFlowJDK6boolruntimefalsedevelopdetailed per-bytecode tracing of ciTypeFlow analysisshare/runtime/globals.hpp
CMSAbortSemanticsJDK6boolgcfalseproductWhether abort-on-overflow semantics is implementedshare/gc/cms/cms_globals.hpp
CMSAbortablePrecleanMinWorkPerIterationJDK6uintxgc100
range(0, max_intx)
productNominal minimum work per abortable preclean iterationshare/gc/cms/cms_globals.hpp
CMSBitMapYieldQuantumJDK6size_tgc10*M
range(1, max_uintx)
productBitmap operations should process at most this many bits between yieldsshare/gc/cms/cms_globals.hpp
CMSBootstrapOccupancyJDK6uintxgc50
range(0, 100)
productPercentage CMS generation occupancy at which to initiate CMS collection for bootstrapping collection statsshare/gc/cms/cms_globals.hpp
CMSCheckIntervalJDK8uintxgc1000developInterval in milliseconds that CMS thread checks if it should start a collection cycleshare/gc/cms/cms_globals.hpp
CMSClassUnloadingEnabledJDK6boolgctrueproductWhether class unloading enabled when using CMS GCshare/gc/cms/cms_globals.hpp
CMSClassUnloadingMaxIntervalJDK6uintxgc0
range(0, max_uintx)
productWhen CMS class unloading is enabled, the maximum CMS cycle count for which classes may not be unloadedshare/gc/cms/cms_globals.hpp
CMSCleanOnEnterJDK6boolgctrueproductClean-on-enter optimization for reducing number of dirty cardsshare/gc/cms/cms_globals.hpp
CMSConcMarkMultipleJDK6size_tgc32
range(1, SIZE_MAX / 4096)
productSize (in cards) of CMS concurrent MT marking taskshare/gc/cms/cms_globals.hpp
CMSConcurrentMTEnabledJDK6boolgctrueproductWhether multi-threaded concurrent work enabled (effective only if ParNewGC)share/gc/cms/cms_globals.hpp
CMSCoordinatorYieldSleepCountJDK6uintxgc10
range(0, max_juint)
productNumber of times the coordinator GC thread will sleep while yielding before giving up and resuming GCshare/gc/cms/cms_globals.hpp
CMSEdenChunksRecordAlwaysJDK7boolgctrueproductAlways record eden chunks used for the parallel initial mark or remark of edenshare/gc/cms/cms_globals.hpp
CMSExpAvgFactorJDK6uintxgc50
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponential averages for CMS statisticsshare/gc/cms/cms_globals.hpp
CMSExtrapolateSweepJDK6boolgcfalseproductCMS: cushion for block demand during sweepshare/gc/cms/cms_globals.hpp
CMSIncrementalSafetyFactorJDK6uintxgc10
range(0, 100)
productPercentage (0-100) used to add conservatism when computing the duty cycleshare/gc/cms/cms_globals.hpp
CMSIndexedFreeListReplenishJDK6uintxgc4
range(1, max_uintx)
productReplenish an indexed free list with this number of chunksshare/gc/cms/cms_globals.hpp
CMSInitiatingOccupancyFractionJDK6intxgc-1
range(-1, max_intx)
productPercentage CMS generation occupancy to start a CMS collection cycle. A negative value means that CMSTriggerRatio is usedshare/gc/cms/cms_globals.hpp
CMSIsTooFullPercentageJDK6uintxgc98
range(0, 100)
productAn absolute ceiling above which CMS will always consider the unloading of classes when class unloading is enabledshare/gc/cms/cms_globals.hpp
CMSLargeCoalSurplusPercentJDK6doublegc0.95
range(0.0, DBL_MAX)
productCMS: the factor by which to inflate estimated demand of large block sizes to prevent coalescing with an adjoining blockshare/gc/cms/cms_globals.hpp
CMSLargeSplitSurplusPercentJDK6doublegc1.00
range(0.0, DBL_MAX)
productCMS: the factor by which to inflate estimated demand of large block sizes to prevent splitting to supply demand for smaller blocksshare/gc/cms/cms_globals.hpp
CMSLoopWarnJDK6boolgcfalseproductWarn in case of excessive CMS loopingshare/gc/cms/cms_globals.hpp
CMSMarkStackOverflowALotJDK6boolgcfalsenotproductSimulate frequent marking stack / work queue overflowshare/gc/cms/cms_globals.hpp
CMSMarkStackOverflowIntervalJDK6uintxgc1000notproductAn 'interval' counter that determines how frequently to simulate overflow; a smaller number increases frequencyshare/gc/cms/cms_globals.hpp
CMSMaxAbortablePrecleanLoopsJDK6uintxgc0
range(0, max_uintx)
productMaximum number of abortable preclean iterations, if > 0share/gc/cms/cms_globals.hpp
CMSMaxAbortablePrecleanTimeJDK6intxgc5000
range(0, max_intx)
productMaximum time in abortable preclean (in milliseconds)share/gc/cms/cms_globals.hpp
CMSOldPLABMaxJDK6size_tgc1024
range(1, max_uintx)
productMaximum size of CMS gen promotion LAB caches per worker per block sizeshare/gc/cms/cms_globals.hpp
CMSOldPLABMinJDK6size_tgc16
range(1, max_uintx)
productMinimum size of CMS gen promotion LAB caches per worker per block sizeshare/gc/cms/cms_globals.hpp
CMSOldPLABNumRefillsJDK6uintxgc4
range(1, max_uintx)
productNominal number of refills of CMS gen promotion LAB cache per worker per block sizeshare/gc/cms/cms_globals.hpp
CMSOldPLABReactivityFactorJDK6uintxgc2
range(1, max_uintx)
productThe gain in the feedback loop for on-the-fly PLAB resizing during a scavengeshare/gc/cms/cms_globals.hpp
CMSOldPLABResizeQuickerJDK6boolgcfalseproductReact on-the-fly during a scavenge to a sudden change in block demand rateshare/gc/cms/cms_globals.hpp
CMSOldPLABToleranceFactorJDK6uintxgc4
range(1, max_uintx)
productThe tolerance of the phase-change detector for on-the-fly PLAB resizing during a scavengeshare/gc/cms/cms_globals.hpp
CMSPLABRecordAlwaysJDK6boolgctrueproductAlways record survivor space PLAB boundaries (effective only if CMSParallelSurvivorRemarkEnabled)share/gc/cms/cms_globals.hpp
CMSParallelInitialMarkEnabledJDK7boolgctrueproductUse the parallel initial mark.share/gc/cms/cms_globals.hpp
CMSParallelRemarkEnabledJDK6boolgctrueproductWhether parallel remark enabled (only if ParNewGC)share/gc/cms/cms_globals.hpp
CMSParallelSurvivorRemarkEnabledJDK6boolgctrueproductWhether parallel remark of survivor space enabled (effective only if CMSParallelRemarkEnabled)share/gc/cms/cms_globals.hpp
CMSPrecleanDenominatorJDK6uintxgc3
range(1, max_uintx)
productCMSPrecleanNumerator:CMSPrecleanDenominator yields convergence ratioshare/gc/cms/cms_globals.hpp
CMSPrecleanIterJDK6uintxgc3
range(0, 9)
productMaximum number of precleaning iteration passesshare/gc/cms/cms_globals.hpp
CMSPrecleanNumeratorJDK6uintxgc2
range(0, max_uintx-1)
productCMSPrecleanNumerator:CMSPrecleanDenominator yields convergence ratioshare/gc/cms/cms_globals.hpp
CMSPrecleanRefLists1JDK6boolgctrueproductPreclean ref lists during (initial) preclean phaseshare/gc/cms/cms_globals.hpp
CMSPrecleanRefLists2JDK6boolgcfalseproductPreclean ref lists during abortable preclean phaseshare/gc/cms/cms_globals.hpp
CMSPrecleanSurvivors1JDK6boolgcfalseproductPreclean survivors during (initial) preclean phaseshare/gc/cms/cms_globals.hpp
CMSPrecleanSurvivors2JDK6boolgctrueproductPreclean survivors during abortable preclean phaseshare/gc/cms/cms_globals.hpp
CMSPrecleanThresholdJDK6uintxgc1000
range(100, max_uintx)
productDo not iterate again if number of dirty cards is less than thisshare/gc/cms/cms_globals.hpp
CMSPrecleaningEnabledJDK6boolgctrueproductWhether concurrent precleaning enabledshare/gc/cms/cms_globals.hpp
CMSPrintChunksInDumpJDK6boolgcfalseproductIf logging for the 'gc' and 'promotion' tags is enabled ontrace level include more detailed information about thefree chunksshare/gc/cms/cms_globals.hpp
CMSPrintObjectsInDumpJDK6boolgcfalseproductIf logging for the 'gc' and 'promotion' tags is enabled ontrace level include more detailed information about theallocated objectsshare/gc/cms/cms_globals.hpp
CMSRemarkVerifyVariantJDK6uintxgc1
range(1, 2)
productChoose variant (1,2) of verification following remarkshare/gc/cms/cms_globals.hpp
CMSReplenishIntermediateJDK6boolgctrueproductReplenish all intermediate free-list cachesshare/gc/cms/cms_globals.hpp
CMSRescanMultipleJDK6size_tgc32
range(1, SIZE_MAX / 4096)
productSize (in cards) of CMS parallel rescan taskshare/gc/cms/cms_globals.hpp
CMSSamplingGrainJDK6uintxgc16*K
range(ObjectAlignmentInBytes, max_uintx)
productThe minimum distance between eden samples for CMS (see above)share/gc/cms/cms_globals.hpp
CMSScavengeBeforeRemarkJDK6boolgcfalseproductAttempt scavenge before the CMS remark stepshare/gc/cms/cms_globals.hpp
CMSScheduleRemarkEdenPenetrationJDK6uintxgc50
range(0, 100)
productThe Eden occupancy percentage (0-100) at which to try and schedule remark pauseshare/gc/cms/cms_globals.hpp
CMSScheduleRemarkEdenSizeThresholdJDK6size_tgc2*M
range(0, max_uintx)
productIf Eden size is below this, do not try to schedule remarkshare/gc/cms/cms_globals.hpp
CMSScheduleRemarkSamplingRatioJDK6uintxgc5
range(1, max_uintx)
productStart sampling eden top at least before young gen occupancy reaches 1/ of the size at which we plan to schedule remarkshare/gc/cms/cms_globals.hpp
CMSSmallCoalSurplusPercentJDK6doublegc1.05
range(0.0, DBL_MAX)
productCMS: the factor by which to inflate estimated demand of small block sizes to prevent coalescing with an adjoining blockshare/gc/cms/cms_globals.hpp
CMSSmallSplitSurplusPercentJDK6doublegc1.10
range(0.0, DBL_MAX)
productCMS: the factor by which to inflate estimated demand of small block sizes to prevent splitting to supply demand for smaller blocksshare/gc/cms/cms_globals.hpp
CMSSplitIndexedFreeListBlocksJDK6boolgctrueproductWhen satisfying batched demand, split blocks from the IndexedFreeList whose size is a multiple of requested sizeshare/gc/cms/cms_globals.hpp
CMSTestInFreeListJDK6boolgcfalsedevelopCheck if the coalesced range is already in the free lists as claimedshare/gc/cms/cms_globals.hpp
CMSTriggerRatioJDK6uintxgc80
range(0, 100)
productPercentage of MinHeapFreeRatio in CMS generation that is allocated before a CMS collection cycle commencesshare/gc/cms/cms_globals.hpp
CMSVerifyReturnedBytesJDK6boolgcfalsenotproductCheck that all the garbage collected was returned to the free listsshare/gc/cms/cms_globals.hpp
CMSWorkQueueDrainThresholdJDK6uintxgc10
range(min_jint, max_jint)
productDon't drain below this size per parallel worker/thiefshare/gc/cms/cms_globals.hpp
CMSYieldSleepCountJDK6uintxgc0
range(0, max_juint)
productNumber of times a GC thread (minus the coordinator) will sleep while yielding before giving up and resuming GCshare/gc/cms/cms_globals.hpp
CMSYieldJDK6boolgctrueproductYield between steps of CMSshare/gc/cms/cms_globals.hpp
CMSYoungGenPerWorkerJDK6uintxaarch6464*Mdefine_pd_global// default max size of CMS young gen, per GC worker threadcpu/aarch64/globals_aarch64.hpp
CMSYoungGenPerWorkerJDK6size_tarm16*Mdefine_pd_global// default max size of CMS young gen, per GC worker threadcpu/arm/globals_arm.hpp
CMSYoungGenPerWorkerJDK6size_tgcproduct_pdThe maximum size of young gen chosen by default per GC worker thread availableshare/gc/cms/cms_globals.hpp
CMSYoungGenPerWorkerJDK6size_tppc16*Mdefine_pd_global// Default max size of CMS young gen, per GC worker thread.cpu/ppc/globals_ppc.hpp
CMSYoungGenPerWorkerJDK6size_ts39016*Mdefine_pd_global// Default max size of CMS young gen, per GC worker thread.cpu/s390/globals_s390.hpp
CMSYoungGenPerWorkerJDK6size_tsparc16*Mdefine_pd_global// default max size of CMS young gen, per GC worker threadcpu/sparc/globals_sparc.hpp
CMSYoungGenPerWorkerJDK6size_tx8664*Mdefine_pd_global// default max size of CMS young gen, per GC worker threadcpu/x86/globals_x86.hpp
CMSYoungGenPerWorkerJDK6size_tzero16*Mdefine_pd_global// default max size of CMS young gen, per GC worker threadcpu/zero/globals_zero.hpp
CMS_FLSPaddingJDK6uintxgc1
range(0, max_juint)
productThe multiple of deviation from mean to use for buffering against volatility in free list demandshare/gc/cms/cms_globals.hpp
CMS_FLSWeightJDK6uintxgc75
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying averages for CMS FLS statisticsshare/gc/cms/cms_globals.hpp
CMS_SweepPaddingJDK6uintxgc1
range(0, max_juint)
productThe multiple of deviation from mean to use for buffering against volatility in inter-sweep durationshare/gc/cms/cms_globals.hpp
CMS_SweepTimerThresholdMillisJDK6uintxgc10
range(0, max_uintx)
productSkip block flux-rate sampling for an epoch unless inter-sweep duration exceeds this threshold in millisecondsshare/gc/cms/cms_globals.hpp
CMS_SweepWeightJDK6uintxgc75
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for inter-sweep durationshare/gc/cms/cms_globals.hpp
CPUForCMSThreadJDK6uintxgc0
range(0, max_juint)
diagnosticWhen BindCMSThreadToCPU is true, the CPU to bind CMS thread toshare/gc/cms/cms_globals.hpp
CSEArrayLengthJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CSEArrayLengthJDK6boolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
CSEArrayLengthJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CSEArrayLengthJDK6bools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
CSEArrayLengthJDK6boolsparctruedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
CSEArrayLengthJDK6boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
CalculateClassFingerprintJDK10boolruntimefalseproductCalculate class fingerprintshare/runtime/globals.hpp
CanonicalizeNodesJDK6boolc1truedevelopCanonicalize graph nodesshare/c1/c1_globals.hpp
CheckCompressedOopsJDK6boolruntimetruenotproductGenerate checks in encoding/decoding code in debug VMshare/runtime/globals.hpp
CheckIntrinsicsJDK9boolruntimetrue
range(0, max_intx)
diagnosticWhen a class C is loaded, check that (1) all intrinsics defined by the VM for class C are present in the loaded class file and are marked with the @HotSpotIntrinsicCandidate annotation, that (2) there is an intrinsic registered for all loaded methods that are annotated with the @HotSpotIntrinsicCandidate annotation, and that (3) no orphan methods exist for class C (i.e., methods for which the VM declares an intrinsic but that are not declared in the loaded class C. Check (3) is available only in debug builds.share/runtime/globals.hpp
CheckJNICallsJDK6boolruntimefalseproductVerify all arguments to JNI callsshare/runtime/globals.hpp
CheckMemoryInitializationJDK6boolruntimefalsenotproductCheck memory initializationshare/runtime/globals.hpp
CheckUnhandledOopsJDK6boolruntimefalsedevelopCheck for unhandled oops in VM codeshare/runtime/globals.hpp
CheckZapUnusedHeapAreaJDK6boolruntimefalsedevelopCheck zapping of unused heap spaceshare/runtime/globals.hpp
ClassUnloadingWithConcurrentMarkJDK8boolruntimetrueproductDo unloading of classes with a concurrent marking cycleshare/runtime/globals.hpp
ClassUnloadingJDK6boolruntimetrueproductDo unloading of classesshare/runtime/globals.hpp
CleanChunkPoolAsyncJDK6boolruntimetruedevelopClean the chunk pool asynchronouslyshare/runtime/globals.hpp
ClipInliningJDK6boolruntimetrueproductClip inlining if aggregate method exceeds DesiredMethodLimitshare/runtime/globals.hpp
CodeCacheExpansionSizeJDK6intxaarch6432*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheExpansionSizeJDK6size_tarm32*Kdefine_pd_globalcpu/arm/c1_globals_arm.hpp
CodeCacheExpansionSizeJDK6uintxruntimeproduct_pdCode cache expansion size (in bytes)share/runtime/globals.hpp
CodeCacheExpansionSizeJDK6uintxppc32*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheExpansionSizeJDK6uintxs39032*Kdefine_pd_globalcpu/s390/c1_globals_s390.hpp
CodeCacheExpansionSizeJDK6uintxsparc64*Kdefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
CodeCacheExpansionSizeJDK6uintxx8632*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheMinBlockLengthJDK6uintxaarch641define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinBlockLengthJDK6uintxarm1define_pd_globalcpu/arm/c1_globals_arm.hpp
CodeCacheMinBlockLengthJDK6uintxruntime1define_pd_globalshare/runtime/globals.hpp
CodeCacheMinBlockLengthJDK6uintxppc1define_pd_globalcpu/ppc/c1_globals_ppc.hpp
CodeCacheMinBlockLengthJDK6uintxs3901define_pd_globalcpu/s390/c1_globals_s390.hpp
CodeCacheMinBlockLengthJDK6uintxsparc4define_pd_globalcpu/sparc/c2_globals_sparc.hpp
CodeCacheMinBlockLengthJDK6uintxx861define_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheMinimumUseSpaceJDK8uintxaarch64400*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CodeCacheMinimumUseSpaceJDK8size_tarm400*Kdefine_pd_globalcpu/arm/c1_globals_arm.hpp
CodeCacheMinimumUseSpaceJDK8uintxruntime200*Kdefine_pd_globalshare/runtime/globals.hpp
CodeCacheMinimumUseSpaceJDK8uintxppc400*Kdefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
CodeCacheMinimumUseSpaceJDK8uintxs390400*Kdefine_pd_globalcpu/s390/c1_globals_s390.hpp
CodeCacheMinimumUseSpaceJDK8uintxsparc400*Kdefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
CodeCacheMinimumUseSpaceJDK8uintxx86400*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
CodeCacheSegmentSizeJDK6uintxaarch6464 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/aarch64/globals_aarch64.hpp
CodeCacheSegmentSizeJDK6uintxarm64 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/arm/globals_arm.hpp
CodeCacheSegmentSizeJDK6uintxppc128define_pd_globalcpu/ppc/globals_ppc.hpp
CodeCacheSegmentSizeJDK6uintxs390256define_pd_globalcpu/s390/globals_s390.hpp
CodeCacheSegmentSizeJDK6uintxsparc64 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/sparc/globals_sparc.hpp
CodeCacheSegmentSizeJDK6uintxx8664 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/x86/globals_x86.hpp
CodeCacheSegmentSizeJDK6uintxzero64 TIERED_ONLY(+64)define_pd_global// Tiered compilation has large code-entry alignment.cpu/zero/globals_zero.hpp
CodeEntryAlignmentJDK6intxaarch6464define_pd_globalcpu/aarch64/globals_aarch64.hpp
CodeEntryAlignmentJDK6intxarm16define_pd_globalcpu/arm/globals_arm.hpp
CodeEntryAlignmentJDK6intxppc128define_pd_globalcpu/ppc/globals_ppc.hpp
CodeEntryAlignmentJDK6intxs39064define_pd_globalcpu/s390/globals_s390.hpp
CodeEntryAlignmentJDK6intxsparc32define_pd_globalcpu/sparc/globals_sparc.hpp
CodeEntryAlignmentJDK6intxx8616define_pd_globalcpu/x86/globals_x86.hpp
CodeEntryAlignmentJDK6intxzero32define_pd_globalcpu/zero/globals_zero.hpp
CollectIndexSetStatisticsJDK6boolruntimefalsenotproductCollect information about IndexSetsshare/runtime/globals.hpp
CommentedAssemblyJDK6boolc1trueInDebugdevelopShow extra info in PrintNMethods outputshare/c1/c1_globals.hpp
CompactFieldsJDK6boolruntimetrueproductAllocate nonstatic fields in gaps between previous fieldsshare/runtime/globals.hpp
CompactStringsJDK9boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
CompactStringsJDK9boolarmfalsedefine_pd_globalcpu/arm/globals_arm.hpp
CompactStringsJDK9boolruntimeproduct_pdEnable Strings to use single byte chars in backing storeshare/runtime/globals.hpp
CompactStringsJDK9boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
CompactStringsJDK9bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
CompactStringsJDK9boolsparctruedefine_pd_globalcpu/sparc/globals_sparc.hpp
CompactStringsJDK9boolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
CompactStringsJDK9boolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
CompilationPolicyChoiceJDK6intxruntime0
range(0, 2)
productwhich compilation policy (0-2)share/runtime/globals.hpp
CompileCommandFileJDK6ccstrruntimeNULLproductRead compiler commands from this file [.hotspot_compiler]share/runtime/globals.hpp
CompileCommandJDK6ccstrlistruntimePrepend to .hotspot_compiler; e.g. log,java/lang/String.productshare/runtime/globals.hpp
CompileOnlyJDK6ccstrlistruntimeList of methods (pkg/class.name) to restrict compilation toproductshare/runtime/globals.hpp
CompileTheWorldPreloadClassesJDK6boolruntimetruedevelopPreload all classes used by a class before start loadingshare/runtime/globals.hpp
CompileTheWorldSafepointIntervalJDK6intxruntime100notproductForce a safepoint every n compiles so sweeper can keep upshare/runtime/globals.hpp
CompileTheWorldStartAtJDK6intxruntime1notproductFirst class to consider when using +CompileTheWorldshare/runtime/globals.hpp
CompileTheWorldStopAtJDK6intxruntimemax_jintnotproductLast class to consider when using +CompileTheWorldshare/runtime/globals.hpp
CompileTheWorldJDK6boolruntimefalsedevelopCompile all methods in all classes in bootstrap class path (stress test)share/runtime/globals.hpp
CompileThresholdScalingJDK9doubleruntime1.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
CompileThresholdJDK6intxaarch641500define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
CompileThresholdJDK6intxarm1500define_pd_globalcpu/arm/c1_globals_arm.hpp
CompileThresholdJDK6intxruntimeproduct_pdnumber of interpreted method invocations before (re-)compilingshare/runtime/globals.hpp
CompileThresholdJDK6intxppc1000define_pd_globalcpu/ppc/c1_globals_ppc.hpp
CompileThresholdJDK6intxs3901000define_pd_globalcpu/s390/c1_globals_s390.hpp
CompileThresholdJDK6intxsparc10000define_pd_globalcpu/sparc/c2_globals_sparc.hpp
CompileThresholdJDK6intxx861500define_pd_globalcpu/x86/c1_globals_x86.hpp
CompilerDirectivesFileJDK9ccstrruntimeNULLdiagnosticRead compiler directives from this fileshare/runtime/globals.hpp
CompilerDirectivesIgnoreCompileCommandsJDK9boolruntimefalsediagnosticDisable backwards compatibility for compile commands.share/runtime/globals.hpp
CompilerDirectivesLimitJDK9intruntime50diagnosticLimit on number of compiler directives.share/runtime/globals.hpp
CompilerDirectivesPrintJDK9boolruntimefalsediagnosticPrint compiler directives on installation.share/runtime/globals.hpp
CompilerThreadHintNoPreemptJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproduct(Solaris only) Give compiler threads an extra quantashare/runtime/globals.hpp
CompilerThreadPriorityJDK6intxruntime-1
range(min_jint, max_jint)
productThe native priority at which compiler threads should run (-1 means no change)share/runtime/globals.hpp
CompilerThreadStackSizeJDK6intxaixppc4096define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
CompilerThreadStackSizeJDK6intxbsdx86512define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
CompilerThreadStackSizeJDK6intxbsdzero0define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
CompilerThreadStackSizeJDK6intxlinuxaarch642048define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
CompilerThreadStackSizeJDK6intxlinuxarm512define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
CompilerThreadStackSizeJDK6intxlinuxppc4096define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
CompilerThreadStackSizeJDK6intxlinuxs3902048define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
CompilerThreadStackSizeJDK6intxlinuxx86512define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
CompilerThreadStackSizeJDK6intxlinuxzero0define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
CompilerThreadStackSizeJDK6intxruntimeproduct_pdCompiler Thread Stack Size (in Kbytes)share/runtime/globals.hpp
CompilerThreadStackSizeJDK6intxsparc1024define_pd_globalcpu/sparc/globals_sparc.hpp
CompilerThreadStackSizeJDK6intxsolarisx86512define_pd_globalos_cpu/solaris_x86/globals_solaris_x86.hpp
CompilerThreadStackSizeJDK6intxwindowsx860define_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
CompressedClassSpaceSizeJDK8size_truntime1*G
range(0, 100)
productMaximum size of class area in Metaspace when compressed class pointers are usedshare/runtime/globals.hpp
ComputeExactFPURegisterUsageJDK6boolc1truedevelopCompute additional live set for fpu registers to simplify fpu stack merge (Intel only)share/c1/c1_globals.hpp
ConcGCThreadsJDK6uintgc0productNumber of threads concurrent gc will useshare/gc/shared/gc_globals.hpp
ConcGCYieldTimeoutJDK6intxgc0
range(0, max_intx)
developIf non-zero, assert that GC threads yield within this number of millisecondsshare/gc/shared/gc_globals.hpp
ConditionalMoveLimitJDK6intxaarch643define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
ConditionalMoveLimitJDK6intxarm4define_pd_globalcpu/arm/c2_globals_arm.hpp
ConditionalMoveLimitJDK6intxc2product_pdLimit of ops to make speculative when using CMOVEshare/opto/c2_globals.hpp
ConditionalMoveLimitJDK6intxppc3define_pd_globalcpu/ppc/c2_globals_ppc.hpp
ConditionalMoveLimitJDK6intxs3904define_pd_globalcpu/s390/c2_globals_s390.hpp
ConditionalMoveLimitJDK6intxsparc4define_pd_globalcpu/sparc/c2_globals_sparc.hpp
ConditionalMoveLimitJDK6intxx863define_pd_globalcpu/x86/c2_globals_x86.hpp
ContendedPaddingWidthJDK8intxruntime128
range(0, 8192)
productHow many bytes to pad the fields/classes marked @Contended withshare/runtime/globals.hpp
ConvertCmpD2CmpFJDK6boolc2truedevelopConvert cmpD to cmpF when one input is constant in float rangeshare/opto/c2_globals.hpp
ConvertFloat2IntClippingJDK6boolc2truedevelopConvert float2int clipping idiom to integer clippingshare/opto/c2_globals.hpp
CountBytecodesJDK6boolruntimefalsedevelopCount number of bytecodes executedshare/runtime/globals.hpp
CountCompiledCallsJDK6boolruntimefalsedevelopCount method invocationsshare/runtime/globals.hpp
CountJNICallsJDK6boolruntimefalsedevelopCount jni method invocationsshare/runtime/globals.hpp
CountJVMCallsJDK6boolruntimefalsenotproductCount jvm method invocationsshare/runtime/globals.hpp
CountLinearScanJDK6boolc1falsedevelopcollect statistic counters during LinearScanshare/c1/c1_globals.hpp
CountRemovableExceptionsJDK6boolruntimefalsenotproductCount exceptions that could be replaced by branches due to inliningshare/runtime/globals.hpp
CountRuntimeCallsJDK6boolruntimefalsenotproductCount VM runtime callsshare/runtime/globals.hpp
CounterDecayMinIntervalLengthJDK6intxruntime500developThe minimum interval (in milliseconds) between invocation of CounterDecayshare/runtime/globals.hpp
CounterHalfLifeTimeJDK6intxruntime30developHalf-life time of invocation counters (in seconds)share/runtime/globals.hpp
CrashGCForDumpingJavaThreadJDK6boolruntimefalsenotproductManually make GC thread crash then dump java stack trace; Test onlyshare/runtime/globals.hpp
CrashOnOutOfMemoryErrorJDK8boolruntimefalseproductJVM aborts, producing an error log and core/mini dump, on the first occurrence of an out-of-memory errorshare/runtime/globals.hpp
CreateCoredumpOnCrashJDK9boolruntimetrueproductCreate core/mini dump on VM fatal errorshare/runtime/globals.hpp
CriticalJNINativesJDK6boolruntimetrueproductCheck for critical JNI entry pointsshare/runtime/globals.hpp
DSCR_DPFD_PPC64JDK9uint64_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_PPC64JDK9uint64_tppc(uintx)-1productPower8 or later: Specify encoded value for Data Stream Control Registercpu/ppc/globals_ppc.hpp
DSCR_URG_PPC64JDK9uint64_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
DTraceAllocProbesJDK6boolruntimefalseproductEnable dtrace probes for object allocationshare/runtime/globals.hpp
DTraceMethodProbesJDK6boolruntimefalseproductEnable dtrace probes for method-entry and method-exitshare/runtime/globals.hpp
DTraceMonitorProbesJDK6boolruntimefalseproductEnable dtrace probes for monitor eventsshare/runtime/globals.hpp
DebugDeoptimizationJDK6boolruntimefalsedevelopTracing various information while debugging deoptimizationshare/runtime/globals.hpp
DebugInlinedCallsJDK6boolc2truediagnosticIf false, restricts profiled locations to the root method onlyshare/opto/c2_globals.hpp
DebugNonSafepointsJDK6boolruntimetrueInDebugdiagnosticGenerate extra debugging information for non-safepoints in nmethodsshare/runtime/globals.hpp
DebugVtablesJDK6boolruntimefalsedevelopadd debugging code to vtable dispatchshare/runtime/globals.hpp
DebuggingJDK6boolruntimefalseproductSet when executing debug methods in debug.cpp (to prevent triggering assertions)share/runtime/globals.hpp
DeferInitialCardMarkJDK6boolgcfalsediagnosticWhen +ReduceInitialCardMarks, explicitly defer any that may arise from new_pre_store_barriershare/gc/shared/gc_globals.hpp
DelayCompilationDuringStartupJDK6boolruntimetruedevelopDelay invoking the compiler until main application class is loadedshare/runtime/globals.hpp
DeoptC1JDK6boolc1truedevelopUse deoptimization in C1share/c1/c1_globals.hpp
DeoptimizeALotIntervalJDK6intxruntime5notproductNumber of exits until DeoptimizeALot kicks inshare/runtime/globals.hpp
DeoptimizeALotJDK6boolruntimefalsedevelopDeoptimize at every exit from the runtime systemshare/runtime/globals.hpp
DeoptimizeOnlyAtJDK6ccstrlistruntimeA comma separated list of bcis to deoptimize atnotproductshare/runtime/globals.hpp
DeoptimizeRandomJDK6boolruntimefalseproductDeoptimize random frames on random exit from the runtime systemshare/runtime/globals.hpp
DesiredMethodLimitJDK6intxruntime8000developThe desired maximum method size (in bytecodes) after inliningshare/runtime/globals.hpp
DieOnSafepointTimeoutJDK6boolruntimefalsedevelopDie upon failure to reach safepoint (see SafepointTimeout)share/runtime/globals.hpp
DisableAttachMechanismJDK6boolruntimefalseproductDisable mechanism that allows tools to attach to this VMshare/runtime/globals.hpp
DisableBCCheckJDK9boolaarch64trueproducttell sim not to invoke bccheck callbackcpu/aarch64/globals_aarch64.hpp
DisableExplicitGCJDK6boolgcfalseproductIgnore calls to System.gc()share/gc/shared/gc_globals.hpp
DisableIntrinsicJDK6ccstrlistruntimedo not expand intrinsics whose (internal) names appear herediagnosticshare/runtime/globals.hpp
DisablePrimordialThreadGuardPagesJDK8boolruntimefalseexperimentalDisable the use of stack guard pages if the JVM is loaded on the primordial process threadshare/runtime/globals.hpp
DisableStartThreadJDK6boolruntimefalsedevelopDisable starting of additional Java threads (for debugging only)share/runtime/globals.hpp
DisplayVMOutputToStderrJDK6boolruntimefalseproductIf DisplayVMOutput is true, display all VM output to stderrshare/runtime/globals.hpp
DisplayVMOutputToStdoutJDK6boolruntimefalseproductIf DisplayVMOutput is true, display all VM output to stdoutshare/runtime/globals.hpp
DisplayVMOutputJDK6boolruntimetruediagnosticDisplay all VM output on the tty, independently of LogVMOutputshare/runtime/globals.hpp
DoCEEJDK6boolc1truedevelopDo Conditional Expression Elimination to simplify CFGshare/c1/c1_globals.hpp
DoEscapeAnalysisJDK6boolc2trueproductPerform escape analysisshare/opto/c2_globals.hpp
DoReserveCopyInSuperWordJDK9boolc2trueproductCreate reserve copy of graph in SuperWord.share/opto/c2_globals.hpp
DominatorSearchLimitJDK6intxc21000
range(0, max_jint)
diagnosticIterations limit in Node::dominatesshare/opto/c2_globals.hpp
DontCompileHugeMethodsJDK6boolruntimetrueproductDo not compile methods > HugeMethodLimitshare/runtime/globals.hpp
DontYieldALotIntervalJDK6intxruntime10developInterval between which yields will be dropped (milliseconds)share/runtime/globals.hpp
DontYieldALotJDK6boolaixppcfalsedefine_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
DontYieldALotJDK6boolbsdx86falsedefine_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
DontYieldALotJDK6boolbsdzerofalsedefine_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
DontYieldALotJDK6boollinuxaarch64falsedefine_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
DontYieldALotJDK6boollinuxarmfalsedefine_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
DontYieldALotJDK6boollinuxppcfalsedefine_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
DontYieldALotJDK6boollinuxs390falsedefine_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
DontYieldALotJDK6boollinuxx86falsedefine_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
DontYieldALotJDK6boollinuxzerofalsedefine_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
DontYieldALotJDK6boolruntimeproduct_pdThrow away obvious excess yield callsshare/runtime/globals.hpp
DontYieldALotJDK6boolsparctruedefine_pd_global// yield no more than 100 times per secondcpu/sparc/globals_sparc.hpp
DontYieldALotJDK6boolsolarisx86truedefine_pd_global// Determined in the design centeros_cpu/solaris_x86/globals_solaris_x86.hpp
DontYieldALotJDK6boolwindowsx86falsedefine_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
DumpLoadedClassListJDK8ccstrruntimeNULLproductDump the names all loaded classes, that could be stored into the CDS archive, in the specified fileshare/runtime/globals.hpp
DumpReplayDataOnErrorJDK8boolruntimetrueproductRecord replay data for crashing compiler threadsshare/runtime/globals.hpp
DumpSharedSpacesJDK6boolruntimefalseproductSpecial 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
DynamicallyResizeSystemDictionariesJDK10boolruntimetruediagnosticDynamically resize system dictionaries as neededshare/runtime/globals.hpp
EagerInitializationJDK6boolruntimefalsedevelopEagerly initialize classes if possibleshare/runtime/globals.hpp
EagerJVMCIJDK11booljvmcifalseexperimentalForce eager JVMCI initializationshare/jvmci/jvmci_globals.hpp
EagerXrunInitJDK6boolruntimefalseproductEagerly initialize -Xrun libraries; allows startup profiling, but not all -Xrun libraries may support the state of the VM at this timeshare/runtime/globals.hpp
EliminateAllocationArraySizeLimitJDK6intxc264
range(0, max_jint)
productArray size (number of elements) limit for scalar replacementshare/opto/c2_globals.hpp
EliminateAllocationsJDK6boolc2trueproductUse escape analysis to eliminate allocationsshare/opto/c2_globals.hpp
EliminateAutoBoxJDK6boolc2trueproductControl optimizations for autobox eliminationshare/opto/c2_globals.hpp
EliminateBlocksJDK6boolc1truedevelopEliminate unneccessary basic blocksshare/c1/c1_globals.hpp
EliminateFieldAccessJDK6boolc1truedevelopOptimize field loads and storesshare/c1/c1_globals.hpp
EliminateLocksJDK6boolc2trueproductCoarsen locks when possibleshare/opto/c2_globals.hpp
EliminateNestedLocksJDK6boolc2trueproductEliminate nested locks of the same object when possibleshare/opto/c2_globals.hpp
EliminateNullChecksJDK6boolc1truedevelopEliminate unneccessary null checksshare/c1/c1_globals.hpp
EmitSyncJDK6Obsoleted in JDK12
Expired in JDK13
intxruntime0experimental(Unsafe, Unstable) Control emission of inline sync fast-path codeshare/runtime/globals.hpp
EnableContendedJDK8boolruntimetrueproductEnable @Contended annotation supportshare/runtime/globals.hpp
EnableDynamicAgentLoadingJDK9boolruntimetrueproductAllow tools to load agents with the attach mechanismshare/runtime/globals.hpp
EnableJVMCIJDK9booljvmcifalseexperimentalEnable JVMCIshare/jvmci/jvmci_globals.hpp
EnableThreadSMRExtraValidityChecksJDK10boolruntimetruediagnosticEnable Thread SMR extra validity checksshare/runtime/globals.hpp
EnableThreadSMRStatisticsJDK10boolruntimetrueInDebugdiagnosticEnable Thread SMR Statisticsshare/runtime/globals.hpp
EpsilonElasticTLABDecayJDK11boolgctrueexperimentalUse 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
EpsilonElasticTLABJDK11boolgctrueexperimentalUse 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
EpsilonMaxTLABSizeJDK11size_tgc4 * M
range(1, max_intx)
experimentalMax TLAB size to use with Epsilon GC. Larger value improves performance at the expense of per-thread memory waste. This asks TLAB machinery to cap TLAB sizes at this value.share/gc/epsilon/epsilon_globals.hpp
EpsilonMinHeapExpandJDK11size_tgc128 * M
range(1, max_intx)
experimentalMin expansion step for heap. Larger value improves performance at the potential expense of memory waste.share/gc/epsilon/epsilon_globals.hpp
EpsilonPrintHeapStepsJDK11size_tgc20
range(0, max_intx)
experimentalPrint heap occupancy stats with this number of steps.
0 turns the printing off.
share/gc/epsilon/epsilon_globals.hpp
EpsilonTLABDecayTimeJDK11size_tgc1000
range(1, max_intx)
experimentalTLAB sizing policy decays to initial size after thread had not allocated for this long. Time is in milliseconds. Lower value improves memory footprint, but penalizes actively allocating threads.share/gc/epsilon/epsilon_globals.hpp
EpsilonTLABElasticityJDK11doublegc1.1
range(1, max_intx)
experimentalMultiplier to use when deciding on next TLAB size. Larger value improves performance at the expense of per-thread memory waste. Lower value improves memory footprint, but penalizes actively allocating threads.share/gc/epsilon/epsilon_globals.hpp
EpsilonUpdateCountersStepJDK11size_tgc1 * M
range(1, max_intx)
experimentalUpdate heap occupancy counters after allocating this much memory. Higher values would make allocations faster at the expense of lower resolution in heap counters.share/gc/epsilon/epsilon_globals.hpp
ErgoHeapSizeLimitJDK6size_tgc0
range(0, max_uintx)
productMaximum ergonomically set heap size (in bytes); zero means use MaxRAM * MaxRAMPercentage / 100share/gc/shared/gc_globals.hpp
ErrorFileJDK6ccstrruntimeNULLproductIf an error occurs, save the error data to this file [default: ./hs_err_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
ErrorHandlerTestJDK6uintxruntime0notproductIf > 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
ErrorLogTimeoutJDK9uint64_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
ErrorReportServerJDK6Obsoleted in JDK12
Expired in JDK13
ccstrruntimeNULLproductOverride built-in error report server addressshare/runtime/globals.hpp
EscapeAnalysisTimeoutJDK7doublec220. DEBUG_ONLY(+40.)
range(0, DBL_MAX)
productAbort EA when it reaches time limit (in sec)share/opto/c2_globals.hpp
EstimateArgEscapeJDK6boolruntimetrueproductAnalyze bytecodes to estimate escape state of argumentsshare/runtime/globals.hpp
ExecuteInternalVMTestsJDK6boolgcfalsenotproductEnable execution of internal VM testsshare/gc/shared/gc_globals.hpp
ExecutingUnitTestsJDK9boolgcfalseproductWhether the JVM is running unit tests or notshare/gc/shared/gc_globals.hpp
ExitEscapeAnalysisOnTimeoutJDK7boolc2truedevelopExit or throw assert in EA when it reaches time limitshare/opto/c2_globals.hpp
ExitOnFullCodeCacheJDK6boolruntimefalsenotproductExit the VM if we fill the code cacheshare/runtime/globals.hpp
ExitOnOutOfMemoryErrorJDK8boolruntimefalseproductJVM exits on the first occurrence of an out-of-memory errorshare/runtime/globals.hpp
ExitVMOnVerifyErrorJDK6boolruntimefalsenotproductstandard exit from VM if bytecode verify error (only in debug mode)share/runtime/globals.hpp
ExpandLoadingBaseDecode_NNJDK9bools390trueproductExpand the assembler instruction required to load the base from DecodeN_NN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseDecodeJDK9bools390trueproductExpand the assembler instruction required to load the base from DecodeN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncode_NNJDK9bools390trueproductExpand the assembler instruction required to load the base from EncodeP_NN nodes during matching.cpu/s390/globals_s390.hpp
ExpandLoadingBaseEncodeJDK9bools390trueproductExpand the assembler instruction required to load the base from EncodeP nodes during matching.cpu/s390/globals_s390.hpp
ExplicitGCInvokesConcurrentJDK6boolgcfalseproductA System.gc() request invokes a concurrent collection; (effective only when using concurrent collectors)share/gc/shared/gc_globals.hpp
ExtendedDTraceProbesJDK6boolruntimefalseproductEnable performance-impacting dtrace probesshare/runtime/globals.hpp
ExtraSharedClassListFileJDK8ccstrruntimeNULLproductExtra classlist for building the CDS archive fileshare/runtime/globals.hpp
FLOATPRESSUREJDK6intxaarch6464define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
FLOATPRESSUREJDK6intxarm30define_pd_globalcpu/arm/c2_globals_arm.hpp
FLOATPRESSUREJDK6intxppc28define_pd_globalcpu/ppc/c2_globals_ppc.hpp
FLOATPRESSUREJDK6intxs39015define_pd_globalcpu/s390/c2_globals_s390.hpp
FLOATPRESSUREJDK6intxsparc52define_pd_global// C2 on V9 gets to use all the float/double registerscpu/sparc/c2_globals_sparc.hpp
FLOATPRESSUREJDK6intxx866define_pd_globalcpu/x86/c2_globals_x86.hpp
FLSAlwaysCoalesceLargeJDK6boolgcfalseproductCMS: larger free blocks are always available for coalescingshare/gc/cms/cms_globals.hpp
FLSCoalescePolicyJDK6uintxgc2
range(0, 4)
productCMS: aggressiveness level for coalescing, increasing from 0 to 4share/gc/cms/cms_globals.hpp
FLSLargestBlockCoalesceProximityJDK6doublegc0.99
range(0.0, 1.0)
productCMS: the smaller the percentage the greater the coalescing forceshare/gc/cms/cms_globals.hpp
FLSVerifyAllHeapReferencesJDK6boolgcfalsediagnosticVerify that all references across the FLS boundary are to valid objectsshare/gc/cms/cms_globals.hpp
FLSVerifyDictionaryJDK6boolruntimefalsedevelopDo lots of (expensive) FLS dictionary verificationshare/runtime/globals.hpp
FLSVerifyIndexTableJDK6boolgcfalsediagnosticDo lots of (expensive) FLS index table verificationshare/gc/cms/cms_globals.hpp
FLSVerifyListsJDK6boolgcfalsediagnosticDo lots of (expensive) FreeListSpace verificationshare/gc/cms/cms_globals.hpp
FailOverToOldVerifierJDK6boolruntimetrueproductFail over to old verifier when split verifier failsshare/runtime/globals.hpp
FastAllocateSizeLimitJDK6intxruntime128*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
FastSuperclassLimitJDK6intxruntime8developDepth of hardwired instanceof accelerator arrayshare/runtime/globals.hpp
FieldsAllocationStyleJDK6intxruntime1
range(0, 2)
product0 - type based with oops first,
1 - with oops last,
2 - oops in super and sub classes are together
share/runtime/globals.hpp
FillDelaySlotsJDK6boolruntimetruedevelopFill delay slots (on SPARC only)share/runtime/globals.hpp
FilterSpuriousWakeupsJDK6boolruntimetrueproductWhen true prevents OS-level spurious, or premature, wakeups from Object.wait (Ignored for Windows)share/runtime/globals.hpp
FlightRecorderOptionsJDK11ccstrruntimeNULLproductFlight Recorder optionsshare/runtime/globals.hpp
FlightRecorderJDK11boolruntimefalseproductEnable Flight Recordershare/runtime/globals.hpp
FoldStableValuesJDK8boolruntimetruediagnosticOptimize loads from stable fields (marked w/ @Stable)share/runtime/globals.hpp
ForceDynamicNumberOfGCThreadsJDK6boolgcfalsediagnosticForce dynamic selection of the number of parallel threads parallel gc will use to aid debuggingshare/gc/shared/gc_globals.hpp
ForceFloatExceptionsJDK6boolruntimetrueInDebugdevelopForce exceptions on FP stack under/overflowshare/runtime/globals.hpp
ForceNUMAJDK6boolruntimefalseproductForce NUMA optimizations on single-node/UMA systemsshare/runtime/globals.hpp
ForceTimeHighResolutionJDK6boolruntimefalseproductUsing high time resolution (for Win32 only)share/runtime/globals.hpp
ForceUnreachableJDK6boolruntimefalsediagnosticMake all non code cache addresses to be unreachable by forcing use of 64bit literal fixupsshare/runtime/globals.hpp
FreqCountInvocationsJDK6intxc21
range(1, max_intx)
developScaling factor for branch frequencies (deprecated)share/opto/c2_globals.hpp
FreqInlineSizeJDK6intxaarch64325define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
FreqInlineSizeJDK6intxarm325define_pd_globalcpu/arm/c1_globals_arm.hpp
FreqInlineSizeJDK6intxruntimeproduct_pdThe maximum bytecode size of a frequent method to be inlinedshare/runtime/globals.hpp
FreqInlineSizeJDK6intxppc325define_pd_globalcpu/ppc/c1_globals_ppc.hpp
FreqInlineSizeJDK6intxs390325define_pd_globalcpu/s390/c1_globals_s390.hpp
FreqInlineSizeJDK6intxsparc175define_pd_globalcpu/sparc/c2_globals_sparc.hpp
FreqInlineSizeJDK6intxx86325define_pd_globalcpu/x86/c1_globals_x86.hpp
FullGCALotDummiesJDK6intxgc32*KnotproductDummy object allocated with +FullGCALot, forcing all objects to moveshare/gc/shared/gc_globals.hpp
FullGCALotIntervalJDK6intxgc1notproductInterval between which full gc will occur with +FullGCALotshare/gc/shared/gc_globals.hpp
FullGCALotStartJDK6intxgc0notproductFor which invocation to start FullGCAlotshare/gc/shared/gc_globals.hpp
FullGCALotJDK6boolgcfalsedevelopForce full gc at every Nth exit from the runtime system (N=FullGCALotInterval)share/gc/shared/gc_globals.hpp
G1AdaptiveIHOPNumInitialSamplesJDK9size_tgc3
range(1, max_intx)
experimentalHow many completed time periods from initial mark to first mixed gc are required to use the input values for prediction of the optimal occupancy to start marking.share/gc/g1/g1_globals.hpp
G1ConcMarkStepDurationMillisJDK6doublegc10.0
range(1.0, DBL_MAX)
productTarget duration of individual concurrent marking steps in milliseconds.share/gc/g1/g1_globals.hpp
G1ConcRSHotCardLimitJDK6uintxgc4
range(0, max_jubyte)
productThe threshold that defines (>=) a hot card.share/gc/g1/g1_globals.hpp
G1ConcRSLogCacheSizeJDK6size_tgc10
range(0, 27)
productLog base 2 of the length of conc RS hot-card cache.share/gc/g1/g1_globals.hpp
G1ConcRefinementGreenZoneJDK6size_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
G1ConcRefinementRedZoneJDK6size_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
G1ConcRefinementServiceIntervalMillisJDK6uintxgc300
range(0, max_jint)
productThe last concurrent refinement thread wakes up every specified number of milliseconds to do miscellaneous work.share/gc/g1/g1_globals.hpp
G1ConcRefinementThreadsJDK6uintgc0
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
G1ConcRefinementThresholdStepJDK6size_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
G1ConcRefinementYellowZoneJDK6size_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
G1ConfidencePercentJDK6uintxgc50
range(0, 100)
productConfidence level for MMU/pause predictionsshare/gc/g1/g1_globals.hpp
G1DummyRegionsPerGCJDK6uintxgc0developThe 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
G1EagerReclaimHumongousObjectsWithStaleRefsJDK8boolgctrueexperimentalTry to reclaim dead large objects that have a few stale references at every young GC.share/gc/g1/g1_globals.hpp
G1EagerReclaimHumongousObjectsJDK8boolgctrueexperimentalTry to reclaim dead large objects at every young GC.share/gc/g1/g1_globals.hpp
G1EvacuationFailureALotCountJDK7uintxgc1000developNumber of successful evacuations between evacuation failures occurring at object copyingshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringConcMarkJDK7boolgctruedevelopForce use of evacuation failure handling during evacuation pauses when marking is in progressshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringInitialMarkJDK7boolgctruedevelopForce use of evacuation failure handling during initial mark evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringMixedGCJDK7boolgctruedevelopForce use of evacuation failure handling during mixed evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotDuringYoungGCJDK7boolgctruedevelopForce use of evacuation failure handling during young evacuation pausesshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotIntervalJDK7uintxgc5developTotal collections between forced triggering of evacuation failuresshare/gc/g1/g1_globals.hpp
G1EvacuationFailureALotJDK7boolgcfalsenotproductForce use of evacuation failure handling during certain evacuation pausesshare/gc/g1/g1_globals.hpp
G1ExitOnExpansionFailureJDK6boolgcfalsedevelopRaise 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
G1ExpandByPercentOfAvailableJDK6intxgc20
range(0, 100)
experimentalWhen expanding, % of uncommitted space to claim.share/gc/g1/g1_globals.hpp
G1HRRSUseSparseTableJDK6boolgctruedevelopWhen true, use sparse table to save space.share/gc/g1/g1_globals.hpp
G1HeapRegionSizeJDK6size_tgc0
range(0, 32*M)
productSize of the G1 regions.share/gc/g1/g1_globals.hpp
G1HeapWastePercentJDK7uintxgc5
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
G1LastPLABAverageOccupancyJDK9doublegc50.0
range(0.001, 100.0)
experimentalThe expected average occupancy of the last PLAB in percent.share/gc/g1/g1_globals.hpp
G1MaxNewSizePercentJDK7uintxgc60
range(0, 100)
experimentalPercentage (0-100) of the heap size to use as default maximum young gen size.share/gc/g1/g1_globals.hpp
G1MaxVerifyFailuresJDK6intxgc-1
range(-1, max_jint)
developThe maximum number of verification failures to print. -1 means print all.share/gc/g1/g1_globals.hpp
G1MixedGCCountTargetJDK7uintxgc8
range(0, max_uintx)
productThe target number of mixed GCs after a marking cycle.share/gc/g1/g1_globals.hpp
G1MixedGCLiveThresholdPercentJDK7uintxgc85
range(0, 100)
experimentalThreshold for regions to be considered for inclusion in the collection set of mixed GCs. Regions with live bytes exceeding this will not be collected.share/gc/g1/g1_globals.hpp
G1NewSizePercentJDK7uintxgc5
range(0, 100)
experimentalPercentage (0-100) of the heap size to use as default minimum young gen size.share/gc/g1/g1_globals.hpp
G1OldCSetRegionThresholdPercentJDK6uintxgc10
range(0, 100)
experimentalAn upper bound for the number of old CSet regions expressed as a percentage of the heap size.share/gc/g1/g1_globals.hpp
G1PretouchAuxiliaryMemoryJDK9boolgcfalseexperimentalPre-touch large auxiliary data structures used by the GC.share/gc/g1/g1_globals.hpp
G1RSetRegionEntriesBaseJDK6intxgc256
range(1, max_jint/wordSize)
developMax number of regions in a fine-grain table per MB.share/gc/g1/g1_globals.hpp
G1RSetRegionEntriesJDK6intxgc0
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
G1RSetScanBlockSizeJDK6size_tgc64
range(1, max_uintx)
productSize of a work unit of cards claimed by a worker threadduring RSet scanning.share/gc/g1/g1_globals.hpp
G1RSetSparseRegionEntriesBaseJDK6intxgc4
range(1, max_jint/wordSize)
developMax number of entries per region in a sparse table per MB.share/gc/g1/g1_globals.hpp
G1RSetSparseRegionEntriesJDK6intxgc0
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
G1RSetUpdatingPauseTimePercentJDK6intxgc10
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
G1RebuildRemSetChunkSizeJDK11size_tgc256 * K
range(4 * K, 32 * M)
experimentalChunk size used for rebuilding the remembered set.share/gc/g1/g1_globals.hpp
G1RefProcDrainIntervalJDK6uintgc1000
range(1, INT_MAX)
productThe number of discovered reference objects to process before draining concurrent marking work queues.share/gc/g1/g1_globals.hpp
G1ReservePercentJDK6uintxgc10
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
G1SATBBufferEnqueueingThresholdPercentJDK6uintxgc60
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
G1SATBBufferSizeJDK6size_tgc1*K
range(1, max_uintx)
productNumber of entries in an SATB log buffer.share/gc/g1/g1_globals.hpp
G1SATBProcessCompletedThresholdJDK6intxgc20
range(0, max_jint)
developNumber of completed buffers that triggers log processing.share/gc/g1/g1_globals.hpp
G1SummarizeRSetStatsPeriodJDK6intxgc0
range(0, max_intx)
diagnosticThe period (in number of GCs) at which we will generate update buffer processing info (0 means do not periodically generate this info); it also requires that logging is enabled on the tracelevel for gc+remsetshare/gc/g1/g1_globals.hpp
G1UpdateBufferSizeJDK6size_tgc256
range(1, NOT_LP64(32*M) LP64_ONLY(1*G))
productSize of an update buffershare/gc/g1/g1_globals.hpp
G1UseAdaptiveConcRefinementJDK6boolgctrueproductSelect green, yellow and red zones adaptively to meet the the pause requirements.share/gc/g1/g1_globals.hpp
G1UseAdaptiveIHOPJDK9boolgctrueproductAdaptively 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
G1UseReferencePrecleaningJDK11boolgctrueexperimentalConcurrently preclean java.lang.ref.references instances before the Remark pause.share/gc/g1/g1_globals.hpp
G1VerifyBitmapsJDK8boolgcfalsedevelopVerifies the consistency of the marking bitmapsshare/gc/g1/g1_globals.hpp
G1VerifyCTCleanupJDK6boolgcfalsedevelopVerify card table cleanup.share/gc/g1/g1_globals.hpp
G1VerifyHeapRegionCodeRootsJDK7boolgcfalsediagnosticVerify the code root lists attached to each heap region.share/gc/g1/g1_globals.hpp
G1VerifyRSetsDuringFullGCJDK7boolgcfalsediagnosticIf true, perform verification of each heap region's remembered set when verifying the heap during a full GC.share/gc/g1/g1_globals.hpp
GCALotAtAllSafepointsJDK6boolgcfalsenotproductEnforce ScavengeALot/GCALot at all potential safepointsshare/gc/shared/gc_globals.hpp
GCDrainStackTargetSizeJDK6uintxgc64
range(0, max_juint)
productNumber of entries we will try to leave on the stack during parallel gcshare/gc/shared/gc_globals.hpp
GCExpandToAllocateDelayMillisJDK6uintxgc0developDelay between expansion and allocation (in milliseconds)share/gc/shared/gc_globals.hpp
GCHeapFreeLimitJDK6uintxgc2
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
GCLockerEdenExpansionPercentJDK6uintxgc5
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
GCLockerInvokesConcurrentJDK6boolgcfalseproductThe exit of a JNI critical section necessitating a scavenge, also kicks off a background concurrent collectionshare/gc/shared/gc_globals.hpp
GCLockerRetryAllocationCountJDK8uintxgc2
range(0, max_uintx)
diagnosticNumber of times to retry allocations when blocked by the GC lockershare/gc/shared/gc_globals.hpp
GCParallelVerificationEnabledJDK6boolgctruediagnosticEnable parallel memory system verificationshare/gc/shared/gc_globals.hpp
GCPauseIntervalMillisJDK6uintxgc0productTime slice for MMU specificationshare/gc/shared/gc_globals.hpp
GCTaskTimeStampEntriesJDK6uintgc200
range(1, max_jint)
productNumber of time stamp entries per gc worker threadshare/gc/shared/gc_globals.hpp
GCTimeLimitJDK6uintxgc98
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
GCTimeRatioJDK6uintxgc99
range(0, max_juint)
productAdaptive size policy application time to GC time ratioshare/gc/shared/gc_globals.hpp
GCWorkerDelayMillisJDK8uintxgc0developDelay in scheduling GC workers (in milliseconds)share/gc/parallel/parallel_globals.hpp
GenerateArrayStoreCheckJDK6boolc1truedevelopGenerates code for array store checksshare/c1/c1_globals.hpp
GenerateRangeChecksJDK6boolruntimetruedevelopGenerate range checks for array accessesshare/runtime/globals.hpp
GenerateSynchronizationCodeJDK6boolruntimetruedevelopgenerate locking/unlocking code for synchronized methods and monitorsshare/runtime/globals.hpp
GuaranteedSafepointIntervalJDK9intxruntime1000
range(0, max_jint)
diagnosticGuarantee a safepoint (at least) every so many milliseconds (0 means none)share/runtime/globals.hpp
HandshakeTimeoutJDK10uintruntime0diagnosticIf nonzero set a timeout in milliseconds for handshakesshare/runtime/globals.hpp
HeapBaseMinAddressJDK6size_taixppc2*Gdefine_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
HeapBaseMinAddressJDK6size_tbsdx862*Gdefine_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
HeapBaseMinAddressJDK6size_tbsdzero2*Gdefine_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
HeapBaseMinAddressJDK6uintxlinuxaarch642*Gdefine_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
HeapBaseMinAddressJDK6size_tlinuxarm2*Gdefine_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
HeapBaseMinAddressJDK6size_tlinuxppc2*Gdefine_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
HeapBaseMinAddressJDK6size_tlinuxs3902*Gdefine_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
HeapBaseMinAddressJDK6size_tlinuxsparcCONST64(4)*Gdefine_pd_globalos_cpu/linux_sparc/globals_linux_sparc.hpp
HeapBaseMinAddressJDK6size_tlinuxx862*Gdefine_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
HeapBaseMinAddressJDK6size_tlinuxzero2*Gdefine_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
HeapBaseMinAddressJDK6size_tgcproduct_pdOS specific low limit for heap base addressshare/gc/shared/gc_globals.hpp
HeapBaseMinAddressJDK6size_tsolarissparcCONST64(6)*Gdefine_pd_globalos_cpu/solaris_sparc/globals_solaris_sparc.hpp
HeapBaseMinAddressJDK6size_tsolarisx862*Gdefine_pd_globalos_cpu/solaris_x86/globals_solaris_x86.hpp
HeapBaseMinAddressJDK6size_twindowsx862*Gdefine_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
HeapFirstMaximumCompactionCountJDK6uintxgc3
range(0, max_uintx)
productThe collection count for the first maximum compactionshare/gc/parallel/parallel_globals.hpp
HeapMaximumCompactionIntervalJDK6uintxgc20
range(0, max_uintx)
productHow often should we maximally compact the heap (not allowing any dead space)share/gc/parallel/parallel_globals.hpp
HeapSearchStepsJDK9uintxruntime3 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
HeapSizePerGCThreadJDK6size_tgcScaleForWordSize(32*M)
range((size_t)os::vm_page_size(), (size_t)max_uintx)
productSize of heap (bytes) per GC thread used in calculating the number of GC threadsshare/gc/shared/gc_globals.hpp
HotCallCountThresholdJDK6intxc2999999
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
HotCallProfitThresholdJDK6intxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
develophighly profitable inlining opportunities force hotnessshare/opto/c2_globals.hpp
HotCallTrivialSizeJDK6intxc2-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
HotCallTrivialWorkJDK6intxc2-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
HotMethodDetectionLimitJDK9intxruntime100000
range(1, max_jint)
diagnosticNumber of compiled code invocations after which the method is considered as hot by the flushershare/runtime/globals.hpp
HugeMethodLimitJDK6intxruntime8000developDon't compile methods larger than this if +DontCompileHugeMethodsshare/runtime/globals.hpp
ICMissHistogramJDK6boolruntimefalsenotproductProduce histogram of IC missesshare/runtime/globals.hpp
IEEEPrecisionJDK6boolx86truedevelopEnables IEEE precision (for INTEL only)cpu/x86/globals_x86.hpp
INTPRESSUREJDK6intxaarch6424define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
INTPRESSUREJDK6intxarm12define_pd_globalcpu/arm/c2_globals_arm.hpp
INTPRESSUREJDK6intxppc26define_pd_globalcpu/ppc/c2_globals_ppc.hpp
INTPRESSUREJDK6intxs39010define_pd_global// Medium size register set, 6 special purpose regs, 3 SOE regs.cpu/s390/c2_globals_s390.hpp
INTPRESSUREJDK6intxsparc48define_pd_global// large register setcpu/sparc/c2_globals_sparc.hpp
INTPRESSUREJDK6intxx866define_pd_globalcpu/x86/c2_globals_x86.hpp
IdealizeClearArrayNodeJDK9boolaarch64truedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
IdealizeClearArrayNodeJDK9boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
IdealizeClearArrayNodeJDK9boolppctruedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
IdealizeClearArrayNodeJDK9bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
IdealizeClearArrayNodeJDK9boolsparctruedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
IdealizeClearArrayNodeJDK9boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
IdealizedNumericsJDK6boolc2falsedevelopCheck performance difference allowing FP associativity and commutativity...share/opto/c2_globals.hpp
IgnoreEmptyClassPathsJDK8boolruntimefalseproductIgnore empty path elements in -classpathshare/runtime/globals.hpp
IgnoreLibthreadGPFaultJDK6boolruntimefalsedevelopSuppress workaround for libthread GP faultshare/runtime/globals.hpp
IgnoreLockingAssertionsJDK6boolruntimefalsenotproductdisable locking assertions (for speed)share/runtime/globals.hpp
IgnoreRewritesJDK6boolruntimefalsedevelopSuppress rewrites of bytecodes in the oopmap generator. This is unsafe!share/runtime/globals.hpp
IgnoreUnrecognizedVMOptionsJDK6boolruntimefalseproductIgnore unrecognized VM optionsshare/runtime/globals.hpp
IgnoreUnverifiableClassesDuringDumpJDK8Deprecated in JDK10
Obsoleted in JDK12
Expired in JDK13
boolruntimetruediagnosticDo not quit -Xshare:dump even if we encounter unverifiable classes. Just exclude them from the shared dictionary.share/runtime/globals.hpp
ImplicitDiv0ChecksJDK6boolc1truedevelopUse implicit division by zero checksshare/c1/c1_globals.hpp
ImplicitNullCheckThresholdJDK6intxc23
range(0, max_jint)
developDon't do implicit null checks if NPE's in a method exceeds limitshare/opto/c2_globals.hpp
ImplicitNullChecksJDK6boolaarch64truedefine_pd_global// Generate code for implicit null checkscpu/aarch64/globals_aarch64.hpp
ImplicitNullChecksJDK6boolarmtruedefine_pd_global// Generate code for implicit null checkscpu/arm/globals_arm.hpp
ImplicitNullChecksJDK6boolppctruedefine_pd_global// Generate code for implicit null checks.cpu/ppc/globals_ppc.hpp
ImplicitNullChecksJDK6bools390truedefine_pd_global// Generate code for implicit null checks.cpu/s390/globals_s390.hpp
ImplicitNullChecksJDK6boolsparctruedefine_pd_global// Generate code for implicit null checkscpu/sparc/globals_sparc.hpp
ImplicitNullChecksJDK6boolx86truedefine_pd_global// Generate code for implicit null checkscpu/x86/globals_x86.hpp
ImplicitNullChecksJDK6boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
IncreaseFirstTierCompileThresholdAtJDK8uintxruntime50
range(0, 99)
productIncrease the compile threshold for C1 compilation if the code cache is filled by the specified percentageshare/runtime/globals.hpp
IncrementalInlineJDK7boolc2trueproductdo post parse inliningshare/opto/c2_globals.hpp
IndexSetWatchJDK6intxc20
range(-1, 0)
notproductTrace all operations on this IndexSet (-1 means all, 0 none)share/opto/c2_globals.hpp
InitArrayShortSizeJDK9intxaarch64BytesPerLongdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
InitArrayShortSizeJDK9intxarm8*BytesPerLongdefine_pd_globalcpu/arm/globals_arm.hpp
InitArrayShortSizeJDK9intxppc9*BytesPerLongdefine_pd_globalcpu/ppc/globals_ppc.hpp
InitArrayShortSizeJDK9intxs3901*BytesPerLongdefine_pd_globalcpu/s390/globals_s390.hpp
InitArrayShortSizeJDK9intxsparc8*BytesPerLongdefine_pd_globalcpu/sparc/globals_sparc.hpp
InitArrayShortSizeJDK9intxx868*BytesPerLongdefine_pd_globalcpu/x86/globals_x86.hpp
InitArrayShortSizeJDK9intxzero0define_pd_globalcpu/zero/globals_zero.hpp
InitialBootClassLoaderMetaspaceSizeJDK8size_truntimeNOT_LP64(2200*K) LP64_ONLY(4*M)
range(30*K, max_uintx/BytesPerWord)
productInitial size of the boot class loader data metaspaceshare/runtime/globals.hpp
InitialCodeCacheSizeJDK6intxaarch64160*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
InitialCodeCacheSizeJDK6size_tarm160*Kdefine_pd_globalcpu/arm/c1_globals_arm.hpp
InitialCodeCacheSizeJDK6uintxruntimeproduct_pdInitial code cache size (in bytes)share/runtime/globals.hpp
InitialCodeCacheSizeJDK6uintxppc160*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
InitialCodeCacheSizeJDK6uintxs390160*Kdefine_pd_globalcpu/s390/c1_globals_s390.hpp
InitialCodeCacheSizeJDK6uintxsparc2048*Kdefine_pd_global// Integral multiple of CodeCacheExpansionSizecpu/sparc/c2_globals_sparc.hpp
InitialCodeCacheSizeJDK6uintxx86160*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
InitialHeapSizeJDK6size_tgc0productInitial heap size (in bytes); zero means use ergonomicsshare/gc/shared/gc_globals.hpp
InitialRAMFractionJDK6Deprecated in JDK10uintxgc64
range(1, max_uintx)
productFraction (1/n) of real memory used for initial heap size. Deprecated, use InitialRAMPercentage insteadshare/gc/shared/gc_globals.hpp
InitialRAMPercentageJDK10doublegc1.5625
range(0.0, 100.0)
productPercentage of real memory used for initial heap sizeshare/gc/shared/gc_globals.hpp
InitialSurvivorRatioJDK6uintxgc8
range(0, max_uintx)
productInitial ratio of young generation/survivor space sizeshare/gc/shared/gc_globals.hpp
InitialTenuringThresholdJDK6uintxgc7
range(0, markOopDesc::max_age + 1)
productInitial value for tenuring thresholdshare/gc/shared/gc_globals.hpp
InitiatingHeapOccupancyPercentJDK6uintxgc45
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
InjectCompilerCreationFailureJDK11boolruntimefalsedevelopInject thread creation failures for UseDynamicNumberOfCompilerThreadsshare/runtime/globals.hpp
InjectGCWorkerCreationFailureJDK9boolgcfalsediagnosticInject thread creation failures for UseDynamicNumberOfGCThreadsshare/gc/shared/gc_globals.hpp
InlineAccessorsJDK6boolc2truedevelopinline accessor methods (get/set)share/opto/c2_globals.hpp
InlineArrayCopyJDK6boolruntimetruediagnosticInline arraycopy native that is known to be part of base library DLLshare/runtime/globals.hpp
InlineClassNativesJDK6boolruntimetruediagnosticInline Class.isInstance, etcshare/runtime/globals.hpp
InlineDataFileJDK8ccstrruntimeNULLproductFile containing inlining replay information[default: ./inline_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
InlineFrequencyCountJDK6intxaarch64100define_pd_globalcpu/aarch64/globals_aarch64.hpp
InlineFrequencyCountJDK6intxarm50define_pd_globalcpu/arm/globals_arm.hpp
InlineFrequencyCountJDK6intxppc100define_pd_globalcpu/ppc/globals_ppc.hpp
InlineFrequencyCountJDK6intxs390100define_pd_globalcpu/s390/globals_s390.hpp
InlineFrequencyCountJDK6intxsparc50define_pd_global// we can use more inlining on the SPARCcpu/sparc/globals_sparc.hpp
InlineFrequencyCountJDK6intxx86100define_pd_globalcpu/x86/globals_x86.hpp
InlineFrequencyCountJDK6intxzero100define_pd_globalcpu/zero/globals_zero.hpp
InlineFrequencyRatioJDK6intxruntime20
range(0, max_jint)
developRatio of call site execution to caller method invocationshare/runtime/globals.hpp
InlineIntrinsicsJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
InlineIntrinsicsJDK6boolarmfalsedefine_pd_global// TODO: ARMcpu/arm/c1_globals_arm.hpp
InlineIntrinsicsJDK6boolruntimefalsedefine_pd_globalshare/runtime/globals.hpp
InlineIntrinsicsJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
InlineIntrinsicsJDK6bools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
InlineIntrinsicsJDK6boolsparctruedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
InlineIntrinsicsJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
InlineMathNativesJDK6boolruntimetruediagnosticInline SinD, CosD, etc.share/runtime/globals.hpp
InlineMethodsWithExceptionHandlersJDK6boolc1truedevelopInline methods containing exception handlers (NOTE: does not work with current backend)share/c1/c1_globals.hpp
InlineNIOCheckIndexJDK6boolc1truediagnosticIntrinsify java.nio.Buffer.checkIndexshare/c1/c1_globals.hpp
InlineNativesJDK6boolruntimetruediagnosticInline natives that are known to be part of base library DLLshare/runtime/globals.hpp
InlineObjectCopyJDK6boolc2truediagnosticinline Object.clone and Arrays.copyOf[Range] intrinsicsshare/opto/c2_globals.hpp
InlineObjectHashJDK6boolruntimetruediagnosticInline Object::hashCode() native that is known to be part of base library DLLshare/runtime/globals.hpp
InlineReflectionGetCallerClassJDK6boolc2truediagnosticinline sun.reflect.Reflection.getCallerClass(), known to be part of base library DLLshare/opto/c2_globals.hpp
InlineSmallCodeJDK6intxaarch641000define_pd_globalcpu/aarch64/globals_aarch64.hpp
InlineSmallCodeJDK6intxarm1500define_pd_globalcpu/arm/globals_arm.hpp
InlineSmallCodeJDK6intxruntimeproduct_pdOnly inline already compiled methods if their code size is less than thisshare/runtime/globals.hpp
InlineSmallCodeJDK6intxppc1500define_pd_globalcpu/ppc/globals_ppc.hpp
InlineSmallCodeJDK6intxs3902000define_pd_globalcpu/s390/globals_s390.hpp
InlineSmallCodeJDK6intxsparc1500define_pd_globalcpu/sparc/globals_sparc.hpp
InlineSmallCodeJDK6intxx861000define_pd_globalcpu/x86/globals_x86.hpp
InlineSmallCodeJDK6intxzero1000define_pd_globalcpu/zero/globals_zero.hpp
InlineSynchronizedMethodsJDK6boolc1trueproductInline synchronized methodsshare/c1/c1_globals.hpp
InlineThreadNativesJDK6boolruntimetruediagnosticInline Thread.currentThread, etcshare/runtime/globals.hpp
InlineThrowCountJDK6intxruntime50
range(0, max_jint)
developForce inlining of interpreted methods that throw this oftenshare/runtime/globals.hpp
InlineThrowMaxSizeJDK6intxruntime200
range(0, max_jint)
developForce inlining of throwing methods smaller than thisshare/runtime/globals.hpp
InlineUnsafeOpsJDK6boolruntimetruediagnosticInline memory ops (native methods) from Unsafeshare/runtime/globals.hpp
InlineWarmCallsJDK6boolc2falsedevelopUse a heat-based priority queue to govern inliningshare/opto/c2_globals.hpp
InlineJDK6boolruntimetrueproductEnable inliningshare/runtime/globals.hpp
InsertEndGroupPPC64JDK7boolppcfalseproductInsert EndGroup instructions to optimize for Power6.cpu/ppc/globals_ppc.hpp
InsertMemBarAfterArraycopyJDK6boolc2trueproductInsert memory barrier after arraycopy callshare/opto/c2_globals.hpp
InstallMethodsJDK6boolc1truedevelopInstall methods at the end of successful compilationsshare/c1/c1_globals.hpp
InstructionCountCutoffJDK6intxc137000
range(0, max_jint)
developIf GraphBuilder adds this many instructions, bails outshare/c1/c1_globals.hpp
InterceptOSExceptionJDK6boolruntimefalsedevelopStart debugger when an implicit OS (e.g. NULL) exception happensshare/runtime/globals.hpp
InteriorEntryAlignmentJDK6intxaarch6416define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
InteriorEntryAlignmentJDK6intxarm16define_pd_global// = CodeEntryAlignmentcpu/arm/c2_globals_arm.hpp
InteriorEntryAlignmentJDK6intxc2product_pdCode alignment for interior entry points in generated code (in bytes)share/opto/c2_globals.hpp
InteriorEntryAlignmentJDK6intxppc16define_pd_globalcpu/ppc/c2_globals_ppc.hpp
InteriorEntryAlignmentJDK6intxs3902define_pd_globalcpu/s390/c2_globals_s390.hpp
InteriorEntryAlignmentJDK6intxsparc16define_pd_global// = CodeEntryAlignmentcpu/sparc/c2_globals_sparc.hpp
InteriorEntryAlignmentJDK6intxx864define_pd_globalcpu/x86/c2_globals_x86.hpp
InterpreterProfilePercentageJDK6intxruntime33
range(0, 100)
productNON_TIERED number of method invocations/branches (expressed as % of CompileThreshold) before profiling in the interpretershare/runtime/globals.hpp
JVMCICounterSizeJDK9intxjvmci0
range(0, max_jint)
experimentalReserved size for benchmark countersshare/jvmci/jvmci_globals.hpp
JVMCICountersExcludeCompilerJDK9booljvmcitrueexperimentalExclude JVMCI compiler threads from benchmark countersshare/jvmci/jvmci_globals.hpp
JVMCIHostThreadsJDK9intxjvmci1
range(1, max_jint)
experimentalForce number of compiler threads for JVMCI host compilershare/jvmci/jvmci_globals.hpp
JVMCINMethodSizeLimitJDK9intxjvmci(80*K)*wordSizeexperimentalMaximum size of a compiled method.share/jvmci/jvmci_globals.hpp
JVMCIPrintPropertiesJDK9booljvmcifalseexperimentalPrints properties used by the JVMCI compiler and exitsshare/jvmci/jvmci_globals.hpp
JVMCIThreadsJDK9intxjvmci1
range(1, max_jint)
experimentalForce number of JVMCI compiler threads to useshare/jvmci/jvmci_globals.hpp
JVMCITraceLevelJDK9intxjvmci0experimentalTrace level for JVMCI:
1 means emit a message for each CompilerToVM call,levels greater than 1 provide progressively greater detail
share/jvmci/jvmci_globals.hpp
JVMCIUseFastLockingJDK9booljvmcitruedevelopUse fast inlined locking codeshare/jvmci/jvmci_globals.hpp
JVMInvokeMethodSlackJDK6size_taixppc8192define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
JVMInvokeMethodSlackJDK6size_tbsdx868192define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
JVMInvokeMethodSlackJDK6size_tbsdzero8192define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
JVMInvokeMethodSlackJDK6uintxlinuxaarch648192define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
JVMInvokeMethodSlackJDK6size_tlinuxarm8192define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
JVMInvokeMethodSlackJDK6size_tlinuxppc8192define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
JVMInvokeMethodSlackJDK6size_tlinuxs3908192define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
JVMInvokeMethodSlackJDK6size_tlinuxsparc12288define_pd_globalos_cpu/linux_sparc/globals_linux_sparc.hpp
JVMInvokeMethodSlackJDK6size_tlinuxx868192define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
JVMInvokeMethodSlackJDK6size_tlinuxzero8192define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
JVMInvokeMethodSlackJDK6size_tsolarissparc12288define_pd_globalos_cpu/solaris_sparc/globals_solaris_sparc.hpp
JVMInvokeMethodSlackJDK6size_tsolarisx8610*Kdefine_pd_globalos_cpu/solaris_x86/globals_solaris_x86.hpp
JVMInvokeMethodSlackJDK6size_twindowsx868192define_pd_globalos_cpu/windows_x86/globals_windows_x86.hpp
JavaMonitorsInStackTraceJDK6boolruntimetrueproductPrint information about Java monitor locks when the stacks aredumpedshare/runtime/globals.hpp
JavaPriority10_To_OSPriorityJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority1_To_OSPriorityJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority2_To_OSPriorityJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority3_To_OSPriorityJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority4_To_OSPriorityJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority5_To_OSPriorityJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority6_To_OSPriorityJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority7_To_OSPriorityJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority8_To_OSPriorityJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
JavaPriority9_To_OSPriorityJDK6intxruntime-1
range(-1, 127)
productMap Java priorities to OS prioritiesshare/runtime/globals.hpp
LIRFillDelaySlotsJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
LIRFillDelaySlotsJDK6boolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
LIRFillDelaySlotsJDK6boolc1product_pdfill delays on on SPARC with LIRshare/c1/c1_globals.hpp
LIRFillDelaySlotsJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
LIRFillDelaySlotsJDK6bools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
LIRFillDelaySlotsJDK6boolsparctruedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
LIRFillDelaySlotsJDK6boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
LIRTraceExecutionJDK6boolc1falsedevelopadd LIR code which logs the execution of blocksshare/c1/c1_globals.hpp
LIRTracePeepholeJDK6boolc1falsedevelopTrace peephole optimizershare/c1/c1_globals.hpp
LargePageHeapSizeThresholdJDK6size_truntime128*M
range(0, max_uintx)
productUse large pages if maximum heap is at least this bigshare/runtime/globals.hpp
LargePageSizeInBytesJDK6size_truntime0
range(0, max_uintx)
productLarge page size (0 to let VM choose the page size)share/runtime/globals.hpp
LargePagesIndividualAllocationInjectErrorJDK6boolruntimefalsedevelopFail large pages individual allocationshare/runtime/globals.hpp
LiveNodeCountInliningCutoffJDK7intxc240000
range(0, max_juint / 8)
productmax number of live nodes in a methodshare/opto/c2_globals.hpp
LoadExecStackDllInVMThreadJDK7boollinuxtrueproductLoad DLLs with executable-stack attribute in the VM Threados/linux/globals_linux.hpp
LoadLineNumberTablesJDK6boolruntimetruedevelopTell whether the class file parser loads line number tablesshare/runtime/globals.hpp
LoadLocalVariableTablesJDK6boolruntimetruedevelopTell whether the class file parser loads local variable tablesshare/runtime/globals.hpp
LoadLocalVariableTypeTablesJDK6boolruntimetruedevelopTell whether the class file parser loads local variable typetablesshare/runtime/globals.hpp
LogCompilationJDK6boolruntimefalsediagnosticLog compilation activity in detail to LogFileshare/runtime/globals.hpp
LogEventsBufferEntriesJDK6uintxruntime10
range(1, NOT_LP64(1*K) LP64_ONLY(1*M))
diagnosticNumber of ring buffer event logsshare/runtime/globals.hpp
LogEventsJDK6boolruntimetruediagnosticEnable the various ring buffer event logsshare/runtime/globals.hpp
LogFileJDK6ccstrruntimeNULLdiagnosticIf LogVMOutput or LogCompilation is on, save VM output to this file [default: ./hotspot_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
LogSweeperJDK6boolruntimefalsenotproductKeep a ring buffer of sweeper activityshare/runtime/globals.hpp
LogTouchedMethodsJDK9boolruntimefalsediagnosticLog methods which have been ever touched in runtimeshare/runtime/globals.hpp
LogVMOutputJDK6boolruntimefalsediagnosticSave VM output to LogFileshare/runtime/globals.hpp
LongCompileThresholdJDK6intxruntime50developUsed with +TraceLongCompilesshare/runtime/globals.hpp
LoopMaxUnrollJDK7intxc216
range(0, max_jint)
productMaximum number of unrolls for main loopshare/opto/c2_globals.hpp
LoopOptsCountJDK6intxc243
range(5, 43)
productSet level of loop optimization for tier 1 compilesshare/opto/c2_globals.hpp
LoopPercentProfileLimitJDK9intxaarch6410define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
LoopPercentProfileLimitJDK9intxarm10define_pd_globalcpu/arm/c2_globals_arm.hpp
LoopPercentProfileLimitJDK9intxc2product_pdUnroll loop bodies with % node count of profile limitshare/opto/c2_globals.hpp
LoopPercentProfileLimitJDK9intxppc10define_pd_globalcpu/ppc/c2_globals_ppc.hpp
LoopPercentProfileLimitJDK9intxs39010define_pd_globalcpu/s390/c2_globals_s390.hpp
LoopPercentProfileLimitJDK9intxsparc10define_pd_globalcpu/sparc/c2_globals_sparc.hpp
LoopPercentProfileLimitJDK9intxx8630define_pd_globalcpu/x86/c2_globals_x86.hpp
LoopStripMiningIterShortLoopJDK10uintxc20
range(0, max_juint)
productLoop with fewer iterations are not strip minedshare/opto/c2_globals.hpp
LoopStripMiningIterJDK10uintxc20
range(0, max_juint)
productNumber of iterations in strip mined loopshare/opto/c2_globals.hpp
LoopUnrollLimitJDK6intxaarch6460define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
LoopUnrollLimitJDK6intxarm60define_pd_global// Design center runs on 1.3.1cpu/arm/c2_globals_arm.hpp
LoopUnrollLimitJDK6intxc2product_pdUnroll loop bodies with node count less than thisshare/opto/c2_globals.hpp
LoopUnrollLimitJDK6intxppc60define_pd_globalcpu/ppc/c2_globals_ppc.hpp
LoopUnrollLimitJDK6intxs39060define_pd_globalcpu/s390/c2_globals_s390.hpp
LoopUnrollLimitJDK6intxsparc60define_pd_global// Design center runs on 1.3.1cpu/sparc/c2_globals_sparc.hpp
LoopUnrollLimitJDK6intxx8650define_pd_global// Design center runs on 1.3.1cpu/x86/c2_globals_x86.hpp
LoopUnrollMinJDK6intxc24
range(0, max_jint)
productMinimum number of unroll loop bodies before checking progressof rounds of unroll,optimize,..share/opto/c2_globals.hpp
LoopUnswitchingJDK6boolc2trueproductEnable loop unswitching (a form of invariant test hoisting)share/opto/c2_globals.hpp
MVCLEThresholdJDK9size_ts390+2*(4*K)productThreshold above which page-aligned MVCLE copy/init is used.cpu/s390/globals_s390.hpp
MallocCatchPtrJDK6intxruntime-1developHit breakpoint when mallocing/freeing this pointershare/runtime/globals.hpp
MallocMaxTestWordsJDK8uintxruntime0
range(0, max_uintx)
diagnosticIf non-zero, maximum number of words that malloc/realloc can allocate (for testing only)share/runtime/globals.hpp
ManagementServerJDK6boolruntimefalseproductCreate JMX Management Servershare/runtime/globals.hpp
MarkStackSizeMaxJDK6size_tgcNOT_LP64(4*M) LP64_ONLY(512*M)
range(1, (max_jint - 1))
productMaximum size of marking stackshare/gc/shared/gc_globals.hpp
MarkStackSizeJDK6size_tgcNOT_LP64(32*K) LP64_ONLY(4*M)productSize of marking stackshare/gc/shared/gc_globals.hpp
MarkSweepAlwaysCompactCountJDK6uintgc4
range(1, max_juint)
productHow often should we fully compact the heap (ignoring the dead space parameters)share/gc/shared/gc_globals.hpp
MarkSweepDeadRatioJDK6uintxgc5
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. CMS uses this value only if it falls back to mark sweep. 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
MaxBCEAEstimateLevelJDK6intxruntime5
range(0, max_jint)
productMaximum number of nested calls that are analyzed by BC EAshare/runtime/globals.hpp
MaxBCEAEstimateSizeJDK6intxruntime150
range(0, max_jint)
productMaximum bytecode size of a method to be analyzed by BC EAshare/runtime/globals.hpp
MaxDirectMemorySizeJDK6uint64_truntime0
range(0, max_jlong)
productMaximum total size of NIO direct-buffer allocationsshare/runtime/globals.hpp
MaxElementPrintSizeJDK6intxruntime256notproductmaximum number of elements to printshare/runtime/globals.hpp
MaxExpectedDataSegmentSizeJDK9uintxaix8*GproductMaximum expected Data Segment Size.os/aix/globals_aix.hpp
MaxFDLimitJDK6boolruntimetrueproductBump the number of file descriptors to maximum in Solarisshare/runtime/globals.hpp
MaxForceInlineLevelJDK7intxruntime100
range(0, max_jint)
developmaximum number of nested calls that are forced for inlining (using CompileCommand or marked w/ @ForceInline)share/runtime/globals.hpp
MaxGCMinorPauseMillisJDK6Deprecated in JDK8uintxgcmax_uintx
range(0, max_uintx)
productAdaptive size policy maximum GC minor pause time goal in millisecondshare/gc/shared/gc_globals.hpp
MaxGCPauseMillisJDK6uintxgcmax_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
MaxHeapSizeJDK6size_tgcScaleForWordSize(96*M)productMaximum heap size (in bytes)share/gc/shared/gc_globals.hpp
MaxInlineLevelJDK6intxruntime9
range(0, max_jint)
productmaximum number of nested calls that are inlinedshare/runtime/globals.hpp
MaxInlineSizeJDK6intxruntime35
range(0, max_jint)
productThe maximum bytecode size of a method to be inlinedshare/runtime/globals.hpp
MaxInterpretedSearchLengthJDK6intxruntime3developThe maximum number of interpreted frames to skip when searching for recompileeshare/runtime/globals.hpp
MaxJNILocalCapacityJDK8intxruntime65536
range(min_intx, max_intx)
productMaximum allowable local JNI handle capacity to EnsureLocalCapacity() and PushLocalFrame(), where <= 0 is unlimited, default: 65536share/runtime/globals.hpp
MaxJavaStackTraceDepthJDK6intxruntime1024
range(0, max_jint/2)
productThe maximum number of lines in the stack trace for Java exceptions (0 means all)share/runtime/globals.hpp
MaxJumpTableSizeJDK6intxc265000
range(0, max_intx)
productMaximum number of targets in a generated jump tableshare/opto/c2_globals.hpp
MaxJumpTableSparsenessJDK6intxc25
range(0, max_intx / 4)
productMaximum sparseness for jumptablesshare/opto/c2_globals.hpp
MaxLabelRootDepthJDK6intxc21100
range(100, max_jint)
productMaximum times call Label_Root to prevent stack overflowshare/opto/c2_globals.hpp
MaxLoopPadJDK6intxc2(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
MaxMetaspaceExpansionJDK8size_truntimeScaleForWordSize(4*M)
range(0, max_uintx)
productThe maximum expansion of Metaspace without full GC (in bytes)share/runtime/globals.hpp
MaxMetaspaceFreeRatioJDK8uintxruntime70
range(0, 100)
productThe maximum percentage of Metaspace free after GC to avoid shrinkingshare/runtime/globals.hpp
MaxMetaspaceSizeJDK8size_truntimemax_uintxproductMaximum size of Metaspaces (in bytes)share/runtime/globals.hpp
MaxNewSizeJDK6size_tgcmax_uintx
range(0, max_uintx)
productMaximum new generation size (in bytes), max_uintx means set ergonomicallyshare/gc/shared/gc_globals.hpp
MaxNodeLimitJDK6intxc280000
range(1000, max_jint / 3)
productMaximum number of nodesshare/opto/c2_globals.hpp
MaxRAMFractionJDK6Deprecated in JDK10uintxgc4
range(1, max_uintx)
productMaximum fraction (1/n) of real memory used for maximum heap size. Deprecated, use MaxRAMPercentage insteadshare/gc/shared/gc_globals.hpp
MaxRAMPercentageJDK10doublegc25.0
range(0.0, 100.0)
productMaximum percentage of real memory used for maximum heap sizeshare/gc/shared/gc_globals.hpp
MaxRAMJDK6uint64_taarch641ULL*Gdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
MaxRAMJDK6uint64_tarm1ULL*Gdefine_pd_globalcpu/arm/c1_globals_arm.hpp
MaxRAMJDK6uint64_tgcproduct_pdReal memory size (in bytes) used to set maximum heap sizeshare/gc/shared/gc_globals.hpp
MaxRAMJDK6uint64_truntime1ULL*Gdefine_pd_globalshare/runtime/globals.hpp
MaxRAMJDK6uint64_tppc1ULL*Gdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
MaxRAMJDK6uint64_ts3901ULL*Gdefine_pd_globalcpu/s390/c1_globals_s390.hpp
MaxRAMJDK6uint64_tsparc128ULL*Gdefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
MaxRAMJDK6uint64_tx861ULL*Gdefine_pd_globalcpu/x86/c1_globals_x86.hpp
MaxRecompilationSearchLengthJDK6intxruntime10developThe maximum number of frames to inspect when searching for recompileeshare/runtime/globals.hpp
MaxRecursiveInlineLevelJDK6intxruntime1
range(0, max_jint)
productmaximum number of nested recursive calls that are inlinedshare/runtime/globals.hpp
MaxSubklassPrintSizeJDK6intxruntime4notproductmaximum number of subklasses to print when printing klassshare/runtime/globals.hpp
MaxTenuringThresholdJDK6uintxgc15
range(0, markOopDesc::max_age + 1)
productMaximum value for tenuring thresholdshare/gc/shared/gc_globals.hpp
MaxTrivialSizeJDK6intxruntime6
range(0, max_jint)
productThe maximum bytecode size of a trivial method to be inlinedshare/runtime/globals.hpp
MaxVectorSizeJDK7intxc264
range(0, max_jint)
productMax vector size in bytes, actual size could be less depending on elements typeshare/opto/c2_globals.hpp
MaxVirtMemFractionJDK7uintxgc2developMaximum fraction (1/n) of virtual memory used for ergonomically determining maximum heap sizeshare/gc/shared/gc_globals.hpp
MemProfilingIntervalJDK6intxruntime500notproductTime between each invocation of the MemProfilershare/runtime/globals.hpp
MemProfilingJDK6boolruntimefalsedevelopWrite memory usage profiling to log fileshare/runtime/globals.hpp
MetadataAllocationFailALotIntervalJDK8uintxgc1000developMetadata allocation failure a lot intervalshare/gc/shared/gc_globals.hpp
MetadataAllocationFailALotJDK8boolgcfalsedevelopFail metadata allocations at intervals controlled by MetadataAllocationFailALotIntervalshare/gc/shared/gc_globals.hpp
MetaspaceSizeJDK8uintxaarch6412*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
MetaspaceSizeJDK8size_tarm12*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
MetaspaceSizeJDK8size_truntimeproduct_pdInitial threshold (in bytes) at which a garbage collection is done to reduce Metaspace usageshare/runtime/globals.hpp
MetaspaceSizeJDK8size_tppc12*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
MetaspaceSizeJDK8size_ts39012*Mdefine_pd_globalcpu/s390/c1_globals_s390.hpp
MetaspaceSizeJDK8size_tsparcScaleForWordSize(16*M)define_pd_globalcpu/sparc/c2_globals_sparc.hpp
MetaspaceSizeJDK8size_tx8612*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
MethodFlushingJDK6boolruntimetrueproductReclamation of zombie and not-entrant methodsshare/runtime/globals.hpp
MethodHistogramCutoffJDK6intxruntime100developThe cutoff value for method invocation histogram (+CountCalls)share/runtime/globals.hpp
MethodProfileWidthJDK9intxjvmci0experimentalNumber of methods to record in call profileshare/jvmci/jvmci_globals.hpp
MinHeapDeltaBytesJDK6size_truntimeScaleForWordSize(128*K)
range(0, max_uintx)
productThe minimum change in heap space due to GC (in bytes)share/runtime/globals.hpp
MinInliningThresholdJDK6intxruntime250
range(0, max_jint)
productThe minimum invocation count a method needs to have to be inlinedshare/runtime/globals.hpp
MinJumpTableSizeJDK6intxaarch6410define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
MinJumpTableSizeJDK6intxarm16define_pd_globalcpu/arm/c2_globals_arm.hpp
MinJumpTableSizeJDK6intxc2product_pdMinimum number of targets in a generated jump tableshare/opto/c2_globals.hpp
MinJumpTableSizeJDK6intxppc10define_pd_globalcpu/ppc/c2_globals_ppc.hpp
MinJumpTableSizeJDK6intxs39018define_pd_globalcpu/s390/c2_globals_s390.hpp
MinJumpTableSizeJDK6intxsparc5define_pd_globalcpu/sparc/c2_globals_sparc.hpp
MinJumpTableSizeJDK6intxx8610define_pd_globalcpu/x86/c2_globals_x86.hpp
MinMetaspaceExpansionJDK8size_truntimeScaleForWordSize(256*K)
range(0, max_uintx)
productThe minimum expansion of Metaspace (in bytes)share/runtime/globals.hpp
MinMetaspaceFreeRatioJDK8uintxruntime40
range(0, 99)
productThe minimum percentage of Metaspace free after GC to avoid expansionshare/runtime/globals.hpp
MinOopMapAllocationJDK6intxruntime8developMinimum number of OopMap entries in an OopMapSetshare/runtime/globals.hpp
MinPassesBeforeFlushJDK9intxruntime10
range(0, max_intx)
diagnosticMinimum number of sweeper passes before an nmethod can be flushedshare/runtime/globals.hpp
MinRAMFractionJDK6Deprecated in JDK10uintxgc2
range(1, max_uintx)
productMinimum fraction (1/n) of real memory used for maximum heap size on systems with small physical memory size. Deprecated, use MinRAMPercentage insteadshare/gc/shared/gc_globals.hpp
MinRAMPercentageJDK10doublegc50.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
MinSurvivorRatioJDK6uintxgc3
range(3, max_uintx)
productMinimum ratio of young generation/survivor space sizeshare/gc/shared/gc_globals.hpp
MinTLABSizeJDK6size_tgc2*K
range(1, max_uintx/2)
productMinimum allowed TLAB size (in bytes)share/gc/shared/gc_globals.hpp
MonitorBoundJDK6intxruntime0
range(0, max_jint)
productBound Monitor populationshare/runtime/globals.hpp
MonitorInUseListsJDK6Deprecated in JDK10
Obsoleted in JDK12
Expired in JDK13
boolruntimetrueproductTrack Monitors for Deflationshare/runtime/globals.hpp
MonitorUsedDeflationThresholdJDK10intxruntime90
range(0, 100)
experimentalPercentage of used monitors before triggering cleanup safepoint which deflates monitors (0 is off). The check is performed on GuaranteedSafepointInterval.share/runtime/globals.hpp
MonomorphicArrayCheckJDK6boolc2truedevelopUncommon-trap array store checks that require full type checkshare/opto/c2_globals.hpp
MultiArrayExpandLimitJDK6intxc26
range(0, max_jint)
productMaximum number of individual allocations in an inline-expanded multianewarray instructionshare/opto/c2_globals.hpp
NMethodSizeLimitJDK6intxc1(64*K)*wordSize
range(0, max_jint)
developMaximum size of a compiled method.share/c1/c1_globals.hpp
NUMAChunkResizeWeightJDK6uintxruntime20
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for AdaptiveNUMAChunkSizingshare/runtime/globals.hpp
NUMAInterleaveGranularityJDK6size_truntime2*M
range(os::vm_allocation_granularity(), NOT_LP64(2*G) LP64_ONLY(8192*G))
productGranularity to use for NUMA interleaving on Windows OSshare/runtime/globals.hpp
NUMAPageScanRateJDK6uintxruntime256
range(0, max_uintx)
productMaximum number of pages to include in the page scan procedureshare/runtime/globals.hpp
NUMASpaceResizeRateJDK6size_truntime1*G
range(0, max_uintx)
productDo not reallocate more than this amount per collectionshare/runtime/globals.hpp
NUMAStatsJDK6boolruntimefalseproductPrint NUMA stats in detailed heap informationshare/runtime/globals.hpp
NativeMemoryTrackingJDK7ccstrruntimeoffproductNative memory tracking optionsshare/runtime/globals.hpp
NearCpoolJDK9boolaarch64trueproductconstant pool is close to instructionscpu/aarch64/globals_aarch64.hpp
NeedsDeoptSuspendJDK6boolaarch64falsedefine_pd_global// only register window machines need thiscpu/aarch64/globals_aarch64.hpp
NeedsDeoptSuspendJDK6boolarmfalsedefine_pd_global// only register window machines need thiscpu/arm/globals_arm.hpp
NeedsDeoptSuspendJDK6boolruntimeproduct_pdTrue for register window machines (sparc/ia64)share/runtime/globals.hpp
NeedsDeoptSuspendJDK6boolppcfalsedefine_pd_global// Only register window machines need this.cpu/ppc/globals_ppc.hpp
NeedsDeoptSuspendJDK6bools390falsedefine_pd_global// Only register window machines need this.cpu/s390/globals_s390.hpp
NeedsDeoptSuspendJDK6boolsparctruedefine_pd_global// register window machines need thiscpu/sparc/globals_sparc.hpp
NeedsDeoptSuspendJDK6boolx86falsedefine_pd_global// only register window machines need thiscpu/x86/globals_x86.hpp
NeedsDeoptSuspendJDK6boolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
NestedInliningSizeRatioJDK6intxc190
range(0, 100)
developPercentage of prev. allowed inline size in recursive inliningshare/c1/c1_globals.hpp
NeverActAsServerClassMachineJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NeverActAsServerClassMachineJDK6boolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
NeverActAsServerClassMachineJDK6boolgcproduct_pdNever act like a server-class machineshare/gc/shared/gc_globals.hpp
NeverActAsServerClassMachineJDK6boolruntimetruedefine_pd_globalshare/runtime/globals.hpp
NeverActAsServerClassMachineJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NeverActAsServerClassMachineJDK6bools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
NeverActAsServerClassMachineJDK6boolsparcfalsedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
NeverActAsServerClassMachineJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
NeverTenureJDK6boolgcfalseproductNever tenure objects in eden, may tenure on overflow (ParallelGC only)share/gc/shared/gc_globals.hpp
NewCodeParameterJDK6intxruntime0developTesting Only: Create a dedicated integer parameter before putbackshare/runtime/globals.hpp
NewRatioJDK6uintxgc2
range(0, max_uintx-1)
productRatio of old/new generation sizesshare/gc/shared/gc_globals.hpp
NewSizeThreadIncreaseJDK6intxaarch644*Kdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NewSizeThreadIncreaseJDK6size_tarm4*Kdefine_pd_globalcpu/arm/c1_globals_arm.hpp
NewSizeThreadIncreaseJDK6size_tgcproduct_pdAdditional size added to desired new generation size per non-daemon thread (in bytes)share/gc/shared/gc_globals.hpp
NewSizeThreadIncreaseJDK6size_truntime4*Kdefine_pd_globalshare/runtime/globals.hpp
NewSizeThreadIncreaseJDK6size_tppc16*Kdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
NewSizeThreadIncreaseJDK6size_ts39016*Kdefine_pd_globalcpu/s390/c1_globals_s390.hpp
NewSizeThreadIncreaseJDK6size_tsparcScaleForWordSize(4*K)define_pd_globalcpu/sparc/c2_globals_sparc.hpp
NewSizeThreadIncreaseJDK6size_tx864*Kdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NewSizeJDK6size_tgcScaleForWordSize(1*M)productInitial new generation size (in bytes)share/gc/shared/gc_globals.hpp
NmethodSweepActivityJDK8intxruntime10
range(0, 2000)
productRemoves cold nmethods from code cache if > 0. Higher values result in more aggressive sweepingshare/runtime/globals.hpp
NodeCountInliningCutoffJDK6intxc218000
range(0, max_jint)
developIf parser node generation exceeds limit stop inliningshare/opto/c2_globals.hpp
NodeCountInliningStepJDK6intxc21000
range(0, max_jint)
developTarget size of warm calls inlined between optimization passesshare/opto/c2_globals.hpp
NodeLimitFudgeFactorJDK6intxc22000productFudge Factor for certain optimizationsshare/opto/c2_globals.hpp
NonNMethodCodeHeapSizeJDK9intxaarch645*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NonNMethodCodeHeapSizeJDK9size_tarm5*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
NonNMethodCodeHeapSizeJDK9uintxruntimeproduct_pdSize of code heap with non-nmethods (in bytes)share/runtime/globals.hpp
NonNMethodCodeHeapSizeJDK9uintxppc5*Mdefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
NonNMethodCodeHeapSizeJDK9uintxs3905*Mdefine_pd_globalcpu/s390/c1_globals_s390.hpp
NonNMethodCodeHeapSizeJDK9uintxsparc5*Mdefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
NonNMethodCodeHeapSizeJDK9uintxx865*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NonProfiledCodeHeapSizeJDK9intxaarch6413*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
NonProfiledCodeHeapSizeJDK9size_tarm13*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
NonProfiledCodeHeapSizeJDK9uintxruntimeproduct_pdSize of code heap with non-profiled methods (in bytes)share/runtime/globals.hpp
NonProfiledCodeHeapSizeJDK9uintxppc125*Mdefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
NonProfiledCodeHeapSizeJDK9uintxs39013*Mdefine_pd_globalcpu/s390/c1_globals_s390.hpp
NonProfiledCodeHeapSizeJDK9uintxsparc21*Mdefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
NonProfiledCodeHeapSizeJDK9uintxx8613*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
NotifySimulatorJDK9boolaarch64UseBuiltinSimproducttell the AArch64 sim where we are in method codecpu/aarch64/globals_aarch64.hpp
NumberOfLoopInstrToAlignJDK6intxc24
range(0, max_jint)
productNumber of first instructions in a loop to alignshare/opto/c2_globals.hpp
OSROnlyBCIJDK6intxruntime-1developOSR only at this bci. Negative values mean exclude that bcishare/runtime/globals.hpp
ObjArrayMarkingStrideJDK6uintxgc2048developNumber of object array elements to push onto the marking stack before pushing a continuation entryshare/gc/shared/gc_globals.hpp
ObjectAlignmentInBytesJDK6intxruntime8
range(8, 256)
lp64_productDefault object alignment in bytes, 8 is minimumshare/runtime/globals.hpp
ObjectCountCutOffPercentJDK7doubleruntime0.5
range(0.0, 100.0)
experimentalThe percentage of the used heap that the instances of a class must occupy for the class to generate a trace eventshare/runtime/globals.hpp
OldPLABSizeJDK6size_tgc1024productSize of old gen promotion LAB's (in HeapWords), or Number of blocks to attempt to claim when refilling CMS LAB'sshare/gc/shared/gc_globals.hpp
OldPLABWeightJDK6uintxgc50
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for resizing OldPLABSizeshare/gc/shared/gc_globals.hpp
OldSizeJDK6size_tgcScaleForWordSize(4*M)
range(0, max_uintx)
productInitial tenured generation size (in bytes)share/gc/shared/gc_globals.hpp
OmitStackTraceInFastThrowJDK6boolruntimetrueproductOmit backtraces for some 'hot' exceptions in optimized codeshare/runtime/globals.hpp
OnErrorJDK6ccstrlistruntimeRun user-defined commands on fatal error; see VMError.cpp for examplesproductshare/runtime/globals.hpp
OnOutOfMemoryErrorJDK6ccstrlistruntimeRun user-defined commands on first java.lang.OutOfMemoryErrorproductshare/runtime/globals.hpp
OnStackReplacePercentageJDK6intxaarch64933define_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
OnStackReplacePercentageJDK6intxarm933define_pd_globalcpu/arm/c1_globals_arm.hpp
OnStackReplacePercentageJDK6intxruntimeproduct_pdNON_TIERED number of method invocations/branches (expressed as % of CompileThreshold) before (re-)compiling OSR codeshare/runtime/globals.hpp
OnStackReplacePercentageJDK6intxppc1400define_pd_globalcpu/ppc/c1_globals_ppc.hpp
OnStackReplacePercentageJDK6intxs3901400define_pd_globalcpu/s390/c1_globals_s390.hpp
OnStackReplacePercentageJDK6intxsparc140define_pd_globalcpu/sparc/c2_globals_sparc.hpp
OnStackReplacePercentageJDK6intxx86933define_pd_globalcpu/x86/c1_globals_x86.hpp
OptimizeExpensiveOpsJDK7boolc2truediagnosticFind best control for expensive operationsshare/opto/c2_globals.hpp
OptimizeFillJDK6boolc2true PPC64_ONLY(&& false)productconvert fill/copy loops into intrinsicshare/opto/c2_globals.hpp
OptimizeIfOpsJDK6boolc1truedevelopOptimize multiple IfOpsshare/c1/c1_globals.hpp
OptimizePollingPageLocationJDK7boolaixtrueproductOptimize the location of the polling page used for Safepointsos/aix/globals_aix.hpp
OptimizePtrCompareJDK6boolc2trueproductUse escape analysis to optimize pointers compareshare/opto/c2_globals.hpp
OptimizeSinglePrecisionJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
OptimizeSinglePrecisionJDK6boolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
OptimizeSinglePrecisionJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
OptimizeSinglePrecisionJDK6bools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
OptimizeSinglePrecisionJDK6boolsparcfalsedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
OptimizeSinglePrecisionJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
OptimizeStringConcatJDK6boolc2trueproductOptimize the construction of Strings by StringBuildershare/opto/c2_globals.hpp
OptimizeUnsafesJDK6boolc1truedevelopOptimize raw unsafe opsshare/c1/c1_globals.hpp
OptoBlockListSizeJDK6intxc28
range(0, max_jint)
developStarting allocation size of Block_List data structuresshare/opto/c2_globals.hpp
OptoBreakpointC2RJDK6boolc2falsenotproductinsert breakpoint at runtime stub entryshare/opto/c2_globals.hpp
OptoBreakpointOSRJDK6boolc2falsenotproductinsert breakpoint at osr method entryshare/opto/c2_globals.hpp
OptoBreakpointJDK6boolc2falsedevelopinsert breakpoint at method entryshare/opto/c2_globals.hpp
OptoBundlingJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoBundlingJDK6boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
OptoBundlingJDK6boolc2product_pdGenerate nops to fill i-cache linesshare/opto/c2_globals.hpp
OptoBundlingJDK6boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoBundlingJDK6bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoBundlingJDK6boolsparcfalsedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
OptoBundlingJDK6boolx86falsedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoCoalesceJDK6boolc2truedevelopUse Conservative Copy Coalescing in the Register Allocatorshare/opto/c2_globals.hpp
OptoLoopAlignmentJDK6intxaarch6416define_pd_globalcpu/aarch64/globals_aarch64.hpp
OptoLoopAlignmentJDK6intxarm16define_pd_globalcpu/arm/globals_arm.hpp
OptoLoopAlignmentJDK6intxruntimeproduct_pdAlign inner loops to zero relative to this modulusshare/runtime/globals.hpp
OptoLoopAlignmentJDK6intxppc16define_pd_globalcpu/ppc/globals_ppc.hpp
OptoLoopAlignmentJDK6intxs3902define_pd_globalcpu/s390/globals_s390.hpp
OptoLoopAlignmentJDK6intxsparc16define_pd_global// = 4*wordSizecpu/sparc/globals_sparc.hpp
OptoLoopAlignmentJDK6intxx8616define_pd_globalcpu/x86/globals_x86.hpp
OptoLoopAlignmentJDK6intxzero16define_pd_globalcpu/zero/globals_zero.hpp
OptoNoExecuteJDK6boolc2falsenotproductAttempt to parse and compile but do not execute generated codeshare/opto/c2_globals.hpp
OptoNodeListSizeJDK6intxc24
range(0, max_jint)
developStarting allocation size of Node_List data structuresshare/opto/c2_globals.hpp
OptoPeepholeAtJDK6intxc2-1developApply peephole optimizations to this peephole ruleshare/opto/c2_globals.hpp
OptoPeepholeJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoPeepholeJDK6boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
OptoPeepholeJDK6boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoPeepholeJDK6bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoPeepholeJDK6boolsparcfalsedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
OptoPeepholeJDK6boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoPrologueNopsJDK6intxc20
range(0, 128)
developInsert this many extra nop instructions in the prologue of every nmethodshare/opto/c2_globals.hpp
OptoRegSchedulingJDK9boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoRegSchedulingJDK9boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
OptoRegSchedulingJDK9boolc2product_pdInstruction Scheduling before register allocation for pressureshare/opto/c2_globals.hpp
OptoRegSchedulingJDK9boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoRegSchedulingJDK9bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoRegSchedulingJDK9boolsparcfalsedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
OptoRegSchedulingJDK9boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
OptoRemoveUselessJDK6boolc2truedevelopRemove useless nodes after parsingshare/opto/c2_globals.hpp
OptoSchedulingJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
OptoSchedulingJDK6boolarmtruedefine_pd_globalcpu/arm/c2_globals_arm.hpp
OptoSchedulingJDK6boolc2product_pdInstruction Scheduling after register allocationshare/opto/c2_globals.hpp
OptoSchedulingJDK6boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
OptoSchedulingJDK6bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
OptoSchedulingJDK6boolsparctruedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
OptoSchedulingJDK6boolx86falsedefine_pd_globalcpu/x86/c2_globals_x86.hpp
PLABWeightJDK6uintxgc75
range(0, 100)
productPercentage (0-100) used to weight the current sample when computing exponentially decaying average for ResizePLABshare/gc/shared/gc_globals.hpp
PSAdaptiveSizePolicyResizeVirtualSpaceAlotJDK6intxgc-1
range(-1, 1)
developResize the virtual spaces of the young or old generationsshare/gc/shared/gc_globals.hpp
PSChunkLargeArraysJDK6boolgctrueproductProcess large arrays in chunksshare/gc/parallel/parallel_globals.hpp
ParGCArrayScanChunkJDK6intgc50
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
ParGCCardsPerStrideChunkJDK6intxgc256
range(1, max_intx)
diagnosticThe number of cards in each chunk of the parallel chunks used during card table scanningshare/gc/cms/cms_globals.hpp
ParGCDesiredObjsFromOverflowListJDK6uintxgc20
range(0, max_uintx)
productThe desired number of objects to claim from the overflow listshare/gc/cms/cms_globals.hpp
ParGCStridesPerThreadJDK6uintxgc2
range(1, max_uintx)
diagnosticThe number of strides per worker thread that we divide up the card table scanning work intoshare/gc/cms/cms_globals.hpp
ParGCTrimOverflowJDK6boolgctrueproductEagerly trim the local overflow lists (when ParGCUseLocalOverflow)share/gc/cms/cms_globals.hpp
ParGCUseLocalOverflowJDK6boolgcfalseproductInstead of a global overflow list, use local overflow stacksshare/gc/cms/cms_globals.hpp
ParGCWorkQueueOverflowALotJDK6boolgcfalsenotproductSimulate work queue overflow in ParNewshare/gc/cms/cms_globals.hpp
ParGCWorkQueueOverflowIntervalJDK6uintxgc1000notproductAn `interval' counter that determines how frequently we simulate overflow; a smaller number increases frequencyshare/gc/cms/cms_globals.hpp
ParallelGCBufferWastePctJDK6uintxgc10
range(0, 100)
productWasted fraction of parallel allocation buffershare/gc/shared/gc_globals.hpp
ParallelGCThreadsJDK6uintgc0productNumber of parallel threads parallel gc will useshare/gc/shared/gc_globals.hpp
ParallelOldDeadWoodLimiterMeanJDK6size_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
ParallelOldDeadWoodLimiterStdDevJDK6size_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
ParallelRefProcBalancingEnabledJDK6boolgctrueproductEnable balancing of reference processing queuesshare/gc/shared/gc_globals.hpp
ParallelRefProcEnabledJDK6boolgcfalseproductEnable parallel reference processing whenever possibleshare/gc/shared/gc_globals.hpp
PartialPeelAtUnsignedTestsJDK6boolc2trueproductPartial peel at unsigned tests if no signed test existsshare/opto/c2_globals.hpp
PartialPeelLoopJDK6boolc2trueproductPartial peel (rotate) loopsshare/opto/c2_globals.hpp
PartialPeelNewPhiDeltaJDK6intxc20
range(0, max_jint)
productAdditional phis that can be created by partial peelingshare/opto/c2_globals.hpp
PatchALotJDK6boolc1falsedevelopMarks all fields as having unloaded classesshare/c1/c1_globals.hpp
PauseAtExitJDK6boolruntimefalsediagnosticPause and wait for keypress on exit if a debugger is attachedshare/runtime/globals.hpp
PauseAtStartupFileJDK6ccstrruntimeNULLdiagnosticThe file to create and for whose removal to await when pausing at startup. (default: ./vm.paused.)share/runtime/globals.hpp
PauseAtStartupJDK6boolruntimefalsediagnosticCauses the VM to pause at startup time and wait for the pause file to be removed (default: ./vm.paused.)share/runtime/globals.hpp
PausePaddingJDK6uintxgc1
range(0, max_juint)
productHow much buffer to keep for pause timeshare/gc/shared/gc_globals.hpp
PerBytecodeRecompilationCutoffJDK6intxruntime200
range(-1, max_intx)
productPer-BCI limit on repeated recompilation (-1=>'Inf')share/runtime/globals.hpp
PerBytecodeTrapLimitJDK6intxruntime4
range(0, max_jint)
productLimit on traps (of one kind) at a particular BCIshare/runtime/globals.hpp
PerMethodRecompilationCutoffJDK6intxruntime400
range(-1, max_intx)
productAfter recompiling N times, stay in the interpreter (-1=>'Inf')share/runtime/globals.hpp
PerMethodSpecTrapLimitJDK8intxruntime5000
range(0, max_jint)
experimentalLimit on speculative traps (of one kind) in a method (includes inlines)share/runtime/globals.hpp
PerMethodTrapLimitJDK6intxruntime100
range(0, max_jint)
productLimit on traps (of one kind) in a method (includes inlines)share/runtime/globals.hpp
PerfAllowAtExitRegistrationJDK6boolruntimefalseproductAllow registration of atexit() methodsshare/runtime/globals.hpp
PerfBypassFileSystemCheckJDK6boolruntimefalseproductBypass Win32 file system criteria checks (Windows Only)share/runtime/globals.hpp
PerfDataMemorySizeJDK6intxruntime32*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
PerfDataSamplingIntervalJDK6intxruntime50
range(PeriodicTask::min_interval, max_jint)
productData sampling interval (in milliseconds)share/runtime/globals.hpp
PerfDataSaveFileJDK6ccstrruntimeNULLproductSave PerfData memory to the specified absolute pathname. The string %p in the file name (if present) will be replaced by pidshare/runtime/globals.hpp
PerfDataSaveToFileJDK6boolruntimefalseproductSave PerfData memory to hsperfdata_ file on exitshare/runtime/globals.hpp
PerfDisableSharedMemJDK6boolruntimefalseproductStore performance data in standard memoryshare/runtime/globals.hpp
PerfMaxStringConstLengthJDK6intxruntime1024
range(32, 32*K)
productMaximum PerfStringConstant string length before truncationshare/runtime/globals.hpp
PinAllInstructionsJDK6boolc1falsedevelopAll instructions are pinnedshare/c1/c1_globals.hpp
PoisonOSREntryJDK6boolc2truedevelopDetect abnormal calls to OSR codeshare/opto/c2_globals.hpp
PostLoopMultiversioningJDK9boolc2falseexperimentalMulti versioned post loops to eliminate range checksshare/opto/c2_globals.hpp
PowerArchitecturePPC64JDK7uintxppc0productCPU Version: x for PowerX. Currently recognizes Power5 to Power8. Default is 0. Newer CPUs will be recognized as Power8.cpu/ppc/globals_ppc.hpp
PreTouchParallelChunkSizeJDK9size_tgc1 * G
range(1, SIZE_MAX / 2)
productPer-thread chunk size for parallel memory pre-touch.share/gc/shared/gc_globals.hpp
PreallocatedOutOfMemoryErrorCountJDK6uintxruntime4developNumber of OutOfMemoryErrors preallocated with backtraceshare/runtime/globals.hpp
PreferContainerQuotaForCPUCountJDK11boollinuxtrueproductCalculate 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
PreferInterpreterNativeStubsJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
PreferInterpreterNativeStubsJDK6boolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
PreferInterpreterNativeStubsJDK6boolruntimeproduct_pdUse always interpreter stubs for native methods invoked via interpretershare/runtime/globals.hpp
PreferInterpreterNativeStubsJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
PreferInterpreterNativeStubsJDK6bools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
PreferInterpreterNativeStubsJDK6boolsparcfalsedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
PreferInterpreterNativeStubsJDK6boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
PreferLAoverADDJDK9bools390falseproductUse LA/LAY instructions over ADD instructions (z/Architecture).cpu/s390/globals_s390.hpp
PrefetchCopyIntervalInBytesJDK6intxgc-1
range(-1, max_jint)
productHow far ahead to prefetch destination area (<= 0 means off)share/gc/shared/gc_globals.hpp
PrefetchFieldsAheadJDK6intxgc-1
range(-1, max_jint)
productHow many fields ahead to prefetch in oop scan (<= 0 means off)share/gc/shared/gc_globals.hpp
PrefetchScanIntervalInBytesJDK6intxgc-1
range(-1, max_jint)
productHow far ahead to prefetch scan area (<= 0 means off)share/gc/shared/gc_globals.hpp
PreserveAllAnnotationsJDK6boolruntimefalseproductPreserve RuntimeInvisibleAnnotations as well as RuntimeVisibleAnnotationsshare/runtime/globals.hpp
PreserveFramePointerJDK8boolaarch64falsedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
PreserveFramePointerJDK8boolarmfalsedefine_pd_globalcpu/arm/globals_arm.hpp
PreserveFramePointerJDK8boolruntimeproduct_pdUse the FP register for holding the frame pointer and not as a general purpose register.share/runtime/globals.hpp
PreserveFramePointerJDK8boolppcfalsedefine_pd_globalcpu/ppc/globals_ppc.hpp
PreserveFramePointerJDK8bools390falsedefine_pd_globalcpu/s390/globals_s390.hpp
PreserveFramePointerJDK8boolsparcfalsedefine_pd_globalcpu/sparc/globals_sparc.hpp
PreserveFramePointerJDK8boolx86falsedefine_pd_globalcpu/x86/globals_x86.hpp
PreserveFramePointerJDK8boolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
PretenureSizeThresholdJDK6size_tgc0
range(0, max_uintx)
productMaximum size in bytes of objects allocated in DefNew generation; zero means no maximumshare/gc/shared/gc_globals.hpp
PrintAOTStatisticsJDK9boolruntimefalsenotproductPrint AOT statisticsshare/runtime/globals.hpp
PrintAOTJDK9boolruntimefalseproductPrint used AOT klasses and methodsshare/runtime/globals.hpp
PrintAdapterHandlersJDK6boolruntimefalsediagnosticPrint code generated for i2c/c2i adaptersshare/runtime/globals.hpp
PrintAssemblyOptionsJDK6ccstrruntimeNULLdiagnosticPrint options string passed to disassembler.soshare/runtime/globals.hpp
PrintAssemblyJDK6boolruntimefalsediagnosticPrint assembly code (using external disassembler.so)share/runtime/globals.hpp
PrintBailoutsJDK6boolc1falsedevelopPrint bailout and its reasonshare/c1/c1_globals.hpp
PrintBiasedLockingStatisticsJDK6boolruntimefalsediagnosticPrint statistics of biased locking in JVMshare/runtime/globals.hpp
PrintBlockEliminationJDK6boolc1falsedevelopPrint basic block eliminationshare/c1/c1_globals.hpp
PrintBootstrapJDK9booljvmcitrueexperimentalPrint JVMCI bootstrap progress and summaryshare/jvmci/jvmci_globals.hpp
PrintBytecodeHistogramJDK6boolruntimefalsedevelopPrint histogram of the executed bytecodesshare/runtime/globals.hpp
PrintBytecodePairHistogramJDK6boolruntimefalsedevelopPrint histogram of the executed bytecode pairsshare/runtime/globals.hpp
PrintC1StatisticsJDK6boolc1falsenotproductPrint Compiler1 statisticsshare/c1/c1_globals.hpp
PrintCEEJDK6boolc1falsedevelopPrint Conditional Expression Eliminationshare/c1/c1_globals.hpp
PrintCFG0JDK6boolc1falsenotproductPrint control flow graph after constructionshare/c1/c1_globals.hpp
PrintCFG1JDK6boolc1falsenotproductPrint control flow graph after optimizationsshare/c1/c1_globals.hpp
PrintCFG2JDK6boolc1falsenotproductPrint control flow graph before code generationshare/c1/c1_globals.hpp
PrintCFGBlockFreqJDK6boolc2falsedevelopPrint CFG block freqenciesshare/opto/c2_globals.hpp
PrintCFGToFileJDK6boolc1falsedevelopprint control flow graph to a separate file during compilationshare/c1/c1_globals.hpp
PrintCFGJDK6boolc1falsenotproductPrint control flow graph after each changeshare/c1/c1_globals.hpp
PrintCanonicalizationJDK6boolc1falsedevelopPrint graph node canonicalizationshare/c1/c1_globals.hpp
PrintCodeCache2JDK6boolruntimefalsedevelopPrint detailed usage information on the code cache when exitingshare/runtime/globals.hpp
PrintCodeCacheExtensionJDK6boolruntimefalsedevelopPrint extension of code cacheshare/runtime/globals.hpp
PrintCodeCacheOnCompilationJDK8boolruntimefalseproductPrint the code cache memory usage each time a method is compiledshare/runtime/globals.hpp
PrintCodeCacheJDK6boolruntimefalseproductPrint the code cache memory usage when exitingshare/runtime/globals.hpp
PrintCommandLineFlagsJDK6boolruntimefalseproductPrint flags specified on command line or set by ergonomicsshare/runtime/globals.hpp
PrintCompilation2JDK6boolruntimefalsediagnosticPrint additional statistics per compilationshare/runtime/globals.hpp
PrintCompilationJDK6boolruntimefalseproductPrint compilationsshare/runtime/globals.hpp
PrintDebugInfoJDK6boolruntimefalsedevelopPrint debug information for all nmethods when generatedshare/runtime/globals.hpp
PrintDeoptimizationDetailsJDK9boolruntimefalsedevelopPrint more information about deoptimizationshare/runtime/globals.hpp
PrintDependenciesJDK6boolruntimefalsedevelopPrint dependency information for all nmethods when generatedshare/runtime/globals.hpp
PrintDominatorsJDK6boolc2falsedevelopPrint out dominator trees for GVNshare/opto/c2_globals.hpp
PrintEliminateAllocationsJDK6boolc2falsenotproductPrint out when allocations are eliminatedshare/opto/c2_globals.hpp
PrintEliminateLocksJDK6boolc2falsenotproductPrint out when locks are eliminatedshare/opto/c2_globals.hpp
PrintEscapeAnalysisJDK6boolc2falsenotproductPrint the results of escape analysisshare/opto/c2_globals.hpp
PrintExceptionHandlersJDK6boolruntimefalsedevelopPrint exception handler tables for all nmethods when generatedshare/runtime/globals.hpp
PrintExtendedThreadInfoJDK11boolruntimefalseproductPrint more information in thread dumpshare/runtime/globals.hpp
PrintFieldLayoutJDK8boolruntimefalsenotproductPrint field layout for each classshare/runtime/globals.hpp
PrintFlagsFinalJDK6boolruntimefalseproductPrint all VM flags after argument and ergonomic processingshare/runtime/globals.hpp
PrintFlagsInitialJDK6boolruntimefalseproductPrint all VM flags before argument processing and exit VMshare/runtime/globals.hpp
PrintFlagsRangesJDK9boolruntimefalseproductPrint VM flags and their ranges and exit VMshare/runtime/globals.hpp
PrintFlagsWithCommentsJDK6boolruntimefalsenotproductPrint all VM flags with default values and descriptions and exitshare/runtime/globals.hpp
PrintFrameConverterAssemblyJDK6boolc2falsenotproductPrint New compiler assembly output for frame convertersshare/opto/c2_globals.hpp
PrintGCDetailsJDK9boolgcfalseproductPrint more details at garbage collection. Deprecated, use -Xlog:gc* instead.share/gc/shared/gc_globals.hpp
PrintGCJDK9boolgcfalseproductPrint message at garbage collection. Deprecated, use -Xlog:gc instead.share/gc/shared/gc_globals.hpp
PrintHeapAtSIGBREAKJDK6boolruntimetrueproductPrint heap layout in response to SIGBREAKshare/runtime/globals.hpp
PrintIR0JDK6boolc1falsenotproductPrint full intermediate representation after constructionshare/c1/c1_globals.hpp
PrintIR1JDK6boolc1falsenotproductPrint full intermediate representation after optimizationsshare/c1/c1_globals.hpp
PrintIR2JDK6boolc1falsenotproductPrint full intermediate representation before code generationshare/c1/c1_globals.hpp
PrintIRDuringConstructionJDK6boolc1falsenotproductPrint IR as it's being constructed (helpful for debugging frontend)share/c1/c1_globals.hpp
PrintIRWithLIRJDK6boolc1falsenotproductPrint IR instructions with generated LIRshare/c1/c1_globals.hpp
PrintIRJDK6boolc1falsenotproductPrint full intermediate representation after each changeshare/c1/c1_globals.hpp
PrintIdealGraphAddressJDK6ccstrc2127.0.0.1notproductIP address to connect to visualizershare/opto/c2_globals.hpp
PrintIdealGraphFileJDK6ccstrc2NULLnotproductFile to dump ideal graph to. If set overrides the use of the networkshare/opto/c2_globals.hpp
PrintIdealGraphLevelJDK6intxc20
range(0, 4)
notproductLevel of detail of the ideal graph printout. System-wide value, 0=nothing is printed, 4=all details printed. Level of detail of printouts can be set on a per-method level as well by using CompileCommand=option.share/opto/c2_globals.hpp
PrintIdealGraphPortJDK6intxc24444
range(0, SHRT_MAX)
notproductIdeal graph printer to network portshare/opto/c2_globals.hpp
PrintIdealGraphJDK9boolc2falsenotproductPrint ideal graph to XML file / network interface. By default attempts to connect to the visualizer on a socket.share/opto/c2_globals.hpp
PrintIdealNodeCountJDK7boolc2falsenotproductPrint liveness counts of ideal nodesshare/opto/c2_globals.hpp
PrintIdealJDK6boolc2falsenotproductPrint ideal graph before code generationshare/opto/c2_globals.hpp
PrintInitialBlockListJDK6boolc1falsenotproductPrint block list of BlockListBuildershare/c1/c1_globals.hpp
PrintInliningJDK6boolruntimefalsediagnosticPrint inlining optimizationsshare/runtime/globals.hpp
PrintInterpreterJDK6boolruntimefalsediagnosticPrint the generated interpreter codeshare/runtime/globals.hpp
PrintIntrinsicsJDK6boolc2falsediagnosticprints attempted and successful inlining of intrinsicsshare/opto/c2_globals.hpp
PrintJNIResolvingJDK6boolruntimefalseproductUsed to implement -v:jnishare/runtime/globals.hpp
PrintLIRWithAssemblyJDK6boolc1falsenotproductShow LIR instruction with generated assemblyshare/c1/c1_globals.hpp
PrintLIRJDK6boolc1falsedevelopprint low-level IRshare/c1/c1_globals.hpp
PrintLockStatisticsJDK6boolc2falsenotproductPrint precise statistics on the dynamic lock usageshare/opto/c2_globals.hpp
PrintMallocStatisticsJDK6boolruntimefalsedevelopPrint malloc/free statisticsshare/runtime/globals.hpp
PrintMethodDataJDK6boolruntimefalsediagnosticPrint the results of +ProfileInterpreter at end of runshare/runtime/globals.hpp
PrintMethodFlushingStatisticsJDK8boolruntimefalsediagnosticprint statistics about method flushingshare/runtime/globals.hpp
PrintMethodFlushingJDK6boolruntimefalsedevelopPrint the nmethods being flushedshare/runtime/globals.hpp
PrintMethodHandleStubsJDK6boolruntimefalsediagnosticPrint generated stub code for method handlesshare/runtime/globals.hpp
PrintMiscellaneousJDK6boolruntimefalsedevelopPrint uncategorized debugging information (requires +Verbose)share/runtime/globals.hpp
PrintNMTStatisticsJDK7boolruntimefalsediagnosticPrint native memory tracking summary data if it is onshare/runtime/globals.hpp
PrintNMethodStatisticsJDK9boolruntimefalsenotproductPrint a summary statistic for the generated nmethodsshare/runtime/globals.hpp
PrintNMethodsJDK6boolruntimefalsediagnosticPrint assembly code for nmethods when generatedshare/runtime/globals.hpp
PrintNativeNMethodsJDK6boolruntimefalsediagnosticPrint assembly code for native nmethods when generatedshare/runtime/globals.hpp
PrintNotLoadedJDK6boolc1falsedevelopPrints where classes are not loaded during code generationshare/c1/c1_globals.hpp
PrintNullCheckEliminationJDK6boolc1falsedevelopPrint null check eliminationshare/c1/c1_globals.hpp
PrintOptimizePtrCompareJDK6boolc2falsenotproductPrint information about optimized pointers compareshare/opto/c2_globals.hpp
PrintOptimizeStringConcatJDK6boolc2falsenotproductPrint information about transformations performed on Stringsshare/opto/c2_globals.hpp
PrintOptoAssemblyJDK6boolc2falsediagnosticPrint New compiler assembly outputshare/opto/c2_globals.hpp
PrintOptoInliningJDK6boolc2falsenotproductPrint compiler2 inlining decisionsshare/opto/c2_globals.hpp
PrintOptoPeepholeJDK6boolc2falsenotproductPrint New compiler peephole replacementsshare/opto/c2_globals.hpp
PrintOptoStatisticsJDK6boolc2falsenotproductPrint New compiler statisticsshare/opto/c2_globals.hpp
PrintOptoJDK6boolc2falsenotproductPrint compiler2 attemptsshare/opto/c2_globals.hpp
PrintParseStatisticsJDK6boolc2falsenotproductPrint nodes, transforms and new values made per bytecode parsedshare/opto/c2_globals.hpp
PrintPhiFunctionsJDK6boolc1falsenotproductPrint phi functions when they are created and simplifiedshare/c1/c1_globals.hpp
PrintPreciseBiasedLockingStatisticsJDK6boolc2falsediagnosticPrint per-lock-site statistics of biased locking in JVMshare/opto/c2_globals.hpp
PrintPreciseRTMLockingStatisticsJDK8boolc2falsediagnosticPrint per-lock-site statistics of rtm locking in JVMshare/opto/c2_globals.hpp
PrintRelocationsJDK6boolruntimefalsedevelopPrint relocation information for all nmethods when generatedshare/runtime/globals.hpp
PrintRewritesJDK6boolruntimefalsenotproductPrint methods that are being rewrittenshare/runtime/globals.hpp
PrintSafepointStatisticsCountJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
intxruntime300
range(1, max_intx)
product(Deprecated) Total number of safepoint statistics collected before printing them outshare/runtime/globals.hpp
PrintSafepointStatisticsTimeoutJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
intxruntime-1product(Deprecated) Print safepoint statistics only when safepoint takes more than PrintSafepointSatisticsTimeout in millisshare/runtime/globals.hpp
PrintSafepointStatisticsJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproduct(Deprecated) Print statistics about safepoint synchronizationshare/runtime/globals.hpp
PrintSharedArchiveAndExitJDK8boolruntimefalseproductPrint shared archive file contentsshare/runtime/globals.hpp
PrintSharedDictionaryJDK8boolruntimefalseproductIf PrintSharedArchiveAndExit is true, also print the shared dictionaryshare/runtime/globals.hpp
PrintSignatureHandlersJDK6boolruntimefalsediagnosticPrint code generated for native method signature handlersshare/runtime/globals.hpp
PrintSimpleStubsJDK6boolc1falsenotproductPrint SimpleStubsshare/c1/c1_globals.hpp
PrintStringTableStatisticsJDK6boolruntimefalseproductprint statistics about the StringTable and SymbolTableshare/runtime/globals.hpp
PrintStubCodeJDK6boolruntimefalsediagnosticPrint generated stub codeshare/runtime/globals.hpp
PrintSymbolTableSizeHistogramJDK6boolruntimefalsenotproductprint histogram of the symbol tableshare/runtime/globals.hpp
PrintSystemDictionaryAtExitJDK6boolruntimefalsenotproductPrint the system dictionary at exitshare/runtime/globals.hpp
PrintTieredEventsJDK6boolruntimefalseproductPrint tiered events notificationsshare/runtime/globals.hpp
PrintTouchedMethodsAtExitJDK9boolruntimefalsediagnosticPrint all methods that have been ever touched in runtimeshare/runtime/globals.hpp
PrintUnsafeOptimizationJDK6boolc1falsedevelopPrint optimization of raw unsafe opsshare/c1/c1_globals.hpp
PrintVMMessagesJDK6boolruntimetruedevelopPrint VM messages on consoleshare/runtime/globals.hpp
PrintVMOptionsJDK6boolruntimefalseproductPrint flags that appeared on the command lineshare/runtime/globals.hpp
PrintVMQWaitTimeJDK6boolruntimefalseproductPrint out the waiting time in VM operation queueshare/runtime/globals.hpp
PrintValueNumberingJDK6boolc1falsedevelopPrint Value Numberingshare/c1/c1_globals.hpp
PrintVtableStatsJDK6boolruntimefalsenotproductprint vtables stats at end of runshare/runtime/globals.hpp
PrintWarningsJDK6boolruntimetrueproductPrint JVM warnings to output streamshare/runtime/globals.hpp
ProcessDistributionStrideJDK6uintxruntime4
range(0, max_juint)
productStride through processors when distributing processesshare/runtime/globals.hpp
ProfileDynamicTypesJDK6boolc2truediagnosticdo extra type profiling and use it more aggressivelyshare/opto/c2_globals.hpp
ProfileInterpreterJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfileInterpreterJDK6boolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
ProfileInterpreterJDK6boolruntimeproduct_pdProfile at the bytecode level during interpretationshare/runtime/globals.hpp
ProfileInterpreterJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfileInterpreterJDK6bools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
ProfileInterpreterJDK6boolsparctruedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
ProfileInterpreterJDK6boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
ProfileIntervalsTicksJDK6intxruntime100
range(0, max_intx)
productNumber of ticks between printing of interval profile (+ProfileIntervals)share/runtime/globals.hpp
ProfileIntervalsJDK6boolruntimefalseproductPrint profiles for each interval (see ProfileIntervalsTicks)share/runtime/globals.hpp
ProfileMaturityPercentageJDK6intxruntime20
range(0, 100)
productnumber of method invocations/branches (expressed as % of CompileThreshold) before using the method's profileshare/runtime/globals.hpp
ProfileTrapsJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfileTrapsJDK6boolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
ProfileTrapsJDK6boolruntimefalsedefine_pd_globalshare/runtime/globals.hpp
ProfileTrapsJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ProfileTrapsJDK6bools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
ProfileTrapsJDK6boolsparctruedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
ProfileTrapsJDK6boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
ProfileVMJDK6boolruntimefalseproductProfile ticks that fall within VM (either in the VM Thread or VM code called through stubs)share/runtime/globals.hpp
ProfiledCodeHeapSizeJDK9intxaarch6414*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ProfiledCodeHeapSizeJDK9size_tarm14*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
ProfiledCodeHeapSizeJDK9uintxruntimeproduct_pdSize of code heap with profiled methods (in bytes)share/runtime/globals.hpp
ProfiledCodeHeapSizeJDK9uintxppc126*Mdefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
ProfiledCodeHeapSizeJDK9uintxs39014*Mdefine_pd_globalcpu/s390/c1_globals_s390.hpp
ProfiledCodeHeapSizeJDK9uintxsparc22*Mdefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
ProfiledCodeHeapSizeJDK9uintxx8614*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
ProfilerCheckIntervalsJDK6boolruntimefalsenotproductCollect and print information on spacing of profiler ticksshare/runtime/globals.hpp
ProfilerNodeSizeJDK6intxruntime1024
range(0, 1024)
developSize in K to allocate for the Profile Nodes of each threadshare/runtime/globals.hpp
ProfilerNumberOfCompiledMethodsJDK6intxruntime25diagnosticNumber of compiled methods to show in profileshare/runtime/globals.hpp
ProfilerNumberOfInterpretedMethodsJDK6intxruntime25diagnosticNumber of interpreted methods to show in profileshare/runtime/globals.hpp
ProfilerNumberOfRuntimeStubNodesJDK6intxruntime25diagnosticNumber of runtime stub nodes to show in profileshare/runtime/globals.hpp
ProfilerNumberOfStubMethodsJDK6intxruntime25diagnosticNumber of stub methods to show in profileshare/runtime/globals.hpp
ProfilerPCTickThresholdJDK6intxruntime15developNumber of ticks in a PC buckets to be a hotspotshare/runtime/globals.hpp
ProfilerPrintByteCodeStatisticsJDK6boolruntimefalseproductPrint bytecode statistics when dumping profiler outputshare/runtime/globals.hpp
ProfilerRecordPCJDK6boolruntimefalseproductCollect ticks for each 16 byte interval of compiled codeshare/runtime/globals.hpp
PromotedPaddingJDK6uintxgc3
range(0, max_juint)
productHow much buffer to keep for promotion failureshare/gc/shared/gc_globals.hpp
PromotionFailureALotCountJDK6uintxgc1000developNumber of promotion failures occurring at PLAB refill attempts (ParNew) or promotion attempts (other young collectors)share/gc/shared/gc_globals.hpp
PromotionFailureALotIntervalJDK6uintxgc5developTotal collections between promotion failures a lotshare/gc/shared/gc_globals.hpp
PromotionFailureALotJDK6boolgcfalsenotproductUse promotion failure handling on every youngest generation collectionshare/gc/shared/gc_globals.hpp
ProtectionDomainVerificationJDK6boolruntimetruedevelopVerify protection domain before resolution in system dictionaryshare/runtime/globals.hpp
QueuedAllocationWarningCountJDK6uintxgc0
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
RTMAbortRatioJDK8intppc50
range(0, 100) /* natural range */
experimentalLock abort ratio at which to stop use RTM lock elidingcpu/ppc/globals_ppc.hpp
RTMAbortRatioJDK8intx8650
range(0, 100) /* natural range */
experimentalLock abort ratio at which to stop use RTM lock elidingcpu/x86/globals_x86.hpp
RTMAbortThresholdJDK8intppc1000
range(0, max_jint)
experimentalCalculate abort ratio after this number of abortscpu/ppc/globals_ppc.hpp
RTMAbortThresholdJDK8intx861000
range(0, max_jint)
experimentalCalculate abort ratio after this number of abortscpu/x86/globals_x86.hpp
RTMLockingCalculationDelayJDK8intxppc0experimentalNumber of milliseconds to wait before start calculating aborts for RTM lockingcpu/ppc/globals_ppc.hpp
RTMLockingCalculationDelayJDK8intxx860experimentalNumber of milliseconds to wait before start calculating aborts for RTM lockingcpu/x86/globals_x86.hpp
RTMLockingThresholdJDK8intppc10000
range(0, max_jint)
experimentalLock count at which to do RTM lock eliding without abort ratio calculationcpu/ppc/globals_ppc.hpp
RTMLockingThresholdJDK8intx8610000
range(0, max_jint)
experimentalLock count at which to do RTM lock eliding without abort ratio calculationcpu/x86/globals_x86.hpp
RTMRetryCountJDK8intppc5
range(0, max_jint)
productNumber of RTM retries on lock abort or busycpu/ppc/globals_ppc.hpp
RTMRetryCountJDK8intx865
range(0, max_jint)
productNumber of RTM retries on lock abort or busycpu/x86/globals_x86.hpp
RTMSpinLoopCountJDK8intppc100
range(0, 32767) /* immediate operand limit on ppc */
experimentalSpin count for lock to become free before RTM retrycpu/ppc/globals_ppc.hpp
RTMSpinLoopCountJDK8intx86100
range(0, max_jint)
experimentalSpin count for lock to become free before RTM retrycpu/x86/globals_x86.hpp
RTMTotalCountIncrRateJDK8intppc64
range(1, 32767) /* immediate operand limit on ppc */
experimentalIncrement total RTM attempted lock count once every n timescpu/ppc/globals_ppc.hpp
RTMTotalCountIncrRateJDK8intx8664
range(1, max_jint)
experimentalIncrement total RTM attempted lock count once every n timescpu/x86/globals_x86.hpp
RangeCheckEliminationJDK6boolruntimetrueproductEliminate range checksshare/runtime/globals.hpp
ReassociateInvariantsJDK6boolc2trueproductEnable reassociation of expressions with loop invariants.share/opto/c2_globals.hpp
ReduceBulkZeroingJDK6boolc2trueproductWhen bulk-initializing, try to avoid needless zeroingshare/opto/c2_globals.hpp
ReduceFieldZeroingJDK6boolc2trueproductWhen initializing fields, try to avoid needless zeroingshare/opto/c2_globals.hpp
ReduceInitialCardMarksJDK6boolc2trueproductWhen initializing fields, try to avoid needless card marksshare/opto/c2_globals.hpp
ReduceNumberOfCompilerThreadsJDK11boolruntimetruediagnosticReduce the number of parallel compiler threads when they are not usedshare/runtime/globals.hpp
ReduceSignalUsageJDK6boolruntimefalseproductReduce the use of OS signals in Java and/or the VMshare/runtime/globals.hpp
RefDiscoveryPolicyJDK6intxgc0
range(ReferenceProcessor::DiscoveryPolicyMin,
productSelect type of reference discovery policy: reference-based(0) or referent-based(1)share/gc/shared/gc_globals.hpp
ReferencesPerThreadJDK11size_tgc1000experimentalErgonomically start one thread for this amount of references for reference processing if ParallelRefProcEnabled is true. Specify 0 to disable and use all threads.share/gc/shared/gc_globals.hpp
RegisterCostAreaRatioJDK6intxaarch6416000define_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
RegisterCostAreaRatioJDK6intxarm16000define_pd_globalcpu/arm/c2_globals_arm.hpp
RegisterCostAreaRatioJDK6intxppc16000define_pd_globalcpu/ppc/c2_globals_ppc.hpp
RegisterCostAreaRatioJDK6intxs39012000define_pd_globalcpu/s390/c2_globals_s390.hpp
RegisterCostAreaRatioJDK6intxsparc12000define_pd_globalcpu/sparc/c2_globals_sparc.hpp
RegisterCostAreaRatioJDK6intxx8616000define_pd_globalcpu/x86/c2_globals_x86.hpp
RegisterFinalizersAtInitJDK6boolruntimetrueproductRegister finalizable objects at end of Object. or after allocationshare/runtime/globals.hpp
RegisterReferencesJDK6boolruntimetruedevelopTell whether the VM should register soft/weak/final/phantom referencesshare/runtime/globals.hpp
RelaxAccessControlCheckJDK6boolruntimefalseproductRelax the access control checks in the verifiershare/runtime/globals.hpp
RenumberLiveNodesJDK8boolc2truedevelopRenumber live nodesshare/opto/c2_globals.hpp
ReoptimizeCallSequencesJDK7boolppctrueproductReoptimize code-sequences of calls at runtime.cpu/ppc/globals_ppc.hpp
ReoptimizeCallSequencesJDK7bools390trueproductReoptimize code-sequences of calls at runtime.cpu/s390/globals_s390.hpp
ReplayCompilesJDK8boolruntimefalsedevelopEnable replay of compilations from ReplayDataFileshare/runtime/globals.hpp
ReplayDataFileJDK8ccstrruntimeNULLproductFile containing compilation replay information[default: ./replay_pid%p.log] (%p replaced with pid)share/runtime/globals.hpp
ReplayIgnoreInitErrorsJDK8boolruntimefalsedevelopIgnore exceptions thrown during initialization for replayshare/runtime/globals.hpp
ReplaySuppressInitializersJDK8intxruntime2
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
RequireSharedSpacesJDK6boolruntimefalseproductRequire shared spaces for metadatashare/runtime/globals.hpp
ReservedCodeCacheSizeJDK6intxaarch6432*Mdefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ReservedCodeCacheSizeJDK6size_tarm32*Mdefine_pd_globalcpu/arm/c1_globals_arm.hpp
ReservedCodeCacheSizeJDK6uintxruntimeproduct_pdReserved code cache size (in bytes) - maximum code cache sizeshare/runtime/globals.hpp
ReservedCodeCacheSizeJDK6uintxppc32*Mdefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ReservedCodeCacheSizeJDK6uintxs39032*Mdefine_pd_globalcpu/s390/c1_globals_s390.hpp
ReservedCodeCacheSizeJDK6uintxsparc48*Mdefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
ReservedCodeCacheSizeJDK6uintxx8632*Mdefine_pd_globalcpu/x86/c1_globals_x86.hpp
ResizeOldPLABJDK6boolgctrueproductDynamically resize (old gen) promotion LAB'sshare/gc/shared/gc_globals.hpp
ResizePLABJDK6boolgctrueproductDynamically resize (survivor space) promotion LAB'sshare/gc/shared/gc_globals.hpp
ResizeTLABJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
ResizeTLABJDK6boolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
ResizeTLABJDK6boolgcproduct_pdDynamically resize TLAB size for threadsshare/gc/shared/gc_globals.hpp
ResizeTLABJDK6boolruntimefalsedefine_pd_globalshare/runtime/globals.hpp
ResizeTLABJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
ResizeTLABJDK6bools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
ResizeTLABJDK6boolsparctruedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
ResizeTLABJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
RestoreMXCSROnJNICallsJDK6boolruntimefalseproductRestore MXCSR when returning from JNI callsshare/runtime/globals.hpp
RestrictContendedJDK8boolruntimetrueproductRestrict @Contended to trusted classesshare/runtime/globals.hpp
RestrictReservedStackJDK9boolruntimetrueproductRestrict @ReservedStackAccess to trusted classesshare/runtime/globals.hpp
RewriteBytecodesJDK6boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
RewriteBytecodesJDK6boolarmtruedefine_pd_globalcpu/arm/globals_arm.hpp
RewriteBytecodesJDK6boolruntimeproduct_pdAllow rewriting of bytecodes (bytecodes are not immutable)share/runtime/globals.hpp
RewriteBytecodesJDK6boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
RewriteBytecodesJDK6bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
RewriteBytecodesJDK6boolsparctruedefine_pd_globalcpu/sparc/globals_sparc.hpp
RewriteBytecodesJDK6boolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
RewriteBytecodesJDK6boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
RewriteFrequentPairsJDK6boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
RewriteFrequentPairsJDK6boolarmtruedefine_pd_globalcpu/arm/globals_arm.hpp
RewriteFrequentPairsJDK6boolruntimeproduct_pdRewrite frequently used bytecode pairs into a single bytecodeshare/runtime/globals.hpp
RewriteFrequentPairsJDK6boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
RewriteFrequentPairsJDK6bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
RewriteFrequentPairsJDK6boolsparctruedefine_pd_globalcpu/sparc/globals_sparc.hpp
RewriteFrequentPairsJDK6boolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
RewriteFrequentPairsJDK6boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
RoundFPResultsJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
RoundFPResultsJDK6boolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
RoundFPResultsJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
RoundFPResultsJDK6bools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
RoundFPResultsJDK6boolsparcfalsedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
RoundFPResultsJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
SafepointALotJDK6boolruntimefalsedevelopGenerate a lot of safepoints. This works with GuaranteedSafepointIntervalshare/runtime/globals.hpp
SafepointTimeoutDelayJDK6intxruntime10000productDelay in milliseconds for option SafepointTimeoutshare/runtime/globals.hpp
SafepointTimeoutJDK6boolruntimefalseproductTime out and warn or fail after SafepointTimeoutDelay milliseconds if failed to reach safepointshare/runtime/globals.hpp
ScavengeALotIntervalJDK6intxgc1notproductInterval between which scavenge will occur with +ScavengeALotshare/gc/shared/gc_globals.hpp
ScavengeALotJDK6boolgcfalsenotproductForce scavenge at every Nth exit from the runtime system (N=ScavengeALotInterval)share/gc/shared/gc_globals.hpp
ScavengeBeforeFullGCJDK6boolgctrueproductScavenge youngest generation before each full GC.share/gc/shared/gc_globals.hpp
ScavengeRootsInCodeJDK6intxruntime2
range(0, 2)
diagnostic0: do not allow scavengable oops in the code cache;
1: allow scavenging from the code cache;
2: emit as many constants as the compiler can see
share/runtime/globals.hpp
SegmentedCodeCacheJDK9boolruntimefalseproductUse a segmented code cacheshare/runtime/globals.hpp
SelectivePhiFunctionsJDK6boolc1truedevelopcreate phi functions at loop headers only when necessaryshare/c1/c1_globals.hpp
SelfDestructTimerJDK6intxruntime0
range(0, max_intx)
productWill cause VM to terminate after a given time (in minutes) (0 means off)share/runtime/globals.hpp
SerializeVMOutputJDK6boolruntimetruediagnosticUse a mutex to serialize output to tty and LogFileshare/runtime/globals.hpp
ShareVtableStubsJDK6boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
ShareVtableStubsJDK6boolarmtruedefine_pd_globalcpu/arm/globals_arm.hpp
ShareVtableStubsJDK6boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
ShareVtableStubsJDK6bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
ShareVtableStubsJDK6boolsparcfalsedefine_pd_global// improves performance markedly for mtrt and compresscpu/sparc/globals_sparc.hpp
ShareVtableStubsJDK6boolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
ShareVtableStubsJDK6boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
SharedArchiveConfigFileJDK10ccstrruntimeNULLproductData to add to the CDS archive fileshare/runtime/globals.hpp
SharedArchiveFileJDK8ccstrruntimeNULLproductOverride the default location of the CDS archive fileshare/runtime/globals.hpp
SharedBaseAddressJDK8size_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
SharedClassListFileJDK8ccstrruntimeNULLproductOverride the default CDS class listshare/runtime/globals.hpp
SharedSymbolTableBucketSizeJDK9uintxruntime4
range(2, 246)
productAverage number of symbols per bucket in shared tableshare/runtime/globals.hpp
ShowHiddenFramesJDK7boolruntimefalsediagnosticshow method handle implementation frames (usually hidden)share/runtime/globals.hpp
ShowMessageBoxOnErrorJDK6boolruntimefalseproductKeep process alive on VM fatal errorshare/runtime/globals.hpp
ShowRegistersOnAssertJDK11boolruntimefalsediagnosticOn internal errors, include registers in error report.share/runtime/globals.hpp
ShrinkHeapInStepsJDK9boolruntimetrueproductWhen 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
SoftMatchFailureJDK6boolc2trueInProductdevelopIf the DFA fails to match a node, print a message and bail outshare/opto/c2_globals.hpp
SoftRefLRUPolicyMSPerMBJDK6intxruntime1000
range(0, max_intx)
productNumber of milliseconds per MB of free space in the heapshare/runtime/globals.hpp
SoftwarePrefetchHintDistanceJDK10intaarch64-1
range(-1, 4096)
productUse prfm hint with specified distance in compiled code.Value -1 means off.cpu/aarch64/globals_aarch64.hpp
SparcV9RegsHiBitsZeroJDK6boolc2truedevelopAssume Sparc V9 I&L registers on V8+ systems are zero-extendedshare/opto/c2_globals.hpp
SpecTrapLimitExtraEntriesJDK8intxruntime3experimentalExtra method data trap entries for speculationshare/runtime/globals.hpp
SpecialArraysEqualsJDK6boolc2truediagnosticspecial version of Arrays.equals(char[],char[])share/opto/c2_globals.hpp
SpecialEncodeISOArrayJDK8boolc2truediagnosticspecial version of ISO_8859_1$Encoder.encodeISOArrayshare/opto/c2_globals.hpp
SpecialStringCompareToJDK6boolc2truediagnosticspecial version of string compareToshare/opto/c2_globals.hpp
SpecialStringEqualsJDK6boolc2truediagnosticspecial version of string equalsshare/opto/c2_globals.hpp
SpecialStringIndexOfJDK6boolc2truediagnosticspecial version of string indexOfshare/opto/c2_globals.hpp
SplitIfBlocksJDK6boolc2trueproductClone compares and control flow through merge points to fold some branchesshare/opto/c2_globals.hpp
StackPrintLimitJDK6intxruntime100developnumber of stack frames to print in VM-level stack dumpshare/runtime/globals.hpp
StackRedPagesJDK6intxaarch64DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackRedPagesJDK6intxarmDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackRedPagesJDK6intxruntimeproduct_pdNumber of red zone (unrecoverable overflows) pages of size
4KB. If pages are bigger red zone is aligned up.
share/runtime/globals.hpp
StackRedPagesJDK6intxppcDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackRedPagesJDK6intxs390DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackRedPagesJDK6intxsparcDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/sparc/globals_sparc.hpp
StackRedPagesJDK6intxx86DEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackRedPagesJDK6intxzeroDEFAULT_STACK_RED_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackReservedPagesJDK9intxaarch64DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackReservedPagesJDK9intxarmDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackReservedPagesJDK9intxruntimeproduct_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
StackReservedPagesJDK9intxppcDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackReservedPagesJDK9intxs390DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackReservedPagesJDK9intxsparcDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/sparc/globals_sparc.hpp
StackReservedPagesJDK9intxx86DEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackReservedPagesJDK9intxzeroDEFAULT_STACK_RESERVED_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackShadowPagesJDK6intxaarch64DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackShadowPagesJDK6intxarmDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackShadowPagesJDK6intxruntimeproduct_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
StackShadowPagesJDK6intxppcDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackShadowPagesJDK6intxs390DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackShadowPagesJDK6intxsparcDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/sparc/globals_sparc.hpp
StackShadowPagesJDK6intxx86DEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackShadowPagesJDK6intxzeroDEFAULT_STACK_SHADOW_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StackTraceInThrowableJDK6boolruntimetrueproductCollect backtrace in throwable when exception happensshare/runtime/globals.hpp
StackYellowPagesJDK6intxaarch64DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/aarch64/globals_aarch64.hpp
StackYellowPagesJDK6intxarmDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/arm/globals_arm.hpp
StackYellowPagesJDK6intxruntimeproduct_pdNumber of yellow zone (recoverable overflows) pages of size
4KB. If pages are bigger yellow zone is aligned up.
share/runtime/globals.hpp
StackYellowPagesJDK6intxppcDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/ppc/globals_ppc.hpp
StackYellowPagesJDK6intxs390DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/s390/globals_s390.hpp
StackYellowPagesJDK6intxsparcDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/sparc/globals_sparc.hpp
StackYellowPagesJDK6intxx86DEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/x86/globals_x86.hpp
StackYellowPagesJDK6intxzeroDEFAULT_STACK_YELLOW_PAGESdefine_pd_globalcpu/zero/globals_zero.hpp
StartAggressiveSweepingAtJDK9uintxruntime10
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
StartAttachListenerJDK6boolruntimefalseproductAlways start Attach Listener at VM startupshare/runtime/globals.hpp
StartFlightRecordingJDK11ccstrruntimeNULLproductStart flight recording with optionsshare/runtime/globals.hpp
StopInterpreterAtJDK6intxruntime0developStop interpreter execution at specified bytecode numbershare/runtime/globals.hpp
StressArrayCopyMacroNodeJDK9boolc2falsedevelopPerform ArrayCopy load/store replacement during IGVN onlyshare/opto/c2_globals.hpp
StressCodeAgingJDK9boolruntimefalsediagnosticStart with counters compiled inshare/runtime/globals.hpp
StressCodeBuffersJDK6boolruntimefalsedevelopExercise code buffer expansion and other rare state changesshare/runtime/globals.hpp
StressCompiledExceptionHandlersJDK7boolruntimefalsedevelopExercise compiled exception handlersshare/runtime/globals.hpp
StressCriticalJNINativesJDK6boolruntimefalsenotproductExercise register saving code in critical nativesshare/runtime/globals.hpp
StressDerivedPointersJDK6boolruntimefalsenotproductForce scavenge when a derived pointer is detected on stack after rtm callshare/runtime/globals.hpp
StressGCMJDK8boolc2falsediagnosticRandomize instruction scheduling in GCMshare/opto/c2_globals.hpp
StressLCMJDK8boolc2falsediagnosticRandomize instruction scheduling in LCMshare/opto/c2_globals.hpp
StressLdcRewriteJDK6boolruntimefalseproductForce ldc -> ldc_w rewrite during RedefineClassesshare/runtime/globals.hpp
StressLinearScanJDK6boolc1falsedevelopscramble block order used by LinearScan (stress test)share/c1/c1_globals.hpp
StressLoopInvariantCodeMotionJDK8boolc1falsedevelopstress loop invariant code motionshare/c1/c1_globals.hpp
StressMethodHandleLinkerInliningJDK11boolc2falsedevelopStress inlining through method handle linkersshare/opto/c2_globals.hpp
StressRangeCheckEliminationJDK8boolc1falsedevelopstress Range Check Eliminationshare/c1/c1_globals.hpp
StressRecompilationJDK6boolc2falsedevelopRecompile each compiled method without subsuming loads or escape analysis.share/opto/c2_globals.hpp
StressReflectiveCodeJDK6boolc2falsedevelopUse inexact types at allocations, etc., to test reflectionshare/opto/c2_globals.hpp
StressRewriterJDK8boolruntimefalsedevelopStress linktime bytecode rewritingshare/runtime/globals.hpp
StrictSafepointChecksJDK6boolruntimetrueInDebugnotproductEnable strict checks that safepoints cannot happen for threads that use NoSafepointVerifiershare/runtime/globals.hpp
StringDeduplicationAgeThresholdJDK8uintxruntime3
range(1, markOopDesc::max_age)
productA string must reach this age (or be promoted to an old region) to be considered for deduplicationshare/runtime/globals.hpp
StringDeduplicationRehashALotJDK8boolruntimefalsediagnosticForce table rehash every time the table is scannedshare/runtime/globals.hpp
StringDeduplicationResizeALotJDK8boolruntimefalsediagnosticForce table resize every time the table is scannedshare/runtime/globals.hpp
StringTableSizeJDK6uintxruntimedefaultStringTableSize
range(minimumStringTableSize, 16777216ul)
productNumber of buckets in the interned String table (will be rounded to nearest higher power of 2)share/runtime/globals.hpp
SubsumeLoadsJDK6boolc2truedevelopAttempt to compile while subsuming loads into machine instructions.share/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisJDK9boolaarch64truedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
SuperWordLoopUnrollAnalysisJDK9boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
SuperWordLoopUnrollAnalysisJDK9boolc2product_pdMap number of unrolls for main loop via Superword Level Parallelism analysisshare/opto/c2_globals.hpp
SuperWordLoopUnrollAnalysisJDK9boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
SuperWordLoopUnrollAnalysisJDK9bools390falsedefine_pd_globalcpu/s390/c2_globals_s390.hpp
SuperWordLoopUnrollAnalysisJDK9boolsparcfalsedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
SuperWordLoopUnrollAnalysisJDK9boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
SuperWordRTDepCheckJDK6boolc2falsedevelopEnable runtime dependency checks.share/opto/c2_globals.hpp
SuperWordReductionsJDK9boolc2trueproductEnable reductions support in superword.share/opto/c2_globals.hpp
SuperwordUseVSXJDK10boolppcfalseproductUse Power8 VSX instructions for superword optimization.cpu/ppc/globals_ppc.hpp
SuppressErrorAtJDK6ccstrlistruntimeList of assertions (file:line) to muzzlenotproductshare/runtime/globals.hpp
SuppressFatalErrorMessageJDK6boolruntimefalseproductReport NO fatal error message (avoid deadlock)share/runtime/globals.hpp
SurvivorAlignmentInBytesJDK8intxruntime0experimentalDefault survivor space alignment in bytesshare/runtime/globals.hpp
SurvivorPaddingJDK6uintxgc3
range(0, max_juint)
productHow much buffer to keep for survivor overflowshare/gc/shared/gc_globals.hpp
SurvivorRatioJDK6uintxgc8
range(1, max_uintx-2)
productRatio of eden/survivor space sizeshare/gc/shared/gc_globals.hpp
SuspendRetryCountJDK6intxruntime50
range(0, max_intx)
productMaximum retry count for an external suspend requestshare/runtime/globals.hpp
SuspendRetryDelayJDK6intxruntime5
range(0, max_intx)
productMilliseconds to delay per retry (* current_retry_count)share/runtime/globals.hpp
SweeperLogEntriesJDK6intxruntime1024notproductNumber of records in the ring buffer of sweeper activityshare/runtime/globals.hpp
SymbolTableSizeJDK8uintxruntimedefaultSymbolTableSize
range(minimumSymbolTableSize, 111*defaultSymbolTableSize)
experimentalNumber of buckets in the JVM internal Symbol tableshare/runtime/globals.hpp
SyncFlagsJDK6Obsoleted in JDK12
Expired in JDK13
intxruntime0experimental(Unsafe, Unstable) Experimental Sync flagsshare/runtime/globals.hpp
SyncKnobsJDK6Obsoleted in JDK12
Expired in JDK13
ccstrruntimeNULLexperimental(Unstable) Various monitor synchronization tunablesshare/runtime/globals.hpp
SyncVerboseJDK6Obsoleted in JDK12
Expired in JDK13
intxruntime0experimental(Unstable)share/runtime/globals.hpp
TLABAllocationWeightJDK6uintxgc35
range(0, 100)
productAllocation averaging weightshare/gc/shared/gc_globals.hpp
TLABRefillWasteFractionJDK6uintxgc64
range(1, max_juint)
productMaximum TLAB waste at a refill (internal fragmentation)share/gc/shared/gc_globals.hpp
TLABSizeJDK6size_tgc0productStarting TLAB size (in bytes); zero means set ergonomicallyshare/gc/shared/gc_globals.hpp
TLABStatsJDK6Deprecated in JDK12boolgctrueproductProvide more detailed and expensive TLAB statistics.share/gc/shared/gc_globals.hpp
TLABWasteIncrementJDK6uintxgc4
range(0, max_jint)
productIncrement allowed waste at slow allocationshare/gc/shared/gc_globals.hpp
TLABWasteTargetPercentJDK6uintxgc1
range(1, 100)
productPercentage of Eden that can be wastedshare/gc/shared/gc_globals.hpp
TargetPLABWastePctJDK6uintxgc10
range(1, 100)
productTarget wasted space in last buffer as percent of overall allocationshare/gc/shared/gc_globals.hpp
TargetSurvivorRatioJDK6uintxgc50
range(0, 100)
productDesired percentage of survivor space used after scavengeshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeIncrementJDK6uintxgc20
range(0, 100)
productAdaptive size percentage change in tenured generationshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementDecayJDK6uintxgc2
range(1, max_uintx)
productDecay factor to TenuredGenerationSizeIncrementshare/gc/shared/gc_globals.hpp
TenuredGenerationSizeSupplementJDK6uintxgc80
range(0, 100)
productSupplement to TenuredGenerationSizeIncrement used at startupshare/gc/shared/gc_globals.hpp
TestCrashInErrorHandlerJDK9uintxruntime0notproductIf > 0, provokes an error inside VM error handler (a secondary crash). see test_error_handler() in vmError.cppshare/runtime/globals.hpp
TestSafeFetchInErrorHandlerJDK9boolruntimefalsenotproductIf true, tests SafeFetch inside error handler.share/runtime/globals.hpp
TestUnresponsiveErrorHandlerJDK10boolruntimefalsenotproductIf true, simulates an unresponsive error handler.share/runtime/globals.hpp
ThreadLocalHandshakesJDK10boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
ThreadLocalHandshakesJDK10boolarmfalsedefine_pd_globalcpu/arm/globals_arm.hpp
ThreadLocalHandshakesJDK10boolruntimeproduct_pdUse thread-local polls instead of global poll for safepoints.share/runtime/globals.hpp
ThreadLocalHandshakesJDK10boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
ThreadLocalHandshakesJDK10bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
ThreadLocalHandshakesJDK10boolsparctruedefine_pd_globalcpu/sparc/globals_sparc.hpp
ThreadLocalHandshakesJDK10boolx86falsedefine_pd_globalcpu/x86/globals_x86.hpp
ThreadLocalHandshakesJDK10boolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
ThreadPriorityPolicyJDK6intxruntime0
range(0, 1)
product0 : Normal. VM chooses priorities that are appropriate for normal applications. On Solaris NORM_PRIORITY and above are mapped to normal native priority. Java priorities below NORM_PRIORITY map to lower native priority values. 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 this policy requires root privilege.
share/runtime/globals.hpp
ThreadPriorityVerboseJDK6boolruntimefalseproductPrint priority changesshare/runtime/globals.hpp
ThreadStackSizeJDK6intxaixppc2048define_pd_global// 0 => use system defaultos_cpu/aix_ppc/globals_aix_ppc.hpp
ThreadStackSizeJDK6intxbsdx86320define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
ThreadStackSizeJDK6intxbsdzero1536define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
ThreadStackSizeJDK6intxlinuxaarch642048define_pd_global// 0 => use system defaultos_cpu/linux_aarch64/globals_linux_aarch64.hpp
ThreadStackSizeJDK6intxlinuxarm320define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
ThreadStackSizeJDK6intxlinuxppc2048define_pd_global// 0 => use system defaultos_cpu/linux_ppc/globals_linux_ppc.hpp
ThreadStackSizeJDK6intxlinuxs3901024define_pd_global// 0 => Use system default.os_cpu/linux_s390/globals_linux_s390.hpp
ThreadStackSizeJDK6intxlinuxx86320define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
ThreadStackSizeJDK6intxlinuxzero1536define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
ThreadStackSizeJDK6intxruntimeproduct_pdThread Stack Size (in Kbytes)share/runtime/globals.hpp
ThreadStackSizeJDK6intxsparc1024define_pd_globalcpu/sparc/globals_sparc.hpp
ThreadStackSizeJDK6intxsolarisx86320define_pd_globalos_cpu/solaris_x86/globals_solaris_x86.hpp
ThreadStackSizeJDK6intxwindowsx860define_pd_global// 0 => use system defaultos_cpu/windows_x86/globals_windows_x86.hpp
ThresholdToleranceJDK6uintxgc10
range(0, 100)
productAllowed collection cost difference between generationsshare/gc/shared/gc_globals.hpp
Tier0BackedgeNotifyFreqLogJDK6intxruntime10
range(0, 30)
productInterpreter (tier 0) invocation notification frequencyshare/runtime/globals.hpp
Tier0InvokeNotifyFreqLogJDK6intxruntime7
range(0, 30)
productInterpreter (tier 0) invocation notification frequencyshare/runtime/globals.hpp
Tier0ProfilingStartPercentageJDK6intxruntime200
range(0, max_jint)
productStart profiling in interpreter if the counters exceed tier 3 thresholds by the specified percentageshare/runtime/globals.hpp
Tier23InlineeNotifyFreqLogJDK6intxruntime20
range(0, 30)
productInlinee invocation (tiers 2 and 3) notification frequencyshare/runtime/globals.hpp
Tier2BackEdgeThresholdJDK6intxruntime0
range(0, max_jint)
productBack edge threshold at which tier 2 compilation is invokedshare/runtime/globals.hpp
Tier2BackedgeNotifyFreqLogJDK6intxruntime14
range(0, 30)
productC1 without MDO (tier 2) invocation notification frequencyshare/runtime/globals.hpp
Tier2CompileThresholdJDK6intxruntime0
range(0, max_jint)
productthreshold at which tier 2 compilation is invokedshare/runtime/globals.hpp
Tier2InvokeNotifyFreqLogJDK6intxruntime11
range(0, 30)
productC1 without MDO (tier 2) invocation notification frequencyshare/runtime/globals.hpp
Tier3AOTBackEdgeThresholdJDK9intxruntime120000
range(0, max_jint)
productBack edge threshold at which tier 3 OSR compilation is invoked if coming from AOTshare/runtime/globals.hpp
Tier3AOTCompileThresholdJDK9intxruntime15000
range(0, max_jint)
productThreshold at which tier 3 compilation is invoked (invocation minimum must be satisfied) if coming from AOTshare/runtime/globals.hpp
Tier3AOTInvocationThresholdJDK9intxruntime10000
range(0, max_jint)
productCompile if number of method invocations crosses this threshold if coming from AOTshare/runtime/globals.hpp
Tier3AOTMinInvocationThresholdJDK9intxruntime1000
range(0, max_jint)
productMinimum invocation to compile at tier 3 if coming from AOTshare/runtime/globals.hpp
Tier3BackEdgeThresholdJDK6intxruntime60000
range(0, max_jint)
productBack edge threshold at which tier 3 OSR compilation is invokedshare/runtime/globals.hpp
Tier3BackedgeNotifyFreqLogJDK6intxruntime13
range(0, 30)
productC1 with MDO profiling (tier 3) invocation notification frequencyshare/runtime/globals.hpp
Tier3CompileThresholdJDK6intxruntime2000
range(0, max_jint)
productThreshold at which tier 3 compilation is invoked (invocation minimum must be satisfied)share/runtime/globals.hpp
Tier3DelayOffJDK6intxruntime2
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
Tier3DelayOnJDK6intxruntime5
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
Tier3InvocationThresholdJDK6intxruntime200
range(0, max_jint)
productCompile if number of method invocations crosses this thresholdshare/runtime/globals.hpp
Tier3InvokeNotifyFreqLogJDK6intxruntime10
range(0, 30)
productC1 with MDO profiling (tier 3) invocation notification frequencyshare/runtime/globals.hpp
Tier3LoadFeedbackJDK6intxruntime5
range(0, max_jint)
productTier 3 thresholds will increase twofold when C1 queue size reaches this amount per compiler threadshare/runtime/globals.hpp
Tier3MinInvocationThresholdJDK6intxruntime100
range(0, max_jint)
productMinimum invocation to compile at tier 3share/runtime/globals.hpp
Tier4BackEdgeThresholdJDK6intxruntime40000
range(0, max_jint)
productBack edge threshold at which tier 4 OSR compilation is invokedshare/runtime/globals.hpp
Tier4CompileThresholdJDK6intxruntime15000
range(0, max_jint)
productThreshold at which tier 4 compilation is invoked (invocation minimum must be satisfiedshare/runtime/globals.hpp
Tier4InvocationThresholdJDK6intxruntime5000
range(0, max_jint)
productCompile if number of method invocations crosses this thresholdshare/runtime/globals.hpp
Tier4LoadFeedbackJDK6intxruntime3
range(0, max_jint)
productTier 4 thresholds will increase twofold when C2 queue size reaches this amount per compiler threadshare/runtime/globals.hpp
Tier4MinInvocationThresholdJDK6intxruntime600
range(0, max_jint)
productMinimum invocation to compile at tier 4share/runtime/globals.hpp
TieredCompilationJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
TieredCompilationJDK6boolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
TieredCompilationJDK6boolruntimeproduct_pdEnable tiered compilationshare/runtime/globals.hpp
TieredCompilationJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
TieredCompilationJDK6bools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
TieredCompilationJDK6boolsparctrueInTiereddefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
TieredCompilationJDK6boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
TieredCompileTaskTimeoutJDK6intxruntime50
range(0, max_intx)
productKill compile task if method was not used within given timeout in millisecondsshare/runtime/globals.hpp
TieredRateUpdateMaxTimeJDK6intxruntime25
range(0, max_intx)
productMaximum rate sampling interval (in milliseconds)share/runtime/globals.hpp
TieredRateUpdateMinTimeJDK6intxruntime1
range(0, max_intx)
productMinimum rate sampling interval (in milliseconds)share/runtime/globals.hpp
TieredStopAtLevelJDK6intxruntime4
range(0, 4)
productStop at given compilation levelshare/runtime/globals.hpp
TimeCompilationPolicyJDK6boolruntimefalsedevelopTime the compilation policyshare/runtime/globals.hpp
TimeEachLinearScanJDK6boolc1falsedevelopprint detailed timing of each LinearScan runshare/c1/c1_globals.hpp
TimeLinearScanJDK6boolc1falseproductdetailed timing of LinearScan phasesshare/c1/c1_globals.hpp
TimeLivenessAnalysisJDK6boolruntimefalsedevelopTime computation of bytecode liveness analysisshare/runtime/globals.hpp
TimeOopMap2JDK6boolruntimefalsedevelopTime calls to GenerateOopMap::compute_map() individuallyshare/runtime/globals.hpp
TimeOopMapJDK6boolruntimefalsedevelopTime calls to GenerateOopMap::compute_map() in sumshare/runtime/globals.hpp
TraceBytecodesAtJDK6intxruntime0developTrace bytecodes starting with specified bytecode numbershare/runtime/globals.hpp
TraceBytecodesJDK6boolruntimefalsedevelopTrace bytecode executionshare/runtime/globals.hpp
TraceCISCSpillJDK6boolc2falsenotproductTrace allocators use of cisc spillable instructionsshare/opto/c2_globals.hpp
TraceCallFixupJDK6boolruntimefalsedevelopTrace all call fixupsshare/runtime/globals.hpp
TraceCodeBlobStacksJDK6boolruntimefalsenotproductTrace stack-walk of codeblobsshare/runtime/globals.hpp
TraceCompilationPolicyJDK6boolruntimefalsedevelopTrace compilation policyshare/runtime/globals.hpp
TraceCompiledICJDK6boolruntimefalsedevelopTrace changes of compiled ICshare/runtime/globals.hpp
TraceCompilerThreadsJDK11boolruntimefalsediagnosticTrace creation and removal of compiler threadsshare/runtime/globals.hpp
TraceCreateZombiesJDK6boolruntimefalsedeveloptrace creation of zombie nmethodsshare/runtime/globals.hpp
TraceDeoptimizationJDK6boolruntimefalsedevelopTrace deoptimizationshare/runtime/globals.hpp
TraceDependenciesJDK6boolruntimefalsedevelopTrace dependenciesshare/runtime/globals.hpp
TraceDerivedPointersJDK6boolruntimefalsedevelopTrace traversal of derived pointers on stackshare/runtime/globals.hpp
TraceFPURegisterUsageJDK6boolc1falsedevelopTrace usage of FPU registers at start of blocks (intel only)share/c1/c1_globals.hpp
TraceFPUStackJDK6boolc1falsedevelopTrace emulation of the FPU stack (intel only)share/c1/c1_globals.hpp
TraceFinalizerRegistrationJDK6boolruntimefalsedevelopTrace registration of final referencesshare/runtime/globals.hpp
TraceFrequencyInliningJDK6boolruntimefalsedevelopTrace frequency based inliningshare/runtime/globals.hpp
TraceGCTaskManagerJDK6boolgcfalsedevelopTrace actions of the GC task managershare/gc/parallel/parallel_globals.hpp
TraceGCTaskQueueJDK6boolgcfalsedevelopTrace actions of the GC task queuesshare/gc/parallel/parallel_globals.hpp
TraceICBufferJDK6boolruntimefalsedevelopTrace usage of IC buffershare/runtime/globals.hpp
TraceICsJDK6boolruntimefalsedevelopTrace inline cache changesshare/runtime/globals.hpp
TraceInlineCacheClearingJDK6boolruntimefalsedevelopTrace clearing of inline caches in nmethodsshare/runtime/globals.hpp
TraceInvocationCounterOverflowJDK6boolruntimefalsenotproductTrace method invocation counter overflowshare/runtime/globals.hpp
TraceInvokeDynamicJDK6boolruntimefalsedeveloptrace internal invoke dynamic operationsshare/runtime/globals.hpp
TraceIterativeGVNJDK6boolc2falsedevelopPrint progress during Iterative Global Value Numberingshare/opto/c2_globals.hpp
TraceJVMTIObjectTaggingJDK6boolruntimefalsediagnosticTrace JVMTI object tagging callsshare/runtime/globals.hpp
TraceJVMTIJDK6ccstrruntimeNULLproductTrace flags for JVMTI functions and eventsshare/runtime/globals.hpp
TraceJavaAssertionsJDK6boolruntimefalsedevelopTrace java language assertionsshare/runtime/globals.hpp
TraceLinearScanLevelJDK6intxc10
range(0, 4)
developDebug levels for the linear scan allocatorshare/c1/c1_globals.hpp
TraceLivenessGenJDK6boolruntimefalsedevelopTrace the generation of liveness analysis informationshare/runtime/globals.hpp
TraceLivenessQueryJDK6boolruntimefalsenotproductTrace queries of liveness analysis informationshare/runtime/globals.hpp
TraceLongCompilesJDK6boolruntimefalsedevelopPrint out every time compilation is longer than a given thresholdshare/runtime/globals.hpp
TraceLoopLimitCheckJDK6boolc2falsedevelopTrace generation of loop limits checksshare/opto/c2_globals.hpp
TraceLoopOptsJDK6boolc2falsedevelopTrace executed loop optimizationsshare/opto/c2_globals.hpp
TraceLoopPredicateJDK6boolc2falsedevelopTrace generation of loop predicatesshare/opto/c2_globals.hpp
TraceLoopUnswitchingJDK6boolc2falsenotproductTrace loop unswitchingshare/opto/c2_globals.hpp
TraceMethodHandlesJDK6boolruntimefalsedeveloptrace internal method handle operationsshare/runtime/globals.hpp
TraceMethodReplacementJDK6boolruntimefalsedevelopPrint when methods are replaced do to recompilationshare/runtime/globals.hpp
TraceNMethodInstallsJDK6boolruntimefalsediagnosticTrace nmethod installationshare/runtime/globals.hpp
TraceNewOopMapGenerationDetailedJDK6boolruntimefalsedevelopTrace OopMapGeneration: print detailed cell statesshare/runtime/globals.hpp
TraceNewOopMapGenerationJDK6boolruntimefalsedevelopTrace OopMapGenerationshare/runtime/globals.hpp
TraceNewVectorsJDK7boolc2falsenotproductTrace creation of Vector nodesshare/opto/c2_globals.hpp
TraceOnStackReplacementJDK6boolruntimefalsenotproductTrace on stack replacementshare/runtime/globals.hpp
TraceOopMapRewritesJDK6boolruntimefalsedevelopTrace rewriting of method oops during oop map generationshare/runtime/globals.hpp
TraceOptimizeFillJDK6boolc2falsedevelopprint detailed information about fill conversionshare/opto/c2_globals.hpp
TraceOptoOutputJDK6boolc2falsenotproductTrace pipelining informationshare/opto/c2_globals.hpp
TraceOptoParseJDK6boolc2falsedevelopTrace bytecode parse and control-flow mergeshare/opto/c2_globals.hpp
TraceOptoPipeliningJDK6boolc2falsenotproductTrace pipelining informationshare/opto/c2_globals.hpp
TraceParallelOldGCDensePrefixJDK6boolgcfalsedevelopTrace dense prefix computation for ParallelOldGCshare/gc/parallel/parallel_globals.hpp
TraceParallelOldGCMarkingPhaseJDK6boolgcfalsedevelopTrace marking phase in ParallelOldGCshare/gc/parallel/parallel_globals.hpp
TracePartialPeelingJDK6boolc2falsenotproductTrace partial peeling (loop rotation) informationshare/opto/c2_globals.hpp
TracePatchingJDK6boolc1falsedevelopTrace patching of field access on uninitialized classesshare/c1/c1_globals.hpp
TracePcPatchingJDK6boolruntimefalsedevelopTrace usage of frame::patch_pcshare/runtime/globals.hpp
TracePhaseCCPJDK6boolc2falsenotproductPrint progress during Conditional Constant Propagationshare/opto/c2_globals.hpp
TracePostallocExpandJDK8boolc2falsedevelopTrace expanding nodes after register allocation.share/opto/c2_globals.hpp
TracePredicateFailedTrapsJDK8boolc1falsedeveloptrace runtime traps caused by predicate failureshare/c1/c1_globals.hpp
TraceProfileInterpreterJDK7boolruntimefalsedevelopTrace profiling at the bytecode level during interpretation. This outputs the profiling information collected to improve jit compilation.share/runtime/globals.hpp
TraceProfileTripCountJDK6boolc2falsenotproductTrace profile loop trip count informationshare/opto/c2_globals.hpp
TraceRangeCheckEliminationJDK8boolc1falsedevelopTrace Range Check Eliminationshare/c1/c1_globals.hpp
TraceRangeLimitCheckJDK6boolc2falsedevelopTrace additional overflow checks in RCEshare/opto/c2_globals.hpp
TraceRelocatorJDK6boolruntimefalsedevelopTrace the bytecode relocatorshare/runtime/globals.hpp
TraceSpillingJDK6boolc2falsediagnosticTrace spillingshare/opto/c2_globals.hpp
TraceSuperWordLoopUnrollAnalysisJDK9boolc2falsenotproductTrace what Superword Level Parallelism analysis appliesshare/opto/c2_globals.hpp
TraceSuperWordJDK6boolc2falsenotproductTrace superword transformsshare/opto/c2_globals.hpp
TraceSuspendWaitFailuresJDK6boolruntimefalseproductTrace external suspend wait failuresshare/runtime/globals.hpp
TraceTrapsJDK7boolaarch64falseproductTrace all traps the signal handlercpu/aarch64/globals_aarch64.hpp
TraceTrapsJDK7boolppcfalseproductTrace all traps the signal handlerhandles.cpu/ppc/globals_ppc.hpp
TraceTrapsJDK7bools390falseproductTrace all traps the signal handlerhandles.cpu/s390/globals_s390.hpp
TraceTypeProfileJDK6boolc2falsediagnosticTrace type profileshare/opto/c2_globals.hpp
TraceUncollectedSpeculationsJDK9booljvmcifalsedevelopPrint message when a failed speculation was not collectedshare/jvmci/jvmci_globals.hpp
TrackedInitializationLimitJDK6intxc250
range(0, 65535)
productWhen initializing fields, track up to this many wordsshare/opto/c2_globals.hpp
TransmitErrorReportJDK6Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproductEnable error report transmission on erroneous terminationshare/runtime/globals.hpp
TrapBasedICMissChecksJDK7boolppctrueproductRaise and handle SIGTRAP if inline cache miss detected.cpu/ppc/globals_ppc.hpp
TrapBasedNotEntrantChecksJDK7boolppctrueproductRaise and handle SIGTRAP if calling not entrant or zombie method.cpu/ppc/globals_ppc.hpp
TrapBasedNullChecksJDK7boolaarch64falsedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
TrapBasedNullChecksJDK7boolarmfalsedefine_pd_global// Not neededcpu/arm/globals_arm.hpp
TrapBasedNullChecksJDK7boolruntimeproduct_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
TrapBasedNullChecksJDK7boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
TrapBasedNullChecksJDK7bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
TrapBasedNullChecksJDK7boolsparcfalsedefine_pd_global// Not needed on sparc.cpu/sparc/globals_sparc.hpp
TrapBasedNullChecksJDK7boolx86falsedefine_pd_global// Not needed on x86.cpu/x86/globals_x86.hpp
TrapBasedNullChecksJDK7boolzerofalsedefine_pd_globalcpu/zero/globals_zero.hpp
TrapBasedRangeChecksJDK7boolaarch64falsedefine_pd_global// Not needed.cpu/aarch64/c2_globals_aarch64.hpp
TrapBasedRangeChecksJDK7boolarmfalsedefine_pd_global// Not neededcpu/arm/c2_globals_arm.hpp
TrapBasedRangeChecksJDK7boolc2product_pdGenerate code for range checks that uses a cmp and trap instruction raising SIGTRAP. Used on PPC64.share/opto/c2_globals.hpp
TrapBasedRangeChecksJDK7boolppctruedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
TrapBasedRangeChecksJDK7bools390falsedefine_pd_global// Not needed on z/Architecture.cpu/s390/c2_globals_s390.hpp
TrapBasedRangeChecksJDK7boolsparcfalsedefine_pd_global// Not needed on sparc.cpu/sparc/c2_globals_sparc.hpp
TrapBasedRangeChecksJDK7boolx86falsedefine_pd_global// Not needed on x86.cpu/x86/c2_globals_x86.hpp
TrustFinalNonStaticFieldsJDK6boolruntimefalseexperimentaltrust final non-static declarations for constant foldingshare/runtime/globals.hpp
TwoOperandLIRFormJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
TwoOperandLIRFormJDK6boolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
TwoOperandLIRFormJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
TwoOperandLIRFormJDK6bools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
TwoOperandLIRFormJDK6boolsparcfalsedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
TwoOperandLIRFormJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
TypeProfileArgsLimitJDK8intxruntime2
range(0, 16)
productmax number of call arguments to consider for type profilingshare/runtime/globals.hpp
TypeProfileCastsJDK6boolruntimetruedeveloptreat casts like calls for purposes of type profilingshare/runtime/globals.hpp
TypeProfileLevelJDK8uintxaarch64111define_pd_globalcpu/aarch64/globals_aarch64.hpp
TypeProfileLevelJDK8uintxarm0define_pd_globalcpu/arm/globals_arm.hpp
TypeProfileLevelJDK8uintxruntimeproduct_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
TypeProfileLevelJDK8uintxppc111define_pd_globalcpu/ppc/globals_ppc.hpp
TypeProfileLevelJDK8uintxs390111define_pd_globalcpu/s390/globals_s390.hpp
TypeProfileLevelJDK8uintxsparc111define_pd_globalcpu/sparc/globals_sparc.hpp
TypeProfileLevelJDK8uintxx86111define_pd_globalcpu/x86/globals_x86.hpp
TypeProfileLevelJDK8uintxzero0define_pd_globalcpu/zero/globals_zero.hpp
TypeProfileMajorReceiverPercentJDK6intxc290
range(0, 100)
product% of major receiver type to all profiled receiversshare/opto/c2_globals.hpp
TypeProfileParmsLimitJDK8intxruntime2
range(-1, 64)
productmax number of incoming parameters to consider for type profiling, -1 for allshare/runtime/globals.hpp
TypeProfileWidthJDK6intxruntime2
range(0, 8)
productNumber of receiver types to record in call/cast profileshare/runtime/globals.hpp
UncommonNullCastJDK6boolaarch64truedefine_pd_global// Uncommon-trap NULLs past to check castcpu/aarch64/globals_aarch64.hpp
UncommonNullCastJDK6boolarmtruedefine_pd_global// Uncommon-trap NULLs past to check castcpu/arm/globals_arm.hpp
UncommonNullCastJDK6boolppctruedefine_pd_global// Uncommon-trap NULLs passed to check cast.cpu/ppc/globals_ppc.hpp
UncommonNullCastJDK6bools390truedefine_pd_global// Uncommon-trap NULLs passed to check cast.cpu/s390/globals_s390.hpp
UncommonNullCastJDK6boolsparctruedefine_pd_global// Uncommon-trap NULLs passed to check castcpu/sparc/globals_sparc.hpp
UncommonNullCastJDK6boolx86truedefine_pd_global// Uncommon-trap NULLs passed to check castcpu/x86/globals_x86.hpp
UncommonNullCastJDK6boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
UnguardOnExecutionViolationJDK6intxruntime0
range(0, 2)
productUnguard page and retry on no-execute fault (Win32 only)
0=off, 1=conservative, 2=aggressive
share/runtime/globals.hpp
UnlinkSymbolsALotJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproductUnlink unreferenced symbols from the symbol table at safepointsshare/runtime/globals.hpp
UnlockDiagnosticVMOptionsJDK6boolruntimetrueInDebugdiagnosticEnable normal processing of flags relating to field diagnosticsshare/runtime/globals.hpp
UnlockExperimentalVMOptionsJDK6boolruntimefalseexperimentalEnable normal processing of flags relating to experimental featuresshare/runtime/globals.hpp
UnrollLimitForProfileCheckJDK6intxc21
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
Use24BitFPModeJDK6boolc2truedevelopSet 24-bit FPU mode on a per-compile basisshare/opto/c2_globals.hpp
Use24BitFPJDK6boolc2truedevelopuse FP instructions that produce 24-bit precise resultsshare/opto/c2_globals.hpp
Use64KPagesThresholdJDK9uintxaix0develop4K/64K page allocation threshold.os/aix/globals_aix.hpp
Use64KPagesJDK9boolaixtrueproductUse 64K pages if available.os/aix/globals_aix.hpp
UseAESCTRIntrinsicsJDK9boolruntimefalsediagnosticUse intrinsics for the paralleled version of AES/CTR cryptoshare/runtime/globals.hpp
UseAESIntrinsicsJDK7boolruntimefalsediagnosticUse intrinsics for AES versions of cryptoshare/runtime/globals.hpp
UseAESJDK7boolruntimefalseproductControl whether AES instructions are used when availableshare/runtime/globals.hpp
UseAOTStrictLoadingJDK9boolruntimefalsediagnosticExit the VM if any of the AOT libraries has invalid configshare/runtime/globals.hpp
UseAOTJDK9boolruntimeAOT_ONLY(true) NOT_AOT(false)productUse AOT compiled filesshare/runtime/globals.hpp
UseAVXJDK6intxx862
range(0, 99)
productHighest supported AVX instructions set on x86/x64cpu/x86/globals_x86.hpp
UseAdaptiveGCBoundaryJDK6boolgcfalseproductAllow young-old boundary to moveshare/gc/shared/gc_globals.hpp
UseAdaptiveGenerationSizePolicyAtMajorCollectionJDK6boolgctrueproductUse adaptive young-old sizing policies at major collectionsshare/gc/shared/gc_globals.hpp
UseAdaptiveGenerationSizePolicyAtMinorCollectionJDK6boolgctrueproductUse adaptive young-old sizing policies at minor collectionsshare/gc/shared/gc_globals.hpp
UseAdaptiveNUMAChunkSizingJDK6boolruntimetrueproductEnable adaptive chunk sizing for NUMAshare/runtime/globals.hpp
UseAdaptiveSizeDecayMajorGCCostJDK6boolgctrueproductAdaptive size decays the major cost for long major intervalsshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyFootprintGoalJDK6boolgctrueproductUse adaptive minimum footprint as a goalshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyWithSystemGCJDK6boolgcfalseproductInclude statistics from System.gc() for adaptive size policyshare/gc/shared/gc_globals.hpp
UseAdaptiveSizePolicyJDK6boolgctrueproductUse adaptive generation sizing policiesshare/gc/shared/gc_globals.hpp
UseAddressNopJDK6boolx86falseproductUse '0F 1F [addr]' NOP instructions on x86 cpuscpu/x86/globals_x86.hpp
UseAdler32IntrinsicsJDK9boolruntimefalsediagnosticuse intrinsics for java.util.zip.Adler32share/runtime/globals.hpp
UseBASE64IntrinsicsJDK11boolruntimefalseproductUse intrinsics for java.util.Base64share/runtime/globals.hpp
UseBMI1InstructionsJDK8boolx86falseproductUse BMI1 instructionscpu/x86/globals_x86.hpp
UseBMI2InstructionsJDK8boolx86falseproductUse BMI2 instructionscpu/x86/globals_x86.hpp
UseBarriersForVolatileJDK9boolaarch64falseproductUse memory barriers to implement volatile accessescpu/aarch64/globals_aarch64.hpp
UseBiasedLockingJDK6boolruntimetrueproductEnable biased locking in JVMshare/runtime/globals.hpp
UseBimorphicInliningJDK6boolc2trueproductProfiling based inlining for two receiversshare/opto/c2_globals.hpp
UseBlockCopyJDK6boolsparcfalseproductUse special cpu instructions for block copycpu/sparc/globals_sparc.hpp
UseBlockZeroingJDK6boolaarch64trueproductUse DC ZVA for block zeroingcpu/aarch64/globals_aarch64.hpp
UseBlockZeroingJDK6boolsparcfalseproductUse special cpu instructions for block zeroingcpu/sparc/globals_sparc.hpp
UseBootstrapCallInfoJDK11intruntime1diagnostic0: 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
UseBsdPosixThreadCPUClocksJDK6boolbsdtrueproductenable fast Bsd Posix clocks where availableos/bsd/globals_bsd.hpp
UseByteReverseInstructionJDK9bools390trueproductUse byte reverse instruction.cpu/s390/globals_s390.hpp
UseC1OptimizationsJDK6boolc1truedevelopTurn on C1 optimizationsshare/c1/c1_globals.hpp
UseCASForSwapJDK6boolsparcfalsedevelopDo not use swap instructions, but only CAS (in a loop) on SPARCcpu/sparc/globals_sparc.hpp
UseCBCondJDK6boolsparcfalseproductUse compare and branch instruction on SPARCcpu/sparc/globals_sparc.hpp
UseCHAJDK6boolruntimetruedevelopEnable CHAshare/runtime/globals.hpp
UseCISCSpillJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c2_globals_aarch64.hpp
UseCISCSpillJDK6boolarmfalsedefine_pd_globalcpu/arm/c2_globals_arm.hpp
UseCISCSpillJDK6boolppcfalsedefine_pd_globalcpu/ppc/c2_globals_ppc.hpp
UseCISCSpillJDK6bools390truedefine_pd_globalcpu/s390/c2_globals_s390.hpp
UseCISCSpillJDK6boolsparcfalsedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
UseCISCSpillJDK6boolx86truedefine_pd_globalcpu/x86/c2_globals_x86.hpp
UseCLMULJDK8boolx86falseproductControl whether CLMUL instructions can be used on x86/x64cpu/x86/globals_x86.hpp
UseCMSBestFitJDK6boolgctrueproductUse CMS best fit allocation strategyshare/gc/cms/cms_globals.hpp
UseCMSInitiatingOccupancyOnlyJDK6boolgcfalseproductOnly use occupancy as a criterion for starting a CMS collectionshare/gc/cms/cms_globals.hpp
UseCMoveUnconditionallyJDK9boolc2falseproductUse CMove (scalar and vector) ignoring profitability test.share/opto/c2_globals.hpp
UseCRC32CIntrinsicsJDK9boolruntimefalsediagnosticuse intrinsics for java.util.zip.CRC32Cshare/runtime/globals.hpp
UseCRC32IntrinsicsJDK8boolruntimefalsediagnosticuse intrinsics for java.util.zip.CRC32share/runtime/globals.hpp
UseCRC32JDK9boolaarch64falseproductUse CRC32 instructions for CRC32 computationcpu/aarch64/globals_aarch64.hpp
UseCodeAgingJDK9boolruntimetrueproductInsert counter to detect warm methodsshare/runtime/globals.hpp
UseCodeCacheFlushingJDK6boolruntimetrueproductRemove cold/old nmethods from the code cacheshare/runtime/globals.hpp
UseCompilerJDK6boolruntimetrueproductUse Just-In-Time compilationshare/runtime/globals.hpp
UseCompressedClassPointersJDK8boolruntimefalselp64_productUse 32-bit class pointers in 64-bit VM. lp64_product means flag is always constant in 32 bit VMshare/runtime/globals.hpp
UseCompressedOopsJDK6boolruntimefalselp64_productUse 32-bit object references in 64-bit VM. lp64_product means flag is always constant in 32 bit VMshare/runtime/globals.hpp
UseConcMarkSweepGCJDK6Deprecated in JDK9boolgcfalseproductUse Concurrent Mark-Sweep GC in the old generationshare/gc/shared/gc_globals.hpp
UseCondCardMarkJDK6boolgcfalseproductCheck for already marked card before updating card tableshare/gc/shared/gc_globals.hpp
UseContainerSupportJDK10boollinuxtrueproductEnable detection and runtime container configuration supportos/linux/globals_linux.hpp
UseCountLeadingZerosInstructionJDK6boolx86falseproductUse count leading zeros instructioncpu/x86/globals_x86.hpp
UseCountLeadingZerosInstructionsPPC64JDK7boolppctrueproductUse count leading zeros instructions.cpu/ppc/globals_ppc.hpp
UseCountTrailingZerosInstructionJDK8boolx86falseproductUse count trailing zeros instructioncpu/x86/globals_x86.hpp
UseCountedLoopSafepointsJDK7boolc2falseproductForce counted loops to keep a safepointshare/opto/c2_globals.hpp
UseCounterDecayJDK6boolruntimetrueproductAdjust recompilation countersshare/runtime/globals.hpp
UseCpuAllocPathJDK9boollinuxfalsediagnosticUse CPU_ALLOC code path in os::active_processor_countos/linux/globals_linux.hpp
UseCriticalCMSThreadPriorityJDK6boolruntimefalseexperimentalConcurrentMarkSweep thread runs at critical scheduling priorityshare/runtime/globals.hpp
UseCriticalCompilerThreadPriorityJDK6boolruntimefalseexperimentalCompiler thread(s) run at critical scheduling priorityshare/runtime/globals.hpp
UseCriticalJavaThreadPriorityJDK6boolruntimefalseexperimentalJava thread priority 10 maps to critical scheduling priorityshare/runtime/globals.hpp
UseDetachedThreadsJDK6boolruntimetruedevelopUse detached threads that are recycled upon termination (for Solaris only)share/runtime/globals.hpp
UseDivModJDK6boolc2trueproductUse combined DivMod instruction if availableshare/opto/c2_globals.hpp
UseDynamicNumberOfCompilerThreadsJDK11boolruntimetrueproductDynamically choose the number of parallel compiler threadsshare/runtime/globals.hpp
UseDynamicNumberOfGCThreadsJDK6boolgctrueproductDynamically choose the number of threads up to a maximum of ParallelGCThreads parallel collectors will use for garbage collection workshare/gc/shared/gc_globals.hpp
UseEpsilonGCJDK11boolgcfalseexperimentalUse the Epsilon (no-op) garbage collectorshare/gc/shared/gc_globals.hpp
UseExactTypesJDK6boolc2truedevelopUse exact types to eliminate array store checks and v-callsshare/opto/c2_globals.hpp
UseExplicitCommitJDK9boolaixfalseproductExplicit commit for virtual memory.os/aix/globals_aix.hpp
UseExtendedFileIOJDK6boolsolaristrueproductEnable workaround for limitations of stdio FILE structureos/solaris/globals_solaris.hpp
UseExtendedLoadAndReserveInstructionsPPC64JDK7boolppcfalseproductUse extended versions of load-and-reserve instructions.cpu/ppc/globals_ppc.hpp
UseFMAJDK9boolruntimefalseproductControl whether FMA instructions are used when availableshare/runtime/globals.hpp
UseFPUForSpillingJDK6boolc2falseproductSpill integer registers to FPU instead of stack when possibleshare/opto/c2_globals.hpp
UseFakeTimersJDK6boolruntimefalsedevelopTell whether the VM should use system time or a fake timershare/runtime/globals.hpp
UseFastAccessorMethodsJDK6boolzerotrueproductUse fast method entry code for accessor methodscpu/zero/globals_zero.hpp
UseFastEmptyMethodsJDK6boolzerotrueproductUse fast method entry code for empty methodscpu/zero/globals_zero.hpp
UseFastJNIAccessorsJDK6boolruntimetrueproductUse optimized versions of GetFieldshare/runtime/globals.hpp
UseFastLockingJDK6boolc1truedevelopUse fast inlined locking codeshare/c1/c1_globals.hpp
UseFastNewInstanceJDK6boolc1truedevelopUse fast inlined instance allocationshare/c1/c1_globals.hpp
UseFastNewObjectArrayJDK6boolc1truedevelopUse fast inlined object array allocationshare/c1/c1_globals.hpp
UseFastNewTypeArrayJDK6boolc1truedevelopUse fast inlined type array allocationshare/c1/c1_globals.hpp
UseFastSignatureHandlersJDK6boolruntimetruedevelopUse fast signature handlers for native callsshare/runtime/globals.hpp
UseFastStosbJDK7boolx86falseproductUse fast-string operation for zeroing: rep stosbcpu/x86/globals_x86.hpp
UseFastUnorderedTimeStampsJDK11boolruntimefalseexperimentalUse platform unstable time where supported for timestamps onlyshare/runtime/globals.hpp
UseG1GCJDK6boolgcfalseproductUse the Garbage-First garbage collectorshare/gc/shared/gc_globals.hpp
UseGCOverheadLimitJDK6boolgctrueproductUse policy to limit of proportion of time spent in GC before an OutOfMemory error is thrownshare/gc/shared/gc_globals.hpp
UseGCTaskAffinityJDK6boolgcfalseproductUse worker affinity when asking for GCTasksshare/gc/shared/gc_globals.hpp
UseGHASHIntrinsicsJDK9boolruntimefalsediagnosticUse intrinsics for GHASH versions of cryptoshare/runtime/globals.hpp
UseGlobalValueNumberingJDK6boolc1truedevelopUse Global Value Numbering (separate phase)share/c1/c1_globals.hpp
UseHeavyMonitorsJDK6boolruntimefalseproductuse heavyweight instead of lightweight Java monitorsshare/runtime/globals.hpp
UseHugeTLBFSJDK6Obsoleted in JDK12
Expired in JDK13
boolbsdfalseproductUse MAP_HUGETLB for large pagesos/bsd/globals_bsd.hpp
UseHugeTLBFSJDK6Obsoleted in JDK12
Expired in JDK13
boollinuxfalseproductUse MAP_HUGETLB for large pagesos/linux/globals_linux.hpp
UseImplicitStableValuesJDK8boolc2truediagnosticMark well-known stable fields as such (e.g. String.value)share/opto/c2_globals.hpp
UseIncDecJDK6boolx86truediagnosticUse INC, DEC instructions on x86cpu/x86/globals_x86.hpp
UseInlineCachesJDK6boolruntimetrueproductUse Inline Caches for virtual callsshare/runtime/globals.hpp
UseInlineDepthForSpeculativeTypesJDK8boolc2truediagnosticCarry inline depth of profile point with speculative type and give priority to profiling from lower inline depthshare/opto/c2_globals.hpp
UseInterpreterJDK6boolruntimetrueproductUse interpreter for non-compiled methodsshare/runtime/globals.hpp
UseJVMCICompilerJDK9booljvmcifalseexperimentalUse JVMCI as the default compilershare/jvmci/jvmci_globals.hpp
UseJumpTablesJDK6boolc2trueproductUse JumpTables instead of a binary search tree for switchesshare/opto/c2_globals.hpp
UseLSEJDK9boolaarch64falseproductUse LSE instructionscpu/aarch64/globals_aarch64.hpp
UseLWPSynchronizationJDK6boolruntimetrueproductUse LWP-based instead of libthread-based synchronization (SPARC only)share/runtime/globals.hpp
UseLargePagesInMetaspaceJDK8boolruntimefalseproductUse large page memory in metaspace. Only used if UseLargePages is enabled.share/runtime/globals.hpp
UseLargePagesIndividualAllocationJDK6boolaixfalsedefine_pd_globalos/aix/globals_aix.hpp
UseLargePagesIndividualAllocationJDK6boolbsdfalsedefine_pd_globalos/bsd/globals_bsd.hpp
UseLargePagesIndividualAllocationJDK6boollinuxfalsedefine_pd_globalos/linux/globals_linux.hpp
UseLargePagesIndividualAllocationJDK6boolruntimeproduct_pdAllocate large pages individually for better affinityshare/runtime/globals.hpp
UseLargePagesIndividualAllocationJDK6boolsolarisfalsedefine_pd_globalos/solaris/globals_solaris.hpp
UseLargePagesIndividualAllocationJDK6boolwindowstruedefine_pd_globalos/windows/globals_windows.hpp
UseLargePagesJDK6boolaixfalsedefine_pd_globalos/aix/globals_aix.hpp
UseLargePagesJDK6boolbsdfalsedefine_pd_globalos/bsd/globals_bsd.hpp
UseLargePagesJDK6boollinuxfalsedefine_pd_globalos/linux/globals_linux.hpp
UseLargePagesJDK6boolruntimeproduct_pdUse large page memoryshare/runtime/globals.hpp
UseLargePagesJDK6boolsolaristruedefine_pd_globalos/solaris/globals_solaris.hpp
UseLargePagesJDK6boolwindowsfalsedefine_pd_globalos/windows/globals_windows.hpp
UseLibmIntrinsicJDK9boolx86truediagnosticUse Libm Intrinsicscpu/x86/globals_x86.hpp
UseLinuxPosixThreadCPUClocksJDK6boollinuxtrueproductenable fast Linux Posix clocks where availableos/linux/globals_linux.hpp
UseLoadInstructionsForStackBangingPPC64JDK7boolppcfalseproductUse load instructions for stack banging.cpu/ppc/globals_ppc.hpp
UseLocalValueNumberingJDK6boolc1truedevelopUse Local Value Numbering (embedded in GraphBuilder)share/c1/c1_globals.hpp
UseLoopCounterJDK6boolruntimetrueproductIncrement invocation counter on backward branchshare/runtime/globals.hpp
UseLoopInvariantCodeMotionJDK8boolc1trueproductSimple loop invariant code motion for short loops during GVNshare/c1/c1_globals.hpp
UseLoopPredicateJDK6boolc2trueproductGenerate a predicate to select fast/slow loop versionsshare/opto/c2_globals.hpp
UseLoopSafepointsJDK6boolruntimetruedevelopGenerate Safepoint nodes in every loopshare/runtime/globals.hpp
UseMPMULJDK10boolsparcfalseproductUse multi-precision multiply instruction (mpmul) on SPARCcpu/sparc/globals_sparc.hpp
UseMallocOnlyJDK6boolruntimefalsedevelopUse only malloc/free for allocation (no resource area/arena)share/runtime/globals.hpp
UseMathExactIntrinsicsJDK8boolc2truediagnosticEnables intrinsification of various java.lang.Math functionsshare/opto/c2_globals.hpp
UseMaximumCompactionOnSystemGCJDK6boolgctrueproductUse maximum compaction in the Parallel Old garbage collector for a system GCshare/gc/parallel/parallel_globals.hpp
UseMembarJDK6Deprecated in JDK10
Obsoleted in JDK12
boolaarch64truedefine_pd_globalcpu/aarch64/globals_aarch64.hpp
UseMembarJDK6Deprecated in JDK10
Obsoleted in JDK12
boolarmtruedefine_pd_globalcpu/arm/globals_arm.hpp
UseMembarJDK6Deprecated in JDK10
Obsoleted in JDK12
boolruntimeproduct_pd(Unstable) Issues membars on thread state transitionsshare/runtime/globals.hpp
UseMembarJDK6Deprecated in JDK10
Obsoleted in JDK12
boolppctruedefine_pd_globalcpu/ppc/globals_ppc.hpp
UseMembarJDK6Deprecated in JDK10
Obsoleted in JDK12
bools390truedefine_pd_globalcpu/s390/globals_s390.hpp
UseMembarJDK6Deprecated in JDK10
Obsoleted in JDK12
boolsparctruedefine_pd_globalcpu/sparc/globals_sparc.hpp
UseMembarJDK6Deprecated in JDK10
Obsoleted in JDK12
boolx86truedefine_pd_globalcpu/x86/globals_x86.hpp
UseMembarJDK6Deprecated in JDK10
Obsoleted in JDK12
boolzerotruedefine_pd_globalcpu/zero/globals_zero.hpp
UseMontgomeryMultiplyIntrinsicJDK8boolc2falsediagnosticEnables intrinsification of BigInteger.montgomeryMultiply()share/opto/c2_globals.hpp
UseMontgomerySquareIntrinsicJDK8boolc2falsediagnosticEnables intrinsification of BigInteger.montgomerySquare()share/opto/c2_globals.hpp
UseMulAddIntrinsicJDK8boolc2falsediagnosticEnables intrinsification of BigInteger.mulAdd()share/opto/c2_globals.hpp
UseMultiplyToLenIntrinsicJDK8boolc2falsediagnosticEnables intrinsification of BigInteger.multiplyToLen()share/opto/c2_globals.hpp
UseNUMAInterleavingJDK6boolruntimefalseproductInterleave memory across NUMA nodes if availableshare/runtime/globals.hpp
UseNUMAJDK6boolruntimefalseproductUse NUMA if availableshare/runtime/globals.hpp
UseNeonJDK9boolaarch64falseproductUse Neon for CRC32 computationcpu/aarch64/globals_aarch64.hpp
UseNewCode2JDK6boolruntimefalsediagnosticTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewCode3JDK6boolruntimefalsediagnosticTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewCodeJDK6boolruntimefalsediagnosticTesting Only: Use the new version while testingshare/runtime/globals.hpp
UseNewLongLShiftJDK6boolx86falseproductUse optimized bitwise shift leftcpu/x86/globals_x86.hpp
UseNiagaraInstrsJDK6boolsparcfalseproductUse Niagara-efficient instruction subsetcpu/sparc/globals_sparc.hpp
UseOSErrorReportingJDK6boolaixfalsedefine_pd_globalos/aix/globals_aix.hpp
UseOSErrorReportingJDK6boolbsdfalsedefine_pd_globalos/bsd/globals_bsd.hpp
UseOSErrorReportingJDK6boollinuxfalsedefine_pd_globalos/linux/globals_linux.hpp
UseOSErrorReportingJDK6boolruntimeproduct_pdLet VM fatal error propagate to the OS (ie. WER on Windows)share/runtime/globals.hpp
UseOSErrorReportingJDK6boolsolarisfalsedefine_pd_globalos/solaris/globals_solaris.hpp
UseOSErrorReportingJDK6boolwindowsfalsedefine_pd_global// for now.os/windows/globals_windows.hpp
UseOnStackReplacementJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
UseOnStackReplacementJDK6boolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
UseOnStackReplacementJDK6boolruntimeproduct_pdUse on stack replacement, calls runtime if invoc. counter overflows in loopshare/runtime/globals.hpp
UseOnStackReplacementJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
UseOnStackReplacementJDK6bools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
UseOnStackReplacementJDK6boolsparctruedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
UseOnStackReplacementJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
UseOnlyInlinedBimorphicJDK6boolc2trueproductDon't use BimorphicInlining if can't inline a second methodshare/opto/c2_globals.hpp
UseOprofileJDK6boolbsdfalseproductenable support for Oprofile profileros/bsd/globals_bsd.hpp
UseOprofileJDK6boollinuxfalseproductenable support for Oprofile profileros/linux/globals_linux.hpp
UseOptoBiasInliningJDK6boolc2trueproductGenerate biased locking code in C2 ideal graphshare/opto/c2_globals.hpp
UsePSAdaptiveSurvivorSizePolicyJDK6boolgctrueproductUse adaptive survivor sizing policiesshare/gc/shared/gc_globals.hpp
UseParallelGCJDK6boolgcfalseproductUse the Parallel Scavenge garbage collectorshare/gc/shared/gc_globals.hpp
UseParallelOldGCJDK6boolgcfalseproductUse the Parallel Old garbage collectorshare/gc/shared/gc_globals.hpp
UsePerfDataJDK6boolruntimetrueproductFlag to disable jvmstat instrumentation for performance testing and problem isolation purposesshare/runtime/globals.hpp
UsePopCountInstructionJDK6boolruntimefalseproductUse population count instructionshare/runtime/globals.hpp
UsePower6SchedulerPPC64JDK7boolppcfalseproductUse Power6 Scheduler.cpu/ppc/globals_ppc.hpp
UsePrivilegedStackJDK6boolruntimetruedevelopEnable the security JVM functionsshare/runtime/globals.hpp
UseProfiledLoopPredicateJDK11boolc2trueproductmove predicates out of loops based on profiling datashare/opto/c2_globals.hpp
UsePthreadsJDK6boolruntimefalsedevelopUse pthread-based instead of libthread-based synchronization (SPARC only)share/runtime/globals.hpp
UseRDPCForConstantTableBaseJDK6boolc2falseproductUse Sparc RDPC instruction for the constant table base.share/opto/c2_globals.hpp
UseRTMDeoptJDK8boolppcfalseproductPerform deopt and recompilation based on RTM abort ratiocpu/ppc/globals_ppc.hpp
UseRTMDeoptJDK8boolx86falseproductPerform deopt and recompilation based on RTM abort ratiocpu/x86/globals_x86.hpp
UseRTMForStackLocksJDK8boolppcfalseexperimentalEnable RTM lock eliding for stack locks in compiled codecpu/ppc/globals_ppc.hpp
UseRTMForStackLocksJDK8boolx86falseexperimentalEnable RTM lock eliding for stack locks in compiled codecpu/x86/globals_x86.hpp
UseRTMLockingJDK8boolppcfalseproductEnable RTM lock eliding for inflated locks in compiled codecpu/ppc/globals_ppc.hpp
UseRTMLockingJDK8boolx86falseproductEnable RTM lock eliding for inflated locks in compiled codecpu/x86/globals_x86.hpp
UseRTMXendForLockBusyJDK8boolppctrueexperimentalUse RTM Xend instead of Xabort when lock busycpu/ppc/globals_ppc.hpp
UseRTMXendForLockBusyJDK8boolx86trueexperimentalUse RTM Xend instead of Xabort when lock busycpu/x86/globals_x86.hpp
UseRotateAndMaskInstructionsPPC64JDK7boolppctrueproductUse rotate and mask instructions.cpu/ppc/globals_ppc.hpp
UseSHA1IntrinsicsJDK8boolruntimefalsediagnosticUse intrinsics for SHA-1 crypto hash function. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHA256IntrinsicsJDK8boolruntimefalsediagnosticUse intrinsics for SHA-224 and SHA-256 crypto hash functions. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHA512IntrinsicsJDK8boolruntimefalsediagnosticUse intrinsics for SHA-384 and SHA-512 crypto hash functions. Requires that UseSHA is enabled.share/runtime/globals.hpp
UseSHAJDK8boolruntimefalseproductControl whether SHA instructions are used when availableshare/runtime/globals.hpp
UseSHMJDK6Obsoleted in JDK12
Expired in JDK13
boolbsdfalseproductUse SYSV shared memory for large pagesos/bsd/globals_bsd.hpp
UseSHMJDK6Obsoleted in JDK12
Expired in JDK13
boollinuxfalseproductUse SYSV shared memory for large pagesos/linux/globals_linux.hpp
UseSIGTRAPJDK7boolppctrueproductAllow trap instructions that make use of SIGTRAP. Use this to switch off all optimizations requiring SIGTRAP.cpu/ppc/globals_ppc.hpp
UseSIMDForArrayEqualsJDK11boolaarch64trueproductUse SIMD instructions in generated array equals codecpu/aarch64/globals_aarch64.hpp
UseSIMDForMemoryOpsJDK9boolaarch64falseproductUse SIMD instructions in generated memory move codecpu/aarch64/globals_aarch64.hpp
UseSSE42IntrinsicsJDK6boolx86falseproductSSE4.2 versions of intrinsicscpu/x86/globals_x86.hpp
UseSSEJDK6intxruntime99
range(0, 99)
productHighest supported SSE instructions set on x86/x64share/runtime/globals.hpp
UseSemaphoreGCThreadsSynchronizationJDK9boolgctruediagnosticUse semaphore synchronization for the GC Threads, instead of synchronization based on mutexesshare/gc/shared/gc_globals.hpp
UseSerialGCJDK6boolgcfalseproductUse the Serial garbage collectorshare/gc/shared/gc_globals.hpp
UseSharedSpacesJDK6boolruntimetrueproductUse shared spaces for metadatashare/runtime/globals.hpp
UseSignalChainingJDK6boolruntimetrueproductUse signal-chaining to invoke signal handlers installed by the application (Solaris & Linux only)share/runtime/globals.hpp
UseSimpleArrayEqualsJDK11boolaarch64falseproductUse simpliest and shortest implementation for array equalscpu/aarch64/globals_aarch64.hpp
UseSimulatorCacheJDK9boolaarch64falseproducttell sim to cache memory updates until exclusive op occurscpu/aarch64/globals_aarch64.hpp
UseSlowPathJDK6boolc1falsedevelopFor debugging: test slow cases by always using themshare/c1/c1_globals.hpp
UseSquareToLenIntrinsicJDK8boolc2falsediagnosticEnables intrinsification of BigInteger.squareToLen()share/opto/c2_globals.hpp
UseStackBangingJDK6boolruntimetruedevelopuse stack banging for stack overflow checks (required for proper StackOverflow handling; disable only to measure cost of stackbanging)share/runtime/globals.hpp
UseStaticBranchPredictionForUncommonPathsPPC64JDK7boolppcfalseproductUse static branch prediction hints for uncommon paths.cpu/ppc/globals_ppc.hpp
UseStaticBranchPredictionInCompareAndSwapPPC64JDK7boolppctrueproductUse static branch prediction hints in CAS operations.cpu/ppc/globals_ppc.hpp
UseStoreImmI16JDK6boolx86trueproductUse store immediate 16-bits value instruction on x86cpu/x86/globals_x86.hpp
UseStrictFPJDK6boolruntimetruedevelopuse strict fp if modifier strictfp is setshare/runtime/globals.hpp
UseStringDeduplicationJDK8boolruntimefalseproductUse string deduplicationshare/runtime/globals.hpp
UseSubwordForMaxVectorJDK10boolc2trueproductUse Subword Analysis to set maximum vector sizeshare/opto/c2_globals.hpp
UseSuperWordJDK6boolc2trueproductTransform scalar operations into superword operationsshare/opto/c2_globals.hpp
UseSwitchProfilingJDK11boolruntimetrueexperimentalleverage profiling for table/lookup switchshare/runtime/globals.hpp
UseTLABJDK6boolaarch64truedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
UseTLABJDK6boolarmtruedefine_pd_globalcpu/arm/c1_globals_arm.hpp
UseTLABJDK6boolgcproduct_pdUse thread-local object allocationshare/gc/shared/gc_globals.hpp
UseTLABJDK6boolruntimefalsedefine_pd_globalshare/runtime/globals.hpp
UseTLABJDK6boolppctruedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
UseTLABJDK6bools390truedefine_pd_globalcpu/s390/c1_globals_s390.hpp
UseTLABJDK6boolsparctruedefine_pd_globalcpu/sparc/c2_globals_sparc.hpp
UseTLABJDK6boolx86truedefine_pd_globalcpu/x86/c1_globals_x86.hpp
UseTableRangesJDK6boolc1truedevelopFaster versions of lookup table using rangesshare/c1/c1_globals.hpp
UseThreadPrioritiesJDK6boolruntimeproduct_pdUse native thread prioritiesshare/runtime/globals.hpp
UseThreadPrioritiesJDK6boolsolarisfalsedefine_pd_globalos/solaris/globals_solaris.hpp
UseTransparentHugePagesJDK7boollinuxfalseproductUse MADV_HUGEPAGE for large pagesos/linux/globals_linux.hpp
UseTypeProfileJDK6boolaarch64falsedefine_pd_globalcpu/aarch64/c1_globals_aarch64.hpp
UseTypeProfileJDK6boolarmfalsedefine_pd_globalcpu/arm/c1_globals_arm.hpp
UseTypeProfileJDK6boolruntimetrueproductCheck interpreter profile for historically monomorphic callsshare/runtime/globals.hpp
UseTypeProfileJDK6boolppcfalsedefine_pd_globalcpu/ppc/c1_globals_ppc.hpp
UseTypeProfileJDK6bools390falsedefine_pd_globalcpu/s390/c1_globals_s390.hpp
UseTypeProfileJDK6boolsparcfalsedefine_pd_globalcpu/sparc/c1_globals_sparc.hpp
UseTypeProfileJDK6boolx86falsedefine_pd_globalcpu/x86/c1_globals_x86.hpp
UseTypeSpeculationJDK8boolc2trueproductSpeculatively propagate types from profilesshare/opto/c2_globals.hpp
UseUnalignedAccessesJDK9boolruntimefalsediagnosticUse unaligned memory accesses in Unsafeshare/runtime/globals.hpp
UseUnalignedLoadStoresJDK6boolx86falseproductUse SSE2 MOVDQU instruction for Arraycopycpu/x86/globals_x86.hpp
UseUniqueSubclassesJDK6boolc2truedevelopNarrow an abstract reference to the unique concrete subclassshare/opto/c2_globals.hpp
UseVISJDK6intxsparc99
range(0, 99)
productHighest supported VIS instructions set on SPARCcpu/sparc/globals_sparc.hpp
UseVectorCmovJDK10boolc2falseproductUse Vectorized Cmovshare/opto/c2_globals.hpp
UseVectorizedMismatchIntrinsicJDK9boolruntimefalsediagnosticEnables intrinsification of ArraysSupport.vectorizedMismatch()share/runtime/globals.hpp
UseXMMForArrayCopyJDK6boolruntimefalseproductUse SSE2 MOVQ instruction for Arraycopyshare/runtime/globals.hpp
UseXMMForObjInitJDK11boolx86falseproductUse XMM/YMM MOVDQU instruction for Object Initializationcpu/x86/globals_x86.hpp
UseXmmI2DJDK6boolx86falseproductUse SSE2 CVTDQ2PD instruction to convert Integer to Doublecpu/x86/globals_x86.hpp
UseXmmI2FJDK6boolx86falseproductUse SSE2 CVTDQ2PS instruction to convert Integer to Floatcpu/x86/globals_x86.hpp
UseXmmLoadAndClearUpperJDK6boolx86trueproductLoad low part of XMM register and clear upper partcpu/x86/globals_x86.hpp
UseXmmRegToRegMoveAllJDK6boolx86falseproductCopy all XMM register bits when moving value between registerscpu/x86/globals_x86.hpp
UseZGCJDK11boolgcfalseexperimentalUse the Z garbage collectorshare/gc/shared/gc_globals.hpp
VMThreadHintNoPreemptJDK6Deprecated in JDK11
Obsoleted in JDK12
Expired in JDK13
boolruntimefalseproduct(Solaris only) Give VM thread an extra quantashare/runtime/globals.hpp
VMThreadPriorityJDK6intxruntime-1
range(-1, 127)
productThe native priority at which the VM thread should run (-1 means no change)share/runtime/globals.hpp
VMThreadStackSizeJDK6intxaixppc2048define_pd_globalos_cpu/aix_ppc/globals_aix_ppc.hpp
VMThreadStackSizeJDK6intxbsdx86512define_pd_globalos_cpu/bsd_x86/globals_bsd_x86.hpp
VMThreadStackSizeJDK6intxbsdzero512define_pd_globalos_cpu/bsd_zero/globals_bsd_zero.hpp
VMThreadStackSizeJDK6intxlinuxaarch642048define_pd_globalos_cpu/linux_aarch64/globals_linux_aarch64.hpp
VMThreadStackSizeJDK6intxlinuxarm512define_pd_globalos_cpu/linux_arm/globals_linux_arm.hpp
VMThreadStackSizeJDK6intxlinuxppc2048define_pd_globalos_cpu/linux_ppc/globals_linux_ppc.hpp
VMThreadStackSizeJDK6intxlinuxs3901024define_pd_globalos_cpu/linux_s390/globals_linux_s390.hpp
VMThreadStackSizeJDK6intxlinuxx86512define_pd_globalos_cpu/linux_x86/globals_linux_x86.hpp
VMThreadStackSizeJDK6intxlinuxzero512define_pd_globalos_cpu/linux_zero/globals_linux_zero.hpp
VMThreadStackSizeJDK6intxruntimeproduct_pdNon-Java Thread Stack Size (in Kbytes)share/runtime/globals.hpp
VMThreadStackSizeJDK6intxsparc1024define_pd_globalcpu/sparc/globals_sparc.hpp
VMThreadStackSizeJDK6intxsolarisx86512define_pd_globalos_cpu/solaris_x86/globals_solaris_x86.hpp
VMThreadStackSizeJDK6intxwindowsx860define_pd_global// 0 => use system defaultos_cpu/windows_x86/globals_windows_x86.hpp
ValueMapInitialSizeJDK6intxc111
range(1, NOT_LP64(1*K) LP64_ONLY(32*K))
productInitial size of a value mapshare/c1/c1_globals.hpp
ValueMapMaxLoopSizeJDK6intxc18
range(0, 128)
productmaximum size of a loop optimized by global value numberingshare/c1/c1_globals.hpp
ValueSearchLimitJDK6intxc21000
range(0, max_jint)
productRecursion limit in PhaseMacroExpand::value_from_mem_phishare/opto/c2_globals.hpp
VerboseInternalVMTestsJDK7boolgcfalsenotproductTurn on logging for internal VM tests.share/gc/shared/gc_globals.hpp
VerboseJDK6boolruntimefalsedevelopPrint additional debugging information from other modesshare/runtime/globals.hpp
VerifyActivationFrameSizeJDK6boolruntimefalsedevelopVerify that activation frame didn't become smaller than its minimal sizeshare/runtime/globals.hpp
VerifyAdapterCallsJDK7boolruntimetrueInDebugdiagnosticVerify that i2c/c2i adapters are called properlyshare/runtime/globals.hpp
VerifyAdapterSharingJDK6boolruntimefalsedevelopVerify that the code for shared adapters is the equivalentshare/runtime/globals.hpp
VerifyAfterGCJDK6boolgcfalsediagnosticVerify memory system after GCshare/gc/shared/gc_globals.hpp
VerifyAliasesJDK6boolc2falsedevelopperform extra checks on the results of alias analysisshare/opto/c2_globals.hpp
VerifyBeforeExitJDK6boolgctrueInDebugdiagnosticVerify system before exitingshare/gc/shared/gc_globals.hpp
VerifyBeforeGCJDK6boolgcfalsediagnosticVerify memory system before GCshare/gc/shared/gc_globals.hpp
VerifyBeforeIterationJDK6boolruntimefalsediagnosticVerify memory system before JVMTI iterationshare/runtime/globals.hpp
VerifyBlockOffsetArrayJDK6boolgcfalsedevelopDo (expensive) block offset array verificationshare/gc/shared/gc_globals.hpp
VerifyCodeCacheJDK9boolruntimefalsenotproductVerify code cache on memory allocation/deallocationshare/runtime/globals.hpp
VerifyCompiledCodeJDK6boolruntimefalsedevelopInclude miscellaneous runtime verifications in nmethod code; default off because it disturbs nmethod size heuristicsshare/runtime/globals.hpp
VerifyConnectionGraphJDK7boolc2truenotproductVerify Connection Graph construction in Escape Analysisshare/opto/c2_globals.hpp
VerifyDUIteratorsJDK6boolc2truenotproductVerify the safety of all iterations of Bi-directional Edgesshare/opto/c2_globals.hpp
VerifyDataPointerJDK6boolruntimetrueInDebugdevelopVerify the method data pointer during interpreter profilingshare/runtime/globals.hpp
VerifyDependenciesJDK6boolruntimetrueInDebugdevelopExercise and verify the compilation dependency mechanismshare/runtime/globals.hpp
VerifyDuringGCJDK6boolgcfalsediagnosticVerify memory system during GC (between phases)share/gc/shared/gc_globals.hpp
VerifyDuringStartupJDK7boolgcfalsediagnosticVerify memory system before executing any Java code during VM initializationshare/gc/shared/gc_globals.hpp
VerifyFPUJDK6boolruntimefalsedevelopVerify FPU state (check for NaN's, etc.)share/runtime/globals.hpp
VerifyGCLevelJDK6intxgc0
range(0, 1)
diagnosticGeneration level at which to start +VerifyBefore/AfterGCshare/gc/shared/gc_globals.hpp
VerifyGCStartAtJDK6uintxgc0
range(0, max_uintx)
diagnosticGC invoke count where +VerifyBefore/AfterGC kicks inshare/gc/shared/gc_globals.hpp
VerifyGCTypeJDK10ccstrlistgcGC type(s) to verify when Verify*GC is enabled.Available types are collector specific.diagnosticshare/gc/shared/gc_globals.hpp
VerifyGraphEdgesJDK6boolc2falsenotproductVerify Bi-directional Edgesshare/opto/c2_globals.hpp
VerifyHashTableKeysJDK6boolc2truenotproductVerify the immutability of keys in the VN hash tablesshare/opto/c2_globals.hpp
VerifyIdealNodeCountJDK7boolc2falsenotproductVerify that tracked dead ideal node count is accurateshare/opto/c2_globals.hpp
VerifyInterpreterStackTopJDK9boolarmfalsedevelopVerify interpreter stack top at every stack expansion (AArch64 only)cpu/arm/globals_arm.hpp
VerifyIterativeGVNJDK6boolc2falsedevelopVerify Def-Use modifications during sparse Iterative Global Value Numberingshare/opto/c2_globals.hpp
VerifyJNIEnvThreadJDK6boolruntimefalsenotproductVerify JNIEnv.thread == Thread::current() when entering VM from JNIshare/runtime/globals.hpp
VerifyJNIFieldsJDK6boolruntimetrueInDebugdevelopVerify jfieldIDs for instance fieldsshare/runtime/globals.hpp
VerifyLastFrameJDK6boolruntimefalsenotproductVerify oops on last frame on entry to VMshare/runtime/globals.hpp
VerifyLoopOptimizationsJDK6boolc2falsenotproductverify major loop optimizationsshare/opto/c2_globals.hpp
VerifyMergedCPBytecodesJDK6boolruntimetrueproductVerify bytecodes after RedefineClasses constant pool mergingshare/runtime/globals.hpp
VerifyMetaspaceJDK11boolruntimefalsedevelopVerify metaspace on chunk movements.share/runtime/globals.hpp
VerifyMethodHandlesJDK6boolruntimetrueInDebugdiagnosticperform extra checks when constructing method handlesshare/runtime/globals.hpp
VerifyObjectStartArrayJDK6boolgctruediagnosticVerify GC object start array if verify before/aftershare/gc/shared/gc_globals.hpp
VerifyOopsJDK6boolruntimefalsedevelopDo plausibility checks for oopsshare/runtime/globals.hpp
VerifyOptoOopOffsetsJDK6boolc2falsenotproductCheck types of base addresses in field referencesshare/opto/c2_globals.hpp
VerifyOptoJDK6boolc2falsenotproductApply more time consuming verification during compilationshare/opto/c2_globals.hpp
VerifyRegisterAllocatorJDK6boolc2false
range(0, max_jint)
notproductVerify Register Allocatorshare/opto/c2_globals.hpp
VerifyRememberedSetsJDK6boolgcfalsediagnosticVerify GC remembered setsshare/gc/shared/gc_globals.hpp
VerifySharedSpacesJDK8boolruntimefalseproductVerify shared spaces (false for default archive, true for archive specified by -XX:SharedArchiveFile)share/runtime/globals.hpp
VerifyStackAtCallsJDK6boolruntimefalsedevelopVerify that the stack pointer is unchanged after callsshare/runtime/globals.hpp
VerifyStackJDK6boolruntimefalsedevelopVerify stack of each thread when it is entering a runtime callshare/runtime/globals.hpp
VerifyStringTableAtExitJDK8boolruntimefalsediagnosticverify StringTable contents at exitshare/runtime/globals.hpp
VerifySubSetJDK8ccstrlistgcMemory sub-systems to verify when Verify*GC flag(s) are enabled. One or more sub-systems can be specified in a comma separated string. Sub-systems are: threads, heap, symbol_table, string_table, codecache, dictionary, classloader_data_graph, metaspace, jni_handles, codecache_oopsdiagnosticshare/gc/shared/gc_globals.hpp
VerifyThreadJDK6boolruntimefalsedevelopWatch the thread register for corruption (SPARC only)share/runtime/globals.hpp
WalkStackALotJDK6boolruntimefalsenotproductTrace stack (no print) at every exit from the runtime systemshare/runtime/globals.hpp
WarmCallMaxSizeJDK6intxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developsize of the largest inlinable methodshare/opto/c2_globals.hpp
WarmCallMaxWorkJDK6intxc2999999
range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10))))
developexecution time of the largest inlinable methodshare/opto/c2_globals.hpp
WarmCallMinCountJDK6intxc2-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
WarmCallMinProfitJDK6intxc2-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
WarnOnStalledSpinLockJDK6uintxruntime0notproductPrint warnings for stalled SpinLocksshare/runtime/globals.hpp
WhiteBoxAPIJDK7boolruntimefalsediagnosticEnable internal testing APIsshare/runtime/globals.hpp
WizardModeJDK6boolruntimefalsedevelopPrint much more debugging informationshare/runtime/globals.hpp
WorkStealingHardSpinsJDK6uintxgc4096experimentalNumber of iterations in a spin loop between checks on time out of hard spinshare/gc/shared/gc_globals.hpp
WorkStealingSleepMillisJDK6uintxgc1experimentalSleep time when sleep is used for yieldsshare/gc/shared/gc_globals.hpp
WorkStealingSpinToYieldRatioJDK6uintxgc10experimentalRatio of hard spins to calls to yieldshare/gc/shared/gc_globals.hpp
WorkStealingYieldsBeforeSleepJDK6uintxgc5000experimentalNumber of yields before a sleep is done during work stealingshare/gc/shared/gc_globals.hpp
YoungGenerationSizeIncrementJDK6uintxgc20
range(0, 100)
productAdaptive size percentage change in young generationshare/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementDecayJDK6uintxgc8
range(1, max_uintx)
productDecay factor to YoungedGenerationSizeSupplementshare/gc/shared/gc_globals.hpp
YoungGenerationSizeSupplementJDK6uintxgc80
range(0, 100)
productSupplement to YoungedGenerationSizeIncrement used at startupshare/gc/shared/gc_globals.hpp
YoungPLABSizeJDK6size_tgc4096productSize of young gen promotion LAB's (in HeapWords)share/gc/shared/gc_globals.hpp
ZAllocationSpikeToleranceJDK11doublegc2.0productAllocation spike tolerance factorshare/gc/z/z_globals.hpp
ZCollectionIntervalJDK11uintgc0productForce GC at a fixed time interval (in seconds)share/gc/z/z_globals.hpp
ZConcurrentJNIWeakGlobalHandlesJDK11boolgctruediagnosticClean JNI WeakGlobalRefs concurrentlyshare/gc/z/z_globals.hpp
ZConcurrentStringTableJDK11boolgctruediagnosticClean StringTable concurrentlyshare/gc/z/z_globals.hpp
ZConcurrentVMWeakHandlesJDK11boolgctruediagnosticClean VM WeakHandles concurrentlyshare/gc/z/z_globals.hpp
ZFragmentationLimitJDK11doublegc25.0productMaximum allowed heap fragmentationshare/gc/z/z_globals.hpp
ZMarkStacksMaxJDK11size_tgcNOT_LP64(512*M) LP64_ONLY(8*G)
range(32*M, NOT_LP64(512*M) LP64_ONLY(1024*G))
productMaximum number of bytes allocated for marking stacksshare/gc/z/z_globals.hpp
ZOptimizeLoadBarriersJDK11boolgctruediagnosticApply load barrier optimizationsshare/gc/z/z_globals.hpp
ZPathJDK11ccstrgcNULLproductFilesystem path for Java heap backing storage (must be a tmpfs or a hugetlbfs filesystem)share/gc/z/z_globals.hpp
ZProactiveJDK11boolgctruediagnosticEnable proactive GC cyclesshare/gc/z/z_globals.hpp
ZStallOnOutOfMemoryJDK11boolgctrueproductAllow Java threads to stall and wait for GC to complete instead of immediately throwing an OutOfMemoryErrorshare/gc/z/z_globals.hpp
ZStatisticsForceTraceJDK11boolgcfalsediagnosticForce tracing of ZStatsshare/gc/z/z_globals.hpp
ZStatisticsIntervalJDK11uintgc10
range(1, (uint)-1)
productTime between statistics print outs (in seconds)share/gc/z/z_globals.hpp
ZSymbolTableUnloadingJDK11boolgcfalsediagnosticUnload unused VM symbolsshare/gc/z/z_globals.hpp
ZUnmapBadViewsJDK11boolgcfalsediagnosticUnmap bad (inactive) heap viewsshare/gc/z/z_globals.hpp
ZVerifyForwardingJDK11boolgcfalsediagnosticVerify forwarding tablesshare/gc/z/z_globals.hpp
ZVerifyLoadBarriersJDK11boolgcfalsedevelopVerify that reference loads are followed by barriersshare/gc/z/z_globals.hpp
ZVerifyMarkingJDK11boolgcfalsediagnosticVerify marking stacksshare/gc/z/z_globals.hpp
ZWeakRootsJDK11boolgctruediagnosticTreat JNI WeakGlobalRefs and StringTable as weak rootsshare/gc/z/z_globals.hpp
ZapEmptyStackFieldsJDK9bools390falsedevelopWrite 0x0101... to empty stack fields. Use this to ease stack debugging.cpu/s390/globals_s390.hpp
ZapFillerObjectsJDK6boolruntimetrueInDebugdevelopZap filler objects with 0xDEAFBABEshare/runtime/globals.hpp
ZapHighNonSignificantBitsJDK9boolarmfalsedevelopZap high non-significant bits of values (AArch64 only)cpu/arm/globals_arm.hpp
ZapMemoryJDK7boolppcfalseproductWrite 0x0101... to empty memory. Use this to ease debugging.cpu/ppc/globals_ppc.hpp
ZapResourceAreaJDK6boolruntimetrueInDebugdevelopZap freed resource/arena space with 0xABABABABshare/runtime/globals.hpp
ZapStackSegmentsJDK6boolruntimetrueInDebugnotproductZap allocated/freed stack segments with 0xFADFADEDshare/runtime/globals.hpp
ZapUnusedHeapAreaJDK6boolruntimetrueInDebugdevelopZap unused heap space with 0xBAADBABEshare/runtime/globals.hpp
ZapVMHandleAreaJDK6boolruntimetrueInDebugnotproductZap freed VM handle space with 0xBCBCBCBCshare/runtime/globals.hpp
ZeroTLABJDK6boolgcfalseproductZero out the newly created TLABshare/gc/shared/gc_globals.hpp
ZombieALotIntervalJDK6intxruntime5notproductNumber of exits until ZombieALot kicks inshare/runtime/globals.hpp
ZombieALotJDK6boolruntimefalsenotproductCreate zombies (non-entrant) at exit from the runtime systemshare/runtime/globals.hpp
hashCodeJDK6intxruntime5experimental(Unstable) select hashCode generation algorithmshare/runtime/globals.hpp