https://chriswhocodes.com/vm-options-explorer.html Byte-Me FullJEP JEPMap JEPSearch hsdis JITWatch JaCoLine VM Options Explorer VM Intrinsics Explorer GC Explorer Optimizing Java Thank You! VM Options Explorer - OpenJDK11 HotSpot OpenJDK HotSpot Options added/removed between JDKs OpenJDK options also hosted on foojay.io 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Alibaba Dragonwell 8 11 17 21 25 Magnifying Magnifying Magnifying Magnifying Magnifying glass glass glass glass glass Amazon Corretto 8 11 17 19 20 21 22 24 25 26 Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying glass glass glass glass glass glass glass glass glass glass Azul Systems Zulu 8 11 13 15 16 17 18 19 20 21 22 24 25 26 Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying glass glass glass glass glass glass glass glass glass glass glass glass glass glass BellSoft Liberica 8 11 17 18 19 20 21 22 25 26 Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying glass glass glass glass glass glass glass glass glass glass Eclipse Temurin 8 11 17 18 19 20 21 22 25 Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying glass glass glass glass glass glass glass glass glass GraalVM 22.3.1 11 17 19 CE EE CE EE CE EE EE-only EE-only EE-only GraalVM native-image 22.3.1 11 17 19 CE EE CE EE CE EE EE-only EE-only EE-only JDK-based GraalVM 17 21 22 24 25 JDK Native JDK Native JDK Native JDK Native JDK Native JetBrains Runtime 11 17 21 Magnifying glass Magnifying glass Magnifying glass Microsoft 11 16 17 21 25 Magnifying Magnifying Magnifying Magnifying Magnifying glass glass glass glass glass OpenJ9 OpenJ9 Oracle 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying Magnifying glass glass glass glass glass glass glass glass glass glass glass glass glass glass glass glass glass glass glass glass glass SAP SapMachine 11 17 19 20 21 Magnifying Magnifying Magnifying Magnifying Magnifying glass glass glass glass glass --------------------------------------------------------------------- Name Since Deprecated Type OS CPU Component Default Availability Description Defined in Since Deprecated Type OS CPU Component Availability AOTLibrary OpenJDK9 ccstrlist runtime NULL experimental AOT library share/runtime/globals.hpp Minimum array size in bytes to use AVX512 intrinsics AVX3Threshold OpenJDK11 int x86 4096 diagnostic for copy, inflate and fill. When this value is set as zero cpu/x86/globals_x86.hpp range(0, max_jint) compare operations can also use AVX512 intrinsics. AbortVMOnCompilationFailure OpenJDK11 bool runtime false diagnostic Abort VM when method had failed to compile. share/runtime/globals.hpp Call fatal if the exception pointed by AbortVMOnException AbortVMOnExceptionMessage OpenJDK6 ccstr runtime NULL diagnostic has this message share/runtime/globals.hpp Call fatal if this exception is thrown. Example: AbortVMOnException OpenJDK6 ccstr runtime NULL diagnostic java -XX:AbortVMOnException=java.lang.NullPointerException Foo share/runtime/globals.hpp AbortVMOnSafepointTimeout OpenJDK11 bool runtime false diagnostic Abort upon failure to reach safepoint (see SafepointTimeout) share/runtime/globals.hpp AbortVMOnVMOperationTimeoutDelay OpenJDK11 intx runtime 1000 diagnostic Delay in milliseconds for option AbortVMOnVMOperationTimeout share/runtime/globals.hpp range(0, max_intx) AbortVMOnVMOperationTimeout OpenJDK11 bool runtime false diagnostic Abort upon failure to complete VM operation promptly share/runtime/globals.hpp ActiveProcessorCount OpenJDK10 int gc -1 product Specify the CPU count the VM should use and report as active share/gc/shared/ gc_globals.hpp AdaptiveSizeDecrementScaleFactor OpenJDK6 uintx gc 4 product Adaptive size scale down factor for shrinking share/gc/shared/ range(1, max_uintx) gc_globals.hpp Obsoleted AdaptiveSizeMajorGCDecayTimeScale OpenJDK6 in JDK26 uintx gc 10 product Time scale over which major costs decay share/gc/shared/ Expired in range(0, max_uintx) gc_globals.hpp JDK27 Obsoleted If collection costs are within margin, reduce both by full AdaptiveSizePolicyCollectionCostMargin OpenJDK6 in JDK23 uintx gc 50 product delta share/gc/shared/ Expired in range(0, 100) gc_globals.hpp JDK24 AdaptiveSizePolicyGCTimeLimitThreshold OpenJDK6 uintx gc 5 develop Number of consecutive collections before gc time limit fires share/gc/shared/ range(1, max_uintx) gc_globals.hpp Obsoleted AdaptiveSizePolicyInitializingSteps OpenJDK6 in JDK26 uintx gc 20 product Number of steps where heuristics is used before data is used share/gc/shared/ Expired in range(0, max_uintx) gc_globals.hpp JDK27 Obsoleted AdaptiveSizePolicyOutputInterval OpenJDK6 in JDK26 uintx gc 0 product Collection interval for printing information; zero means never share/gc/shared/ Expired in range(0, max_uintx) gc_globals.hpp JDK27 AdaptiveSizePolicyReadyThreshold OpenJDK6 uintx gc 5 develop Number of collections before the adaptive sizing is started share/gc/shared/ gc_globals.hpp AdaptiveSizePolicyWeight OpenJDK6 uintx gc 10 product Weight given to exponential resizing, between 0 and 100 share/gc/shared/ range(0, 100) gc_globals.hpp Obsoleted AdaptiveSizeThroughPutPolicy OpenJDK6 in JDK26 uintx gc 0 product Policy for changing generation size for throughput goals share/gc/shared/ Expired in range(0, 1) gc_globals.hpp JDK27 Obsoleted AdaptiveTimeWeight OpenJDK6 in JDK26 uintx gc 25 product Weight given to time in adaptive policy, between 0 and 100 share/gc/shared/ Expired in range(0, 100) gc_globals.hpp JDK27 Deprecated in JDK26 AggressiveHeap OpenJDK10 Obsoleted bool gc false product Optimize heap options for long-running memory intensive apps share/gc/shared/ in JDK27 gc_globals.hpp Expired in JDK28 Deprecated in JDK11 AggressiveOpts OpenJDK6 Obsoleted bool runtime false product (Deprecated) Enable aggressive optimizations - see arguments.cpp share/runtime/globals.hpp in JDK12 Expired in JDK13 AggressiveUnboxing OpenJDK8 bool c2 false experimental Control optimizations for aggressive boxing elimination share/opto/c2_globals.hpp Deprecated in JDK19 0 for no aliasing, 1 for oop/field/static/array split, AliasLevel OpenJDK6 Obsoleted intx c2 3 product share/opto/c2_globals.hpp in JDK20 range(0, 3) 2 for class split, 3 for unique instances Expired in JDK21 AlignVector OpenJDK7 bool c2 true product Perform vector store/load alignment in loop share/opto/c2_globals.hpp Path to the directoy where a temporary file will be created AllocateHeapAt OpenJDK10 ccstr runtime NULL product to use as the backing store for Java Heap. share/runtime/globals.hpp 1 Number of lines to prefetch ahead of instance allocation AllocateInstancePrefetchLines OpenJDK6 intx runtime range(1, 64) product pointer share/runtime/globals.hpp Distance to prefetch ahead of allocation pointer. AllocatePrefetchDistance OpenJDK6 intx runtime -1 product -1: use system-specific value (automatically determined share/runtime/globals.hpp AllocatePrefetchInstr OpenJDK6 intx runtime 0 product Select instruction to prefetch ahead of allocation pointer share/runtime/globals.hpp AllocatePrefetchLines OpenJDK6 intx runtime 3 product Number of lines to prefetch ahead of array allocation pointer share/runtime/globals.hpp range(1, 64) AllocatePrefetchStepSize OpenJDK6 intx runtime 16 product Step size in bytes of sequential prefetch instructions share/runtime/globals.hpp range(1, 512) 0 = no prefetch, 1 = generate prefetch instructions for each allocation, AllocatePrefetchStyle OpenJDK6 intx runtime 1 product share/runtime/globals.hpp range(0, 3) 2 = use TLAB watermark to gate allocation prefetch, 3 = generate one prefetch instruction per cache line AllowExtshm OpenJDK9 bool aix false product Allow VM to run with EXTSHM=ON. os/aix/globals_aix.hpp Deprecated in JDK13 AllowJNIEnvProxy OpenJDK6 Obsoleted bool runtime false product Allow JNIEnv proxies for jdbx share/runtime/globals.hpp in JDK14 Expired in JDK15 Deprecated in JDK11 AllowNonVirtualCalls OpenJDK6 Obsoleted bool runtime false product Obey the ACC_SUPER flag and allow invokenonvirtual calls share/runtime/globals.hpp in JDK12 Expired in JDK13 Allow parallel defineClass requests for class loaders AllowParallelDefineClass OpenJDK6 bool runtime false product registering as parallel capable share/runtime/globals.hpp Do not complain if the application installs signal handlers AllowUserSignalHandlers OpenJDK6 bool runtime false product (Solaris & Linux only) share/runtime/globals.hpp AllowVectorizeOnDemand OpenJDK9 bool c2 true product Globally supress vectorization set in VectorizeMethod share/opto/c2_globals.hpp Deprecated in JDK26 AlwaysActAsServerClassMachine OpenJDK6 Obsoleted bool gc false product Always act like a server-class machine share/gc/shared/ in JDK27 gc_globals.hpp Expired in JDK28 AlwaysAtomicAccesses OpenJDK9 bool runtime false experimental Accesses to all variables should always be atomic share/runtime/globals.hpp When using recompilation, never interpret methods AlwaysCompileLoopMethods OpenJDK6 bool runtime false product containing loops share/runtime/globals.hpp AlwaysIncrementalInline OpenJDK7 bool c2 false develop do all inlining incrementally share/opto/c2_globals.hpp Deprecated in JDK17 Require the VM to acquire the class loader lock before calling AlwaysLockClassLoader OpenJDK6 Obsoleted bool runtime false product loadClass() even for class loaders registering share/runtime/globals.hpp in JDK18 as parallel capable Expired in JDK19 AlwaysPreTouch OpenJDK6 bool gc false product Force all freshly committed pages to be pre-touched share/gc/shared/ gc_globals.hpp AlwaysRestoreFPU OpenJDK6 bool runtime false product Restore the FPU control word after every JNI call (expensive) share/runtime/globals.hpp AlwaysSafeConstructors OpenJDK9 bool runtime false experimental Force safe construction, as if all fields are final. share/runtime/globals.hpp AlwaysTenure OpenJDK6 bool gc false product Always tenure objects in eden (ParallelGC only) share/gc/shared/ gc_globals.hpp SOLARIS_ONLY(64*K) NOT_SOLARIS((size_t) Allocation less than this value will be allocated ArrayAllocatorMallocLimit OpenJDK7 size_t runtime -1) experimental using malloc. Larger allocations will use mmap. share/runtime/globals.hpp 8 Maximum number of arraycopy elements inlined as a sequence of ArrayCopyLoadStoreMaxElem OpenJDK9 intx c2 range(0, max_intx) product loads/stores share/opto/c2_globals.hpp ArraycopyDstPrefetchDistance OpenJDK6 uintx sparc 0 product Distance to prefetch destination array in arraycopy cpu/sparc/globals_sparc.hpp ArraycopySrcPrefetchDistance OpenJDK6 uintx sparc 0 product Distance to prefetch source array in arraycopy cpu/sparc/globals_sparc.hpp Obsoleted AssertOnSuspendWaitFailure OpenJDK6 in JDK17 bool runtime false product Assert/Guarantee on external suspend wait failure share/runtime/globals.hpp Expired in JDK18 AssertRangeCheckElimination OpenJDK8 bool c1 false develop Assert Range Check Elimination share/c1/c1_globals.hpp Deprecated in JDK10 AssumeMP OpenJDK8 Obsoleted bool runtime true product (Deprecated) Instruct the VM to assume multiple processors are available share/runtime/globals.hpp in JDK12 Expired in JDK13 AutoBoxCacheMax OpenJDK6 intx c2 128 product Sets max value cached by the java.lang.Integer autobox cache share/opto/c2_globals.hpp range(0, max_jint) AvoidUnalignedAccesses OpenJDK9 bool aarch64 false product Avoid generating unaligned memory accesses cpu/aarch64/ globals_aarch64.hpp 0 How much tracing to do of bytecode escape analysis estimates BCEATraceLevel OpenJDK6 intx runtime range(0, 3) product (0-3) share/runtime/globals.hpp BackgroundCompilation OpenJDK6 bool aarch64 true define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp BackgroundCompilation OpenJDK6 bool arm true define_pd_global cpu/arm/c1_globals_arm.hpp A thread requesting compilation is not blocked during BackgroundCompilation OpenJDK6 bool runtime product_pd compilation share/runtime/globals.hpp BackgroundCompilation OpenJDK6 bool ppc true define_pd_global cpu/ppc/c2_globals_ppc.hpp BackgroundCompilation OpenJDK6 bool s390 true define_pd_global cpu/s390/ c1_globals_s390.hpp BackgroundCompilation OpenJDK6 bool sparc true define_pd_global cpu/sparc/ c2_globals_sparc.hpp BackgroundCompilation OpenJDK6 bool x86 true define_pd_global cpu/x86/c1_globals_x86.hpp BailoutAfterHIR OpenJDK6 bool c1 false develop bailout of compilation after building of HIR share/c1/c1_globals.hpp BailoutAfterLIR OpenJDK6 bool c1 false develop bailout of compilation after building of LIR share/c1/c1_globals.hpp BailoutOnExceptionHandlers OpenJDK6 bool c1 false develop bailout of compilation for methods with exception handlers share/c1/c1_globals.hpp Compiled methods which throws/catches exceptions will be BailoutToInterpreterForThrows OpenJDK6 bool c2 false develop deopt and intp. share/opto/c2_globals.hpp Obsoleted BaseFootPrintEstimate OpenJDK6 in JDK24 size_t gc 256*M product Estimate of footprint other than Java Heap share/gc/shared/ Expired in range(0, max_uintx) gc_globals.hpp JDK25 BciProfileWidth OpenJDK6 intx runtime 2 develop Number of return bci's to record in ret profile share/runtime/globals.hpp Deprecated in JDK15 Threshold of number of revocations per type to try to BiasedLockingBulkRebiasThreshold OpenJDK6 Obsoleted intx runtime 20 product rebias all objects in the heap of that type share/runtime/globals.hpp in JDK18 range(0, max_intx) Expired in JDK19 Deprecated in JDK15 Threshold of number of revocations per type to permanently BiasedLockingBulkRevokeThreshold OpenJDK6 Obsoleted intx runtime 40 product revoke biases of all objects in the heap of that type share/runtime/globals.hpp in JDK18 range(0, max_intx) Expired in JDK19 Deprecated in JDK15 Decay time (in milliseconds) to re-enable bulk rebiasing of a BiasedLockingDecayTime OpenJDK6 Obsoleted intx runtime 25000 product type after previous bulk rebias share/runtime/globals.hpp in JDK18 range(500, max_intx) Expired in JDK19 Deprecated in JDK15 0 BiasedLockingStartupDelay OpenJDK6 Obsoleted intx runtime range(0, (intx)(max_jint- product Number of milliseconds to wait before enabling biased locking share/runtime/globals.hpp in JDK18 (max_jint%PeriodicTask::interval_gran))) Expired in JDK19 Minimal number of lookupswitch entries for rewriting to binary BinarySwitchThreshold OpenJDK6 intx runtime 5 develop switch share/runtime/globals.hpp BindCMSThreadToCPU OpenJDK6 bool gc false diagnostic Bind CMS Thread to CPU if possible share/gc/cms/ cms_globals.hpp Obsoleted BindGCTaskThreadsToCPUs OpenJDK6 in JDK14 bool gc false product Bind GCTaskThreads to CPUs if possible share/gc/shared/ Expired in gc_globals.hpp JDK16 BlockCopyLowLimit OpenJDK6 intx sparc 2048 product Minimum size in bytes when block copy will be used cpu/sparc/globals_sparc.hpp range(1, max_jint) BlockLayoutByFrequency OpenJDK6 bool c2 true product Use edge frequencies to drive block ordering share/opto/c2_globals.hpp 20 Miniumum %% of a successor (predecessor) for which block BlockLayoutMinDiamondPercentage OpenJDK6 intx c2 range(0, 100) product layout a will allow a fork (join) in a single chain share/opto/c2_globals.hpp BlockLayoutRotateLoops OpenJDK6 bool c2 true product Allow back branches to be fall throughs in the block layout share/opto/c2_globals.hpp Maintain _unallocated_block in BlockOffsetArray share/gc/shared/ BlockOffsetArrayUseUnallocatedBlock OpenJDK6 bool gc false diagnostic (currently applicable only to CMS collector) gc_globals.hpp BlockZeroingLowLimit OpenJDK6 intx aarch64 256 product Minimum size in bytes when block zeroing will be used cpu/aarch64/ range(1, max_jint) globals_aarch64.hpp BlockZeroingLowLimit OpenJDK6 intx sparc 2048 product Minimum size in bytes when block zeroing will be used cpu/sparc/globals_sparc.hpp range(1, max_jint) BootstrapJVMCI OpenJDK9 bool jvmci false experimental Bootstrap JVMCI before running Java main method share/jvmci/ jvmci_globals.hpp Obsoleted BranchOnRegister OpenJDK6 in JDK15 bool c2 false product Use Sparc V9 branch-on-register opcodes share/opto/c2_globals.hpp Expired in JDK16 BreakAtNode OpenJDK6 intx c2 0 notproduct Break at construction of this Node (either _idx or _debug_idx) share/opto/c2_globals.hpp BreakAtWarning OpenJDK6 bool runtime false develop Execute breakpoint upon encountering VM warning share/runtime/globals.hpp BytecodeVerificationLocal OpenJDK6 bool runtime false product Enable the Java bytecode verifier for local classes share/runtime/globals.hpp BytecodeVerificationRemote OpenJDK6 bool runtime true product Enable the Java bytecode verifier for remote classes share/runtime/globals.hpp C1Breakpoint OpenJDK6 bool c1 false develop Sets a breakpoint at entry of each compiled method share/c1/c1_globals.hpp C1OptimizeVirtualCallProfiling OpenJDK6 bool c1 true product Use CHA and exact type results at call sites when updating MDOs share/c1/c1_globals.hpp C1ProfileBranches OpenJDK6 bool c1 true product Profile branches when generating code for updating MDOs share/c1/c1_globals.hpp C1ProfileCalls OpenJDK6 bool c1 true product Profile calls when generating code for updating MDOs share/c1/c1_globals.hpp C1ProfileCheckcasts OpenJDK6 bool c1 true product Profile checkcasts when generating code for updating MDOs share/c1/c1_globals.hpp C1ProfileInlinedCalls OpenJDK6 bool c1 true product Profile inlined calls when generating code for updating MDOs share/c1/c1_globals.hpp C1ProfileVirtualCalls OpenJDK6 bool c1 true product Profile virtual calls when generating code for updating MDOs share/c1/c1_globals.hpp C1UpdateMethodData OpenJDK6 bool c1 trueInTiered product Update MethodData*s in Tier1-generated code share/c1/c1_globals.hpp CIBreakAtOSR OpenJDK6 intx runtime -1 develop The id of osr compilation to break at share/runtime/globals.hpp CIBreakAt OpenJDK6 intx runtime -1 develop The id of compilation to break at share/runtime/globals.hpp CICompileNatives OpenJDK6 bool runtime true develop compile native methods if supported by the compiler share/runtime/globals.hpp CICompileOSR OpenJDK6 bool aarch64 true define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp CICompileOSR OpenJDK6 bool arm true define_pd_global cpu/arm/c1_globals_arm.hpp compile on stack replacement methods if supported by the CICompileOSR OpenJDK6 bool runtime develop_pd compiler share/runtime/globals.hpp CICompileOSR OpenJDK6 bool ppc true define_pd_global cpu/ppc/c2_globals_ppc.hpp CICompileOSR OpenJDK6 bool s390 true define_pd_global cpu/s390/ c1_globals_s390.hpp CICompileOSR OpenJDK6 bool sparc true define_pd_global cpu/sparc/ c2_globals_sparc.hpp CICompileOSR OpenJDK6 bool x86 true define_pd_global cpu/x86/c1_globals_x86.hpp CICompilerCountPerCPU OpenJDK6 bool runtime false product 1 compiler thread for log(N CPUs) share/runtime/globals.hpp CICompilerCount OpenJDK6 intx runtime CI_COMPILER_COUNT product Number of compiler threads to run share/runtime/globals.hpp range(0, max_jint) CICountOSR OpenJDK6 bool runtime false develop use a separate counter when assigning ids to osr compilations share/runtime/globals.hpp id of compilation to trigger assert in compiler thread for CICrashAt OpenJDK8 intx runtime -1 notproduct the purpose of testing, e.g. generation of replay data share/runtime/globals.hpp Fire OutOfMemoryErrors throughout CI for testing the compiler CIFireOOMAt OpenJDK6 intx runtime -1 develop (non-negative value throws OOM after this many CI accesses share/runtime/globals.hpp in each compile) CIObjectFactoryVerify OpenJDK6 bool runtime false notproduct enable potentially expensive verification in ciObjectFactory share/runtime/globals.hpp display the contents of the compile queue whenever a CIPrintCompileQueue OpenJDK6 bool runtime false diagnostic compilation is enqueued share/runtime/globals.hpp CIPrintCompilerName OpenJDK6 bool runtime false develop when CIPrint is active, print the name of the active compiler share/runtime/globals.hpp CIPrintMethodCodes OpenJDK6 bool runtime false develop print method bytecodes of the compiled code share/runtime/globals.hpp CIPrintRequests OpenJDK6 bool runtime false develop display every request for compilation share/runtime/globals.hpp CIPrintTypeFlow OpenJDK6 bool runtime false develop print the results of ciTypeFlow analysis share/runtime/globals.hpp The id of the first osr compilation to permit CIStartOSR OpenJDK6 intx runtime 0 develop (CICountOSR must be on) share/runtime/globals.hpp CIStart OpenJDK6 intx runtime 0 develop The id of the first compilation to permit share/runtime/globals.hpp The id of the last osr compilation to permit CIStopOSR OpenJDK6 intx runtime max_jint develop (CICountOSR must be on) share/runtime/globals.hpp CIStop OpenJDK6 intx runtime max_jint develop The id of the last compilation to permit share/runtime/globals.hpp CITimeEach OpenJDK6 bool runtime false develop display timing information after each successful compilation share/runtime/globals.hpp CITimeVerbose OpenJDK9 bool runtime false develop be more verbose in compilation timings share/runtime/globals.hpp CITime OpenJDK6 bool runtime false product collect timing information for compilation share/runtime/globals.hpp CITraceTypeFlow OpenJDK6 bool runtime false develop detailed per-bytecode tracing of ciTypeFlow analysis share/runtime/globals.hpp Obsoleted CMSAbortSemantics OpenJDK6 in JDK14 bool gc false product Whether abort-on-overflow semantics is implemented share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted CMSAbortablePrecleanMinWorkPerIteration OpenJDK6 in JDK14 uintx gc 100 product Nominal minimum work per abortable preclean iteration share/gc/cms/ Expired in range(0, max_uintx) cms_globals.hpp JDK15 100 Time that we sleep between iterations when not given share/gc/cms/ CMSAbortablePrecleanWaitMillis OpenJDK6 intx gc range(0, max_intx) manageable enough work per iteration cms_globals.hpp Obsoleted Bitmap operations should process at most this many bits CMSBitMapYieldQuantum OpenJDK6 in JDK14 size_t gc 10*M product between yields share/gc/cms/ Expired in range(1, max_uintx) cms_globals.hpp JDK15 Obsoleted Percentage CMS generation occupancy at which to CMSBootstrapOccupancy OpenJDK6 in JDK14 uintx gc 50 product initiate CMS collection for bootstrapping collection stats share/gc/cms/ Expired in range(0, 100) cms_globals.hpp JDK15 Interval in milliseconds that CMS thread checks if it share/gc/cms/ CMSCheckInterval OpenJDK8 uintx gc 1000 develop should start a collection cycle cms_globals.hpp Obsoleted CMSClassUnloadingEnabled OpenJDK6 in JDK14 bool gc true product Whether class unloading enabled when using CMS GC share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted When CMS class unloading is enabled, the maximum CMS cycle CMSClassUnloadingMaxInterval OpenJDK6 in JDK14 uintx gc 0 product count for which classes may not be unloaded share/gc/cms/ Expired in range(0, max_uintx) cms_globals.hpp JDK15 Obsoleted CMSCleanOnEnter OpenJDK6 in JDK14 bool gc true product Clean-on-enter optimization for reducing number of dirty cards share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted CMSConcMarkMultiple OpenJDK6 in JDK14 size_t gc 32 product Size (in cards) of CMS concurrent MT marking task share/gc/cms/ Expired in range(1, SIZE_MAX / 4096) cms_globals.hpp JDK15 Obsoleted Whether multi-threaded concurrent work enabled CMSConcurrentMTEnabled OpenJDK6 in JDK14 bool gc true product (effective only if ParNewGC) share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted Number of times the coordinator GC thread will sleep while CMSCoordinatorYieldSleepCount OpenJDK6 in JDK14 uintx gc 10 product yielding before giving up and resuming GC share/gc/cms/ Expired in range(0, max_juint) cms_globals.hpp JDK15 Obsoleted Always record eden chunks used for the parallel initial mark CMSEdenChunksRecordAlways OpenJDK7 in JDK14 bool gc true product or remark of eden share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted Percentage (0-100) used to weight the current sample when CMSExpAvgFactor OpenJDK6 in JDK14 uintx gc 50 product computing exponential averages for CMS statistics share/gc/cms/ Expired in range(0, 100) cms_globals.hpp JDK15 Obsoleted CMSExtrapolateSweep OpenJDK6 in JDK14 bool gc false product CMS: cushion for block demand during sweep share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted Percentage (0-100) used to add conservatism when computing the CMSIncrementalSafetyFactor OpenJDK6 in JDK14 uintx gc 10 product duty cycle share/gc/cms/ Expired in range(0, 100) cms_globals.hpp JDK15 Obsoleted CMSIndexedFreeListReplenish OpenJDK6 in JDK14 uintx gc 4 product Replenish an indexed free list with this number of chunks share/gc/cms/ Expired in range(1, max_uintx) cms_globals.hpp JDK15 Obsoleted Percentage CMS generation occupancy to start a CMS collection CMSInitiatingOccupancyFraction OpenJDK6 in JDK14 intx gc -1 product cycle. A negative value means that CMSTriggerRatio is used share/gc/cms/ Expired in range(min_intx, 100) cms_globals.hpp JDK15 Obsoleted An absolute ceiling above which CMS will always consider the CMSIsTooFullPercentage OpenJDK6 in JDK14 uintx gc 98 product unloading of classes when class unloading is enabled share/gc/cms/ Expired in range(0, 100) cms_globals.hpp JDK15 Obsoleted CMS: the factor by which to inflate estimated demand of large CMSLargeCoalSurplusPercent OpenJDK6 in JDK14 double gc 0.95 product block sizes to prevent coalescing with an adjoining block share/gc/cms/ Expired in range(0.0, DBL_MAX) cms_globals.hpp JDK15 Obsoleted CMS: the factor by which to inflate estimated demand of large CMSLargeSplitSurplusPercent OpenJDK6 in JDK14 double gc 1.00 product block sizes to prevent splitting to supply demand for smaller share/gc/cms/ Expired in range(0.0, DBL_MAX) blocks cms_globals.hpp JDK15 Obsoleted CMSLoopWarn OpenJDK6 in JDK14 bool gc false product Warn in case of excessive CMS looping share/gc/cms/ Expired in cms_globals.hpp JDK15 CMSMarkStackOverflowALot OpenJDK6 bool gc false notproduct Simulate frequent marking stack / work queue overflow share/gc/cms/ cms_globals.hpp An 'interval' counter that determines how frequently share/gc/cms/ CMSMarkStackOverflowInterval OpenJDK6 uintx gc 1000 notproduct to simulate overflow; a smaller number increases frequency cms_globals.hpp Obsoleted CMSMaxAbortablePrecleanLoops OpenJDK6 in JDK14 uintx gc 0 product Maximum number of abortable preclean iterations, if > 0 share/gc/cms/ Expired in range(0, max_uintx) cms_globals.hpp JDK15 Obsoleted CMSMaxAbortablePrecleanTime OpenJDK6 in JDK14 intx gc 5000 product Maximum time in abortable preclean (in milliseconds) share/gc/cms/ Expired in range(0, max_intx) cms_globals.hpp JDK15 Obsoleted Maximum size of CMS gen promotion LAB caches per worker CMSOldPLABMax OpenJDK6 in JDK14 size_t gc 1024 product per block size share/gc/cms/ Expired in range(1, max_uintx) cms_globals.hpp JDK15 Obsoleted Minimum size of CMS gen promotion LAB caches per worker CMSOldPLABMin OpenJDK6 in JDK14 size_t gc 16 product per block size share/gc/cms/ Expired in range(1, max_uintx) cms_globals.hpp JDK15 Obsoleted Nominal number of refills of CMS gen promotion LAB cache CMSOldPLABNumRefills OpenJDK6 in JDK14 uintx gc 4 product per worker per block size share/gc/cms/ Expired in range(1, max_uintx) cms_globals.hpp JDK15 Obsoleted The gain in the feedback loop for on-the-fly PLAB resizing CMSOldPLABReactivityFactor OpenJDK6 in JDK14 uintx gc 2 product during a scavenge share/gc/cms/ Expired in range(1, max_uintx) cms_globals.hpp JDK15 Obsoleted React on-the-fly during a scavenge to a sudden CMSOldPLABResizeQuicker OpenJDK6 in JDK14 bool gc false product change in block demand rate share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted The tolerance of the phase-change detector for on-the-fly CMSOldPLABToleranceFactor OpenJDK6 in JDK14 uintx gc 4 product PLAB resizing during a scavenge share/gc/cms/ Expired in range(1, max_uintx) cms_globals.hpp JDK15 Obsoleted Always record survivor space PLAB boundaries (effective only CMSPLABRecordAlways OpenJDK6 in JDK14 bool gc true product if CMSParallelSurvivorRemarkEnabled) share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted CMSParallelInitialMarkEnabled OpenJDK7 in JDK14 bool gc true product Use the parallel initial mark. share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted CMSParallelRemarkEnabled OpenJDK6 in JDK14 bool gc true product Whether parallel remark enabled (only if ParNewGC) share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted Whether parallel remark of survivor space CMSParallelSurvivorRemarkEnabled OpenJDK6 in JDK14 bool gc true product enabled (effective only if CMSParallelRemarkEnabled) share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence CMSPrecleanDenominator OpenJDK6 in JDK14 uintx gc 3 product ratio share/gc/cms/ Expired in range(1, max_uintx) cms_globals.hpp JDK15 Obsoleted CMSPrecleanIter OpenJDK6 in JDK14 uintx gc 3 product Maximum number of precleaning iteration passes share/gc/cms/ Expired in range(0, 9) cms_globals.hpp JDK15 Obsoleted CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence CMSPrecleanNumerator OpenJDK6 in JDK14 uintx gc 2 product ratio share/gc/cms/ Expired in range(0, max_uintx-1) cms_globals.hpp JDK15 Obsoleted CMSPrecleanRefLists1 OpenJDK6 in JDK14 bool gc true product Preclean ref lists during (initial) preclean phase share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted CMSPrecleanRefLists2 OpenJDK6 in JDK14 bool gc false product Preclean ref lists during abortable preclean phase share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted CMSPrecleanSurvivors1 OpenJDK6 in JDK14 bool gc false product Preclean survivors during (initial) preclean phase share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted CMSPrecleanSurvivors2 OpenJDK6 in JDK14 bool gc true product Preclean survivors during abortable preclean phase share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted CMSPrecleanThreshold OpenJDK6 in JDK14 uintx gc 1000 product Do not iterate again if number of dirty cards is less than this share/gc/cms/ Expired in range(100, max_uintx) cms_globals.hpp JDK15 Obsoleted CMSPrecleaningEnabled OpenJDK6 in JDK14 bool gc true product Whether concurrent precleaning enabled share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted If logging for the 'gc' and 'promotion' tags is enabled on CMSPrintChunksInDump OpenJDK6 in JDK14 bool gc false product trace level include more detailed information about the share/gc/cms/ Expired in free chunks cms_globals.hpp JDK15 Obsoleted If logging for the 'gc' and 'promotion' tags is enabled on CMSPrintObjectsInDump OpenJDK6 in JDK14 bool gc false product trace level include more detailed information about the share/gc/cms/ Expired in allocated objects cms_globals.hpp JDK15 Obsoleted CMSRemarkVerifyVariant OpenJDK6 in JDK14 uintx gc 1 product Choose variant (1,2) of verification following remark share/gc/cms/ Expired in range(1, 2) cms_globals.hpp JDK15 Obsoleted CMSReplenishIntermediate OpenJDK6 in JDK14 bool gc true product Replenish all intermediate free-list caches share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted CMSRescanMultiple OpenJDK6 in JDK14 size_t gc 32 product Size (in cards) of CMS parallel rescan task share/gc/cms/ Expired in range(1, SIZE_MAX / 4096) cms_globals.hpp JDK15 Obsoleted CMSSamplingGrain OpenJDK6 in JDK14 uintx gc 16*K product The minimum distance between eden samples for CMS (see above) share/gc/cms/ Expired in range(ObjectAlignmentInBytes, max_uintx) cms_globals.hpp JDK15 Obsoleted CMSScavengeBeforeRemark OpenJDK6 in JDK14 bool gc false product Attempt scavenge before the CMS remark step share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted The Eden occupancy percentage (0-100) at which CMSScheduleRemarkEdenPenetration OpenJDK6 in JDK14 uintx gc 50 product to try and schedule remark pause share/gc/cms/ Expired in range(0, 100) cms_globals.hpp JDK15 Obsoleted CMSScheduleRemarkEdenSizeThreshold OpenJDK6 in JDK14 size_t gc 2*M product If Eden size is below this, do not try to schedule remark share/gc/cms/ Expired in range(0, max_uintx) cms_globals.hpp JDK15 Obsoleted Start sampling eden top at least before young gen CMSScheduleRemarkSamplingRatio OpenJDK6 in JDK14 uintx gc 5 product occupancy reaches 1/ of the size at which share/gc/cms/ Expired in range(1, max_uintx) we plan to schedule remark cms_globals.hpp JDK15 Obsoleted CMS: the factor by which to inflate estimated demand of small CMSSmallCoalSurplusPercent OpenJDK6 in JDK14 double gc 1.05 product block sizes to prevent coalescing with an adjoining block share/gc/cms/ Expired in range(0.0, DBL_MAX) cms_globals.hpp JDK15 Obsoleted CMS: the factor by which to inflate estimated demand of small CMSSmallSplitSurplusPercent OpenJDK6 in JDK14 double gc 1.10 product block sizes to prevent splitting to supply demand for smaller share/gc/cms/ Expired in range(0.0, DBL_MAX) blocks cms_globals.hpp JDK15 Obsoleted When satisfying batched demand, split blocks from the CMSSplitIndexedFreeListBlocks OpenJDK6 in JDK14 bool gc true product IndexedFreeList whose size is a multiple of requested size share/gc/cms/ Expired in cms_globals.hpp JDK15 Check if the coalesced range is already in the share/gc/cms/ CMSTestInFreeList OpenJDK6 bool gc false develop free lists as claimed cms_globals.hpp -1 Commence a CMS collection cycle (at least) every so many share/gc/cms/ CMSTriggerInterval OpenJDK8 intx gc range(-1, max_intx) manageable milliseconds (0 permanently, -1 disabled) cms_globals.hpp Obsoleted Percentage of MinHeapFreeRatio in CMS generation that is CMSTriggerRatio OpenJDK6 in JDK14 uintx gc 80 product allocated before a CMS collection cycle commences share/gc/cms/ Expired in range(0, 100) cms_globals.hpp JDK15 Check that all the garbage collected was returned to the share/gc/cms/ CMSVerifyReturnedBytes OpenJDK6 bool gc false notproduct free lists cms_globals.hpp CMSWaitDuration OpenJDK6 intx gc 2000 manageable Time in milliseconds that CMS thread waits for young GC share/gc/cms/ range(min_jint, max_jint) cms_globals.hpp Obsoleted CMSWorkQueueDrainThreshold OpenJDK6 in JDK14 uintx gc 10 product Don't drain below this size per parallel worker/thief share/gc/cms/ Expired in range(1, max_juint) cms_globals.hpp JDK15 Obsoleted Number of times a GC thread (minus the coordinator) CMSYieldSleepCount OpenJDK6 in JDK14 uintx gc 0 product will sleep while yielding before giving up and resuming GC share/gc/cms/ Expired in range(0, max_juint) cms_globals.hpp JDK15 Obsoleted CMSYield OpenJDK6 in JDK14 bool gc true product Yield between steps of CMS share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted CMSYoungGenPerWorker OpenJDK6 in JDK14 uintx aarch64 64*M define_pd_global // default max size of CMS young gen, per GC worker thread cpu/aarch64/ Expired in globals_aarch64.hpp JDK15 Obsoleted CMSYoungGenPerWorker OpenJDK6 in JDK14 size_t arm 16*M define_pd_global // default max size of CMS young gen, per GC worker thread cpu/arm/globals_arm.hpp Expired in JDK15 Obsoleted The maximum size of young gen chosen by default per GC worker CMSYoungGenPerWorker OpenJDK6 in JDK14 size_t gc product_pd thread available share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted CMSYoungGenPerWorker OpenJDK6 in JDK14 size_t ppc 16*M define_pd_global // Default max size of CMS young gen, per GC worker thread. cpu/ppc/globals_ppc.hpp Expired in JDK15 Obsoleted CMSYoungGenPerWorker OpenJDK6 in JDK14 size_t s390 16*M define_pd_global // Default max size of CMS young gen, per GC worker thread. cpu/s390/globals_s390.hpp Expired in JDK15 Obsoleted CMSYoungGenPerWorker OpenJDK6 in JDK14 size_t sparc 16*M define_pd_global // default max size of CMS young gen, per GC worker thread cpu/sparc/globals_sparc.hpp Expired in JDK15 Obsoleted CMSYoungGenPerWorker OpenJDK6 in JDK14 size_t x86 64*M define_pd_global // default max size of CMS young gen, per GC worker thread cpu/x86/globals_x86.hpp Expired in JDK15 Obsoleted CMSYoungGenPerWorker OpenJDK6 in JDK14 size_t zero 16*M define_pd_global // default max size of CMS young gen, per GC worker thread cpu/zero/globals_zero.hpp Expired in JDK15 Obsoleted The multiple of deviation from mean to use for buffering CMS_FLSPadding OpenJDK6 in JDK14 uintx gc 1 product against volatility in free list demand share/gc/cms/ Expired in range(0, max_juint) cms_globals.hpp JDK15 Obsoleted Percentage (0-100) used to weight the current sample when CMS_FLSWeight OpenJDK6 in JDK14 uintx gc 75 product computing exponentially decaying averages for CMS FLS share/gc/cms/ Expired in range(0, 100) statistics cms_globals.hpp JDK15 Obsoleted The multiple of deviation from mean to use for buffering CMS_SweepPadding OpenJDK6 in JDK14 uintx gc 1 product against volatility in inter-sweep duration share/gc/cms/ Expired in range(0, max_juint) cms_globals.hpp JDK15 Obsoleted Skip block flux-rate sampling for an epoch unless inter-sweep CMS_SweepTimerThresholdMillis OpenJDK6 in JDK14 uintx gc 10 product duration exceeds this threshold in milliseconds share/gc/cms/ Expired in range(0, max_uintx) cms_globals.hpp JDK15 Obsoleted Percentage (0-100) used to weight the current sample when CMS_SweepWeight OpenJDK6 in JDK14 uintx gc 75 product computing exponentially decaying average for inter-sweep share/gc/cms/ Expired in range(0, 100) duration cms_globals.hpp JDK15 CPUForCMSThread OpenJDK6 uintx gc 0 diagnostic When BindCMSThreadToCPU is true, the CPU to bind CMS thread to share/gc/cms/ range(0, max_juint) cms_globals.hpp CSEArrayLength OpenJDK6 bool aarch64 false define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp CSEArrayLength OpenJDK6 bool arm true define_pd_global cpu/arm/c1_globals_arm.hpp CSEArrayLength OpenJDK6 bool c1 develop_pd Create separate nodes for length in array accesses share/c1/c1_globals.hpp CSEArrayLength OpenJDK6 bool ppc true define_pd_global cpu/ppc/c1_globals_ppc.hpp CSEArrayLength OpenJDK6 bool s390 true define_pd_global cpu/s390/ c1_globals_s390.hpp CSEArrayLength OpenJDK6 bool sparc true define_pd_global cpu/sparc/ c1_globals_sparc.hpp CSEArrayLength OpenJDK6 bool x86 false define_pd_global cpu/x86/c1_globals_x86.hpp CalculateClassFingerprint OpenJDK10 bool runtime false product Calculate class fingerprint share/runtime/globals.hpp CanonicalizeNodes OpenJDK6 bool c1 true develop Canonicalize graph nodes share/c1/c1_globals.hpp CheckCompressedOops OpenJDK6 bool runtime true notproduct Generate checks in encoding/decoding code in debug VM share/runtime/globals.hpp When a class C is loaded, check that (1) all intrinsics defined by the VM for class C are present in the loaded class file and are marked with the @HotSpotIntrinsicCandidate annotation, that (2) there is an intrinsic registered for all loaded methods CheckIntrinsics OpenJDK9 bool runtime true diagnostic that are annotated with the @HotSpotIntrinsicCandidate share/runtime/globals.hpp 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. CheckJNICalls OpenJDK6 bool runtime false product Verify all arguments to JNI calls share/runtime/globals.hpp CheckMemoryInitialization OpenJDK6 bool runtime false notproduct Check memory initialization share/runtime/globals.hpp CheckUnhandledOops OpenJDK6 bool runtime false develop Check for unhandled oops in VM code share/runtime/globals.hpp CheckZapUnusedHeapArea OpenJDK6 bool runtime false develop Check zapping of unused heap space share/runtime/globals.hpp ClassUnloadingWithConcurrentMark OpenJDK8 bool runtime true product Do unloading of classes with a concurrent marking cycle share/runtime/globals.hpp ClassUnloading OpenJDK6 bool runtime true product Do unloading of classes share/runtime/globals.hpp CleanChunkPoolAsync OpenJDK6 bool runtime true develop Clean the chunk pool asynchronously share/runtime/globals.hpp ClipInlining OpenJDK6 bool runtime true product Clip inlining if aggregate method exceeds DesiredMethodLimit share/runtime/globals.hpp CodeCacheExpansionSize OpenJDK6 intx aarch64 32*K define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp CodeCacheExpansionSize OpenJDK6 size_t arm 32*K define_pd_global cpu/arm/c1_globals_arm.hpp CodeCacheExpansionSize OpenJDK6 uintx runtime product_pd Code cache expansion size (in bytes) share/runtime/globals.hpp CodeCacheExpansionSize OpenJDK6 uintx ppc 64*K define_pd_global cpu/ppc/c2_globals_ppc.hpp CodeCacheExpansionSize OpenJDK6 uintx s390 32*K define_pd_global cpu/s390/ c1_globals_s390.hpp CodeCacheExpansionSize OpenJDK6 uintx sparc 64*K define_pd_global cpu/sparc/ c2_globals_sparc.hpp CodeCacheExpansionSize OpenJDK6 uintx x86 32*K define_pd_global cpu/x86/c1_globals_x86.hpp CodeCacheMinBlockLength OpenJDK6 uintx aarch64 1 define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp CodeCacheMinBlockLength OpenJDK6 uintx arm 1 define_pd_global cpu/arm/c1_globals_arm.hpp CodeCacheMinBlockLength OpenJDK6 uintx runtime diagnostic_pd Minimum number of segments in a code cache block share/runtime/globals.hpp CodeCacheMinBlockLength OpenJDK6 uintx ppc 6 define_pd_global cpu/ppc/c2_globals_ppc.hpp CodeCacheMinBlockLength OpenJDK6 uintx s390 1 define_pd_global cpu/s390/ c1_globals_s390.hpp CodeCacheMinBlockLength OpenJDK6 uintx sparc 6 define_pd_global cpu/sparc/ c2_globals_sparc.hpp CodeCacheMinBlockLength OpenJDK6 uintx x86 1 define_pd_global cpu/x86/c1_globals_x86.hpp CodeCacheMinimumUseSpace OpenJDK8 uintx aarch64 400*K define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp CodeCacheMinimumUseSpace OpenJDK8 size_t arm 400*K define_pd_global cpu/arm/c1_globals_arm.hpp CodeCacheMinimumUseSpace OpenJDK8 uintx runtime develop_pd Minimum code cache size (in bytes) required to start VM. share/runtime/globals.hpp CodeCacheMinimumUseSpace OpenJDK8 uintx ppc 400*K define_pd_global cpu/ppc/c2_globals_ppc.hpp CodeCacheMinimumUseSpace OpenJDK8 uintx s390 400*K define_pd_global cpu/s390/ c1_globals_s390.hpp CodeCacheMinimumUseSpace OpenJDK8 uintx sparc 400*K define_pd_global cpu/sparc/ c2_globals_sparc.hpp CodeCacheMinimumUseSpace OpenJDK8 uintx x86 400*K define_pd_global cpu/x86/c1_globals_x86.hpp CodeCacheSegmentSize OpenJDK6 uintx aarch64 64 TIERED_ONLY(+64) define_pd_global // Tiered compilation has large code-entry alignment. cpu/aarch64/ globals_aarch64.hpp CodeCacheSegmentSize OpenJDK6 uintx arm 64 TIERED_ONLY(+64) define_pd_global // Tiered compilation has large code-entry alignment. cpu/arm/globals_arm.hpp Code cache segment size (in bytes) - smallest unit of CodeCacheSegmentSize OpenJDK6 uintx runtime develop_pd allocation share/runtime/globals.hpp CodeCacheSegmentSize OpenJDK6 uintx ppc 128 define_pd_global cpu/ppc/globals_ppc.hpp CodeCacheSegmentSize OpenJDK6 uintx s390 256 define_pd_global cpu/s390/globals_s390.hpp CodeCacheSegmentSize OpenJDK6 uintx sparc 64 TIERED_ONLY(+64) define_pd_global // Tiered compilation has large code-entry alignment. cpu/sparc/globals_sparc.hpp CodeCacheSegmentSize OpenJDK6 uintx x86 64 TIERED_ONLY(+64) define_pd_global // Tiered compilation has large code-entry alignment. cpu/x86/globals_x86.hpp CodeCacheSegmentSize OpenJDK6 uintx zero 64 TIERED_ONLY(+64) define_pd_global // Tiered compilation has large code-entry alignment. cpu/zero/globals_zero.hpp CodeEntryAlignment OpenJDK6 intx aarch64 64 define_pd_global cpu/aarch64/ globals_aarch64.hpp CodeEntryAlignment OpenJDK6 intx arm 16 define_pd_global cpu/arm/globals_arm.hpp CodeEntryAlignment OpenJDK6 intx runtime develop_pd Code entry alignment for generated code (in bytes) share/runtime/globals.hpp CodeEntryAlignment OpenJDK6 intx ppc 128 define_pd_global cpu/ppc/globals_ppc.hpp CodeEntryAlignment OpenJDK6 intx s390 64 define_pd_global cpu/s390/globals_s390.hpp CodeEntryAlignment OpenJDK6 intx sparc 32 define_pd_global cpu/sparc/globals_sparc.hpp CodeEntryAlignment OpenJDK6 intx x86 16 define_pd_global cpu/x86/globals_x86.hpp CodeEntryAlignment OpenJDK6 intx zero 32 define_pd_global cpu/zero/globals_zero.hpp CollectIndexSetStatistics OpenJDK6 bool runtime false notproduct Collect information about IndexSets share/runtime/globals.hpp CommentedAssembly OpenJDK6 bool c1 trueInDebug develop Show extra info in PrintNMethods output share/c1/c1_globals.hpp Deprecated in JDK14 CompactFields OpenJDK6 Obsoleted bool runtime true product Allocate nonstatic fields in gaps between previous fields share/runtime/globals.hpp in JDK15 Expired in JDK16 CompactStrings OpenJDK9 bool aarch64 true define_pd_global cpu/aarch64/ globals_aarch64.hpp CompactStrings OpenJDK9 bool arm false define_pd_global cpu/arm/globals_arm.hpp CompactStrings OpenJDK9 bool runtime product_pd Enable Strings to use single byte chars in backing store share/runtime/globals.hpp CompactStrings OpenJDK9 bool ppc true define_pd_global cpu/ppc/globals_ppc.hpp CompactStrings OpenJDK9 bool s390 true define_pd_global cpu/s390/globals_s390.hpp CompactStrings OpenJDK9 bool sparc true define_pd_global cpu/sparc/globals_sparc.hpp CompactStrings OpenJDK9 bool x86 true define_pd_global cpu/x86/globals_x86.hpp CompactStrings OpenJDK9 bool zero true define_pd_global cpu/zero/globals_zero.hpp Deprecated in JDK13 CompilationPolicyChoice OpenJDK6 Obsoleted intx runtime 0 product which compilation policy (0-2) share/runtime/globals.hpp in JDK14 range(0, 2) Expired in JDK15 CompileCommandFile OpenJDK6 ccstr runtime NULL product Read compiler commands from this file [.hotspot_compiler] share/runtime/globals.hpp CompileCommand OpenJDK6 ccstrlist runtime product Prepend to .hotspot_compiler; e.g. log,java/lang/String. share/runtime/globals.hpp CompileOnly OpenJDK6 ccstrlist runtime product List of methods (pkg/class.name) to restrict compilation to share/runtime/globals.hpp CompileTheWorldPreloadClasses OpenJDK6 bool runtime true develop Preload all classes used by a class before start loading share/runtime/globals.hpp CompileTheWorldSafepointInterval OpenJDK6 intx runtime 100 notproduct Force a safepoint every n compiles so sweeper can keep up share/runtime/globals.hpp CompileTheWorldStartAt OpenJDK6 intx runtime 1 notproduct First class to consider when using +CompileTheWorld share/runtime/globals.hpp CompileTheWorldStopAt OpenJDK6 intx runtime max_jint notproduct Last class to consider when using +CompileTheWorld share/runtime/globals.hpp Compile all methods in all classes in bootstrap class path CompileTheWorld OpenJDK6 bool runtime false develop (stress test) share/runtime/globals.hpp Factor to control when first compilation happens (both with and without tiered compilation): values greater than 1.0 delay counter overflow, values between 0 and 1.0 rush counter overflow, value of 1.0 leaves compilation thresholds unchanged CompileThresholdScaling OpenJDK9 double runtime 1.0 product value of 0.0 is equivalent to -Xint. share/runtime/globals.hpp range(0.0, DBL_MAX) 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. CompileThreshold OpenJDK6 intx aarch64 1500 define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp CompileThreshold OpenJDK6 intx arm 1500 define_pd_global cpu/arm/c1_globals_arm.hpp CompileThreshold OpenJDK6 intx runtime product_pd number of interpreted method invocations before (re-)compiling share/runtime/globals.hpp CompileThreshold OpenJDK6 intx ppc 10000 define_pd_global cpu/ppc/c2_globals_ppc.hpp CompileThreshold OpenJDK6 intx s390 1000 define_pd_global cpu/s390/ c1_globals_s390.hpp CompileThreshold OpenJDK6 intx sparc 10000 define_pd_global cpu/sparc/ c2_globals_sparc.hpp CompileThreshold OpenJDK6 intx x86 1500 define_pd_global cpu/x86/c1_globals_x86.hpp CompilerDirectivesFile OpenJDK9 ccstr runtime NULL diagnostic Read compiler directives from this file share/runtime/globals.hpp CompilerDirectivesIgnoreCompileCommands OpenJDK9 bool runtime false diagnostic Disable backwards compatibility for compile commands. share/runtime/globals.hpp CompilerDirectivesLimit OpenJDK9 int runtime 50 diagnostic Limit on number of compiler directives. share/runtime/globals.hpp CompilerDirectivesPrint OpenJDK9 bool runtime false diagnostic Print compiler directives on installation. share/runtime/globals.hpp Deprecated in JDK11 CompilerThreadHintNoPreempt OpenJDK6 Obsoleted bool runtime false product (Solaris only) Give compiler threads an extra quanta share/runtime/globals.hpp in JDK12 Expired in JDK13 -1 The native priority at which compiler threads should run CompilerThreadPriority OpenJDK6 intx runtime range(min_jint, max_jint) product (-1 means no change) share/runtime/globals.hpp CompilerThreadStackSize OpenJDK6 intx aix ppc 4096 define_pd_global os_cpu/aix_ppc/ globals_aix_ppc.hpp CompilerThreadStackSize OpenJDK6 intx bsd aarch64 2048 define_pd_global os_cpu/bsd_aarch64/ globals_bsd_aarch64.hpp CompilerThreadStackSize OpenJDK6 intx bsd x86 512 define_pd_global os_cpu/bsd_x86/ globals_bsd_x86.hpp CompilerThreadStackSize OpenJDK6 intx bsd zero 0 define_pd_global os_cpu/bsd_zero/ globals_bsd_zero.hpp CompilerThreadStackSize OpenJDK6 intx linux aarch64 2040 define_pd_global os_cpu/linux_aarch64/ globals_linux_aarch64.hpp CompilerThreadStackSize OpenJDK6 intx linux arm 512 define_pd_global os_cpu/linux_arm/ globals_linux_arm.hpp CompilerThreadStackSize OpenJDK6 intx linux ppc 4096 define_pd_global os_cpu/linux_ppc/ globals_linux_ppc.hpp CompilerThreadStackSize OpenJDK6 intx linux s390 2048 define_pd_global os_cpu/linux_s390/ globals_linux_s390.hpp CompilerThreadStackSize OpenJDK6 intx linux x86 512 define_pd_global os_cpu/linux_x86/ globals_linux_x86.hpp CompilerThreadStackSize OpenJDK6 intx linux zero 0 define_pd_global os_cpu/linux_zero/ globals_linux_zero.hpp CompilerThreadStackSize OpenJDK6 intx runtime product_pd Compiler Thread Stack Size (in Kbytes) share/runtime/globals.hpp CompilerThreadStackSize OpenJDK6 intx sparc 1024 define_pd_global cpu/sparc/globals_sparc.hpp CompilerThreadStackSize OpenJDK6 intx solaris x86 512 define_pd_global os_cpu/solaris_x86/ globals_solaris_x86.hpp CompilerThreadStackSize OpenJDK6 intx windows aarch64 0 define_pd_global os_cpu/windows_aarch64/ globals_windows_aarch64.hpp CompilerThreadStackSize OpenJDK6 intx windows x86 0 define_pd_global os_cpu/windows_x86/ globals_windows_x86.hpp 1*G Maximum size of class area in Metaspace when compressed CompressedClassSpaceSize OpenJDK8 size_t runtime range(1*M, 3*G) product class pointers are used share/runtime/globals.hpp ComputeExactFPURegisterUsage OpenJDK6 bool c1 true develop Compute additional live set for fpu registers to simplify fpu stack merge (Intel only) share/c1/c1_globals.hpp ConcGCThreads OpenJDK6 uint gc 0 product Number of threads concurrent gc will use share/gc/shared/ gc_globals.hpp 0 If non-zero, assert that GC threads yield within this share/gc/shared/ ConcGCYieldTimeout OpenJDK6 intx gc range(0, max_intx) develop number of milliseconds gc_globals.hpp ConditionalMoveLimit OpenJDK6 intx aarch64 3 define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp ConditionalMoveLimit OpenJDK6 intx arm 4 define_pd_global cpu/arm/c2_globals_arm.hpp ConditionalMoveLimit OpenJDK6 intx c2 product_pd Limit of ops to make speculative when using CMOVE share/opto/c2_globals.hpp ConditionalMoveLimit OpenJDK6 intx ppc 3 define_pd_global cpu/ppc/c2_globals_ppc.hpp ConditionalMoveLimit OpenJDK6 intx s390 4 define_pd_global cpu/s390/ c2_globals_s390.hpp ConditionalMoveLimit OpenJDK6 intx sparc 4 define_pd_global cpu/sparc/ c2_globals_sparc.hpp ConditionalMoveLimit OpenJDK6 intx x86 3 define_pd_global cpu/x86/c2_globals_x86.hpp ContendedPaddingWidth OpenJDK8 intx runtime 128 product How many bytes to pad the fields/classes marked @Contended with share/runtime/globals.hpp range(0, 8192) ConvertCmpD2CmpF OpenJDK6 bool c2 true develop Convert cmpD to cmpF when one input is constant in float range share/opto/c2_globals.hpp ConvertFloat2IntClipping OpenJDK6 bool c2 true develop Convert float2int clipping idiom to integer clipping share/opto/c2_globals.hpp CountBytecodes OpenJDK6 bool runtime false develop Count number of bytecodes executed share/runtime/globals.hpp CountCompiledCalls OpenJDK6 bool runtime false develop Count method invocations share/runtime/globals.hpp CountJNICalls OpenJDK6 bool runtime false develop Count jni method invocations share/runtime/globals.hpp CountJVMCalls OpenJDK6 bool runtime false notproduct Count jvm method invocations share/runtime/globals.hpp CountLinearScan OpenJDK6 bool c1 false develop collect statistic counters during LinearScan share/c1/c1_globals.hpp Count exceptions that could be replaced by branches due to CountRemovableExceptions OpenJDK6 bool runtime false notproduct inlining share/runtime/globals.hpp CountRuntimeCalls OpenJDK6 bool runtime false notproduct Count VM runtime calls share/runtime/globals.hpp The minimum interval (in milliseconds) between invocation of CounterDecayMinIntervalLength OpenJDK6 intx runtime 500 develop CounterDecay share/runtime/globals.hpp CounterHalfLifeTime OpenJDK6 intx runtime 30 develop Half-life time of invocation counters (in seconds) share/runtime/globals.hpp Manually make GC thread crash then dump java stack trace; CrashGCForDumpingJavaThread OpenJDK6 bool runtime false notproduct Test only share/runtime/globals.hpp JVM aborts, producing an error log and core/mini dump, on the CrashOnOutOfMemoryError OpenJDK8 bool runtime false product first occurrence of an out-of-memory error share/runtime/globals.hpp CreateCoredumpOnCrash OpenJDK9 bool runtime true product Create core/mini dump on VM fatal error share/runtime/globals.hpp Deprecated in JDK16 CriticalJNINatives OpenJDK6 Obsoleted bool runtime true product Check for critical JNI entry points share/runtime/globals.hpp in JDK18 Expired in JDK19 Power8 or later: DPFD (default prefetch depth) value of the DSCR_DPFD_PPC64 OpenJDK9 uint64_t ppc 8 product Data Stream Control Register. cpu/ppc/globals_ppc.hpp 0: hardware default, 1: none, 2-7: min-max, 8: don't touch Power8 or later: Specify encoded value for Data Stream Control DSCR_PPC64 OpenJDK9 uint64_t ppc (uintx)-1 product Register cpu/ppc/globals_ppc.hpp Power8 or later: URG (depth attainment urgency) value of the DSCR_URG_PPC64 OpenJDK9 uint64_t ppc 8 product Data Stream Control Register. cpu/ppc/globals_ppc.hpp 0: hardware default, 1: none, 2-7: min-max, 8: don't touch DTraceAllocProbes OpenJDK6 bool runtime false product Enable dtrace probes for object allocation share/runtime/globals.hpp DTraceMethodProbes OpenJDK6 bool runtime false product Enable dtrace probes for method-entry and method-exit share/runtime/globals.hpp DTraceMonitorProbes OpenJDK6 bool runtime false product Enable dtrace probes for monitor events share/runtime/globals.hpp DebugDeoptimization OpenJDK6 bool runtime false develop Tracing various information while debugging deoptimization share/runtime/globals.hpp DebugInlinedCalls OpenJDK6 bool c2 true diagnostic If false, restricts profiled locations to the root method only share/opto/c2_globals.hpp Generate extra debugging information for non-safepoints in DebugNonSafepoints OpenJDK6 bool runtime trueInDebug diagnostic nmethods share/runtime/globals.hpp DebugVtables OpenJDK6 bool runtime false develop add debugging code to vtable dispatch share/runtime/globals.hpp Obsoleted Set when executing debug methods in debug.cpp Debugging OpenJDK6 in JDK16 bool runtime false product (to prevent triggering assertions) share/runtime/globals.hpp Expired in JDK17 When +ReduceInitialCardMarks, explicitly defer any that share/gc/shared/ DeferInitialCardMark OpenJDK6 bool gc false diagnostic may arise from new_pre_store_barrier gc_globals.hpp Delay invoking the compiler until main application class is DelayCompilationDuringStartup OpenJDK6 bool runtime true develop loaded share/runtime/globals.hpp DeoptC1 OpenJDK6 bool c1 true develop Use deoptimization in C1 share/c1/c1_globals.hpp DeoptimizeALotInterval OpenJDK6 intx runtime 5 notproduct Number of exits until DeoptimizeALot kicks in share/runtime/globals.hpp DeoptimizeALot OpenJDK6 bool runtime false develop Deoptimize at every exit from the runtime system share/runtime/globals.hpp DeoptimizeOnlyAt OpenJDK6 ccstrlist runtime notproduct A comma separated list of bcis to deoptimize at share/runtime/globals.hpp DeoptimizeRandom OpenJDK6 bool runtime false product Deoptimize random frames on random exit from the runtime system share/runtime/globals.hpp DesiredMethodLimit OpenJDK6 intx runtime 8000 develop The desired maximum method size (in bytecodes) after inlining share/runtime/globals.hpp DisableAttachMechanism OpenJDK6 bool runtime false product Disable mechanism that allows tools to attach to this VM share/runtime/globals.hpp DisableExplicitGC OpenJDK6 bool gc false product Ignore calls to System.gc() share/gc/shared/ gc_globals.hpp DisableIntrinsic OpenJDK6 ccstrlist runtime diagnostic do not expand intrinsics whose (internal) names appear here share/runtime/globals.hpp Disable the use of stack guard pages if the JVM is loaded DisablePrimordialThreadGuardPages OpenJDK8 bool runtime false experimental on the primordial process thread share/runtime/globals.hpp Disable starting of additional Java threads DisableStartThread OpenJDK6 bool runtime false develop (for debugging only) share/runtime/globals.hpp DisplayVMOutputToStderr OpenJDK6 bool runtime false product If DisplayVMOutput is true, display all VM output to stderr share/runtime/globals.hpp DisplayVMOutputToStdout OpenJDK6 bool runtime false product If DisplayVMOutput is true, display all VM output to stdout share/runtime/globals.hpp DisplayVMOutput OpenJDK6 bool runtime true diagnostic Display all VM output on the tty, independently of LogVMOutput share/runtime/globals.hpp DoCEE OpenJDK6 bool c1 true develop Do Conditional Expression Elimination to simplify CFG share/c1/c1_globals.hpp DoEscapeAnalysis OpenJDK6 bool c2 true product Perform escape analysis share/opto/c2_globals.hpp Obsoleted DoReserveCopyInSuperWord OpenJDK9 in JDK22 bool c2 true product Create reserve copy of graph in SuperWord. share/opto/c2_globals.hpp Expired in JDK23 DominatorSearchLimit OpenJDK6 intx c2 1000 diagnostic Iterations limit in Node::dominates share/opto/c2_globals.hpp range(0, max_jint) DontCompileHugeMethods OpenJDK6 bool runtime true product Do not compile methods > HugeMethodLimit share/runtime/globals.hpp DontYieldALotInterval OpenJDK6 intx runtime 10 develop Interval between which yields will be dropped (milliseconds) share/runtime/globals.hpp Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool aix ppc false define_pd_global os_cpu/aix_ppc/ in JDK24 globals_aix_ppc.hpp Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool bsd aarch64 false define_pd_global os_cpu/bsd_aarch64/ in JDK24 globals_bsd_aarch64.hpp Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool bsd x86 false define_pd_global os_cpu/bsd_x86/ in JDK24 globals_bsd_x86.hpp Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool bsd zero false define_pd_global os_cpu/bsd_zero/ in JDK24 globals_bsd_zero.hpp Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool linux aarch64 false define_pd_global os_cpu/linux_aarch64/ in JDK24 globals_linux_aarch64.hpp Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool linux arm false define_pd_global os_cpu/linux_arm/ in JDK24 globals_linux_arm.hpp Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool linux ppc false define_pd_global os_cpu/linux_ppc/ in JDK24 globals_linux_ppc.hpp Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool linux s390 false define_pd_global os_cpu/linux_s390/ in JDK24 globals_linux_s390.hpp Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool linux x86 false define_pd_global os_cpu/linux_x86/ in JDK24 globals_linux_x86.hpp Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool linux zero false define_pd_global os_cpu/linux_zero/ in JDK24 globals_linux_zero.hpp Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool runtime product_pd Throw away obvious excess yield calls share/runtime/globals.hpp in JDK24 Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool sparc true define_pd_global // yield no more than 100 times per second cpu/sparc/globals_sparc.hpp in JDK24 Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool solaris x86 true define_pd_global // Determined in the design center os_cpu/solaris_x86/ in JDK24 globals_solaris_x86.hpp Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool windows aarch64 false define_pd_global os_cpu/windows_aarch64/ in JDK24 globals_windows_aarch64.hpp Expired in JDK25 Deprecated in JDK23 DontYieldALot OpenJDK6 Obsoleted bool windows x86 false define_pd_global os_cpu/windows_x86/ in JDK24 globals_windows_x86.hpp Expired in JDK25 Dump the names all loaded classes, that could be stored into DumpLoadedClassList OpenJDK8 ccstr runtime NULL product the CDS archive, in the specified file share/runtime/globals.hpp If true, sets bit 2 of /proc/PID/coredump_filter, thus DumpPrivateMappingsInCore OpenJDK11 bool linux true diagnostic resulting in file-backed private mappings of the process to os/linux/globals_linux.hpp be dumped into the corefile. DumpReplayDataOnError OpenJDK8 bool runtime true product Record replay data for crashing compiler threads share/runtime/globals.hpp If true, sets bit 3 of /proc/PID/coredump_filter, thus DumpSharedMappingsInCore OpenJDK11 bool linux true diagnostic resulting in file-backed shared mappings of the process to os/linux/globals_linux.hpp be dumped into the corefile. Deprecated Special mode: JVM reads a class list, loads classes, builds DumpSharedSpaces OpenJDK6 in JDK18 bool runtime false product shared spaces, and dumps the shared spaces to a file to be share/runtime/globals.hpp Obsoleted used in future JVM runs in JDK19 DynamicallyResizeSystemDictionaries OpenJDK10 bool runtime true diagnostic Dynamically resize system dictionaries as needed share/runtime/globals.hpp EagerInitialization OpenJDK6 bool runtime false develop Eagerly initialize classes if possible share/runtime/globals.hpp EagerJVMCI OpenJDK11 bool jvmci false experimental Force eager JVMCI initialization share/jvmci/ jvmci_globals.hpp Eagerly initialize -Xrun libraries; allows startup profiling, EagerXrunInit OpenJDK6 bool runtime false product but not all -Xrun libraries may support the state of the VM share/runtime/globals.hpp at this time EliminateAllocationArraySizeLimit OpenJDK6 intx c2 64 product Array size (number of elements) limit for scalar replacement share/opto/c2_globals.hpp range(0, max_jint) EliminateAllocations OpenJDK6 bool c2 true product Use escape analysis to eliminate allocations share/opto/c2_globals.hpp EliminateAutoBox OpenJDK6 bool c2 true product Control optimizations for autobox elimination share/opto/c2_globals.hpp EliminateBlocks OpenJDK6 bool c1 true develop Eliminate unneccessary basic blocks share/c1/c1_globals.hpp EliminateFieldAccess OpenJDK6 bool c1 true develop Optimize field loads and stores share/c1/c1_globals.hpp EliminateLocks OpenJDK6 bool c2 true product Coarsen locks when possible share/opto/c2_globals.hpp EliminateNestedLocks OpenJDK6 bool c2 true product Eliminate nested locks of the same object when possible share/opto/c2_globals.hpp EliminateNullChecks OpenJDK6 bool c1 true develop Eliminate unneccessary null checks share/c1/c1_globals.hpp Obsoleted (Unsafe, Unstable) EmitSync OpenJDK6 in JDK12 intx runtime 0 experimental Control emission of inline sync fast-path code share/runtime/globals.hpp Expired in JDK13 EnableContended OpenJDK8 bool runtime true product Enable @Contended annotation support share/runtime/globals.hpp EnableDynamicAgentLoading OpenJDK9 bool runtime true product Allow tools to load agents with the attach mechanism share/runtime/globals.hpp EnableJVMCI OpenJDK9 bool jvmci false experimental Enable JVMCI share/jvmci/ jvmci_globals.hpp EnableThreadSMRExtraValidityChecks OpenJDK10 bool runtime true diagnostic Enable Thread SMR extra validity checks share/runtime/globals.hpp EnableThreadSMRStatistics OpenJDK10 bool runtime trueInDebug diagnostic Enable Thread SMR Statistics share/runtime/globals.hpp Use timed decays to shrink TLAB sizes. This conserves memory for the threads that allocate in bursts of different sizes, share/gc/epsilon/ EpsilonElasticTLABDecay OpenJDK11 bool gc true experimental for example the small/rare allocations coming after the initial epsilon_globals.hpp large burst. Use elastic policy to manage TLAB sizes. This conserves memory for non-actively allocating threads, even when they request share/gc/epsilon/ EpsilonElasticTLAB OpenJDK11 bool gc true experimental large TLABs for themselves. Active threads would experience epsilon_globals.hpp smaller TLABs until policy catches up. Max TLAB size to use with Epsilon GC. Larger value improves EpsilonMaxTLABSize OpenJDK11 size_t gc 4 * M experimental performance at the expense of per-thread memory waste. This share/gc/epsilon/ range(1, max_intx) asks TLAB machinery to cap TLAB sizes at this value. epsilon_globals.hpp 128 * M Min expansion step for heap. Larger value improves performance share/gc/epsilon/ EpsilonMinHeapExpand OpenJDK11 size_t gc range(1, max_intx) experimental at the potential expense of memory waste. epsilon_globals.hpp Print heap occupancy stats with this number of steps. EpsilonPrintHeapSteps OpenJDK11 size_t gc 20 experimental share/gc/epsilon/ range(0, max_intx) 0 turns the printing off. epsilon_globals.hpp TLAB sizing policy decays to initial size after thread had not 1000 allocated for this long. Time is in milliseconds. Lower value share/gc/epsilon/ EpsilonTLABDecayTime OpenJDK11 size_t gc range(1, max_intx) experimental improves memory footprint, but penalizes actively allocating epsilon_globals.hpp threads. Multiplier to use when deciding on next TLAB size. Larger value 1.1 improves performance at the expense of per-thread memory waste. share/gc/epsilon/ EpsilonTLABElasticity OpenJDK11 double gc range(1.0, DBL_MAX) experimental Lower value improves memory footprint, but penalizes actively epsilon_globals.hpp allocating threads. Update heap occupancy counters after allocating this much EpsilonUpdateCountersStep OpenJDK11 size_t gc 1 * M experimental memory. Higher values would make allocations faster at share/gc/epsilon/ range(1, max_intx) the expense of lower resolution in heap counters. epsilon_globals.hpp 0 Maximum ergonomically set heap size (in bytes); zero means use share/gc/shared/ ErgoHeapSizeLimit OpenJDK6 size_t gc range(0, max_uintx) product MaxRAM * MaxRAMPercentage / 100 gc_globals.hpp ErrorFileToStderr OpenJDK11 bool runtime false product If true, error data is printed to stderr instead of a file share/runtime/globals.hpp ErrorFileToStdout OpenJDK11 bool runtime false product If true, error data is printed to stdout instead of a file share/runtime/globals.hpp If an error occurs, save the error data to this file ErrorFile OpenJDK6 ccstr runtime NULL product [default: ./hs_err_pid%p.log] (%p replaced with pid) share/runtime/globals.hpp If > 0, provokes an error after VM initialization; the value ErrorHandlerTest OpenJDK6 uintx runtime 0 notproduct determines which error to provoke. See test_error_handler() share/runtime/globals.hpp in vmError.cpp. 2 * 60 Timeout, in seconds, to limit the time spent on writing an ErrorLogTimeout OpenJDK9 uint64_t runtime range(0, (uint64_t)max_jlong/1000) product error log in case of a crash. share/runtime/globals.hpp Obsoleted ErrorReportServer OpenJDK6 in JDK12 ccstr runtime NULL product Override built-in error report server address share/runtime/globals.hpp Expired in JDK13 EscapeAnalysisTimeout OpenJDK7 double c2 20. DEBUG_ONLY(+40.) product Abort EA when it reaches time limit (in sec) share/opto/c2_globals.hpp range(0, DBL_MAX) EstimateArgEscape OpenJDK6 bool runtime true product Analyze bytecodes to estimate escape state of arguments share/runtime/globals.hpp ExecuteInternalVMTests OpenJDK6 bool gc false notproduct Enable execution of internal VM tests share/gc/shared/ gc_globals.hpp ExecutingUnitTests OpenJDK9 bool gc false product Whether the JVM is running unit tests or not share/gc/shared/ gc_globals.hpp ExitEscapeAnalysisOnTimeout OpenJDK7 bool c2 true develop Exit or throw assert in EA when it reaches time limit share/opto/c2_globals.hpp ExitOnFullCodeCache OpenJDK6 bool runtime false notproduct Exit the VM if we fill the code cache share/runtime/globals.hpp ExitOnOutOfMemoryError OpenJDK8 bool runtime false product JVM exits on the first occurrence of an out-of-memory error share/runtime/globals.hpp standard exit from VM if bytecode verify error ExitVMOnVerifyError OpenJDK6 bool runtime false notproduct (only in debug mode) share/runtime/globals.hpp Expand the assembler ExpandLoadingBaseDecode_NN OpenJDK9 bool s390 true product instruction required to load the base from DecodeN_NN nodes cpu/s390/globals_s390.hpp during matching. Expand the assembler ExpandLoadingBaseDecode OpenJDK9 bool s390 true product instruction required to load the base from DecodeN nodes during cpu/s390/globals_s390.hpp matching. Expand the assembler ExpandLoadingBaseEncode_NN OpenJDK9 bool s390 true product instruction required to load the base from EncodeP_NN nodes cpu/s390/globals_s390.hpp during matching. Expand the assembler ExpandLoadingBaseEncode OpenJDK9 bool s390 true product instruction required to load the base from EncodeP nodes during cpu/s390/globals_s390.hpp matching. A System.gc() request invokes a concurrent collection; share/gc/shared/ ExplicitGCInvokesConcurrent OpenJDK6 bool gc false product (effective only when using concurrent collectors) gc_globals.hpp Deprecated in JDK19 ExtendedDTraceProbes OpenJDK6 Obsoleted bool runtime false product Enable performance-impacting dtrace probes share/runtime/globals.hpp in JDK20 Expired in JDK21 ExtensiveErrorReports OpenJDK11 bool runtime PRODUCT_ONLY(false) NOT_PRODUCT(true) product Error reports are more extensive. share/runtime/globals.hpp ExtraSharedClassListFile OpenJDK8 ccstr runtime NULL product Extra classlist for building the CDS archive file share/runtime/globals.hpp FLOATPRESSURE OpenJDK6 intx aarch64 32 define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp FLOATPRESSURE OpenJDK6 intx arm 30 define_pd_global cpu/arm/c2_globals_arm.hpp FLOATPRESSURE OpenJDK6 intx c2 develop_pd Number of float LRG's that constitute high register pressure share/opto/c2_globals.hpp FLOATPRESSURE OpenJDK6 intx ppc 28 define_pd_global cpu/ppc/c2_globals_ppc.hpp FLOATPRESSURE OpenJDK6 intx s390 15 define_pd_global cpu/s390/ c2_globals_s390.hpp FLOATPRESSURE OpenJDK6 intx sparc 52 define_pd_global // C2 on V9 gets to use all the float/double registers cpu/sparc/ c2_globals_sparc.hpp FLOATPRESSURE OpenJDK6 intx x86 6 define_pd_global cpu/x86/c2_globals_x86.hpp Obsoleted FLSAlwaysCoalesceLarge OpenJDK6 in JDK14 bool gc false product CMS: larger free blocks are always available for coalescing share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted CMS: aggressiveness level for coalescing, increasing FLSCoalescePolicy OpenJDK6 in JDK14 uintx gc 2 product from 0 to 4 share/gc/cms/ Expired in range(0, 4) cms_globals.hpp JDK15 Obsoleted CMS: the smaller the percentage the greater the coalescing FLSLargestBlockCoalesceProximity OpenJDK6 in JDK14 double gc 0.99 product force share/gc/cms/ Expired in range(0.0, 1.0) cms_globals.hpp JDK15 Verify that all references across the FLS boundary share/gc/cms/ FLSVerifyAllHeapReferences OpenJDK6 bool gc false diagnostic are to valid objects cms_globals.hpp FLSVerifyDictionary OpenJDK6 bool runtime false develop Do lots of (expensive) FLS dictionary verification share/runtime/globals.hpp FLSVerifyIndexTable OpenJDK6 bool gc false diagnostic Do lots of (expensive) FLS index table verification share/gc/cms/ cms_globals.hpp FLSVerifyLists OpenJDK6 bool gc false diagnostic Do lots of (expensive) FreeListSpace verification share/gc/cms/ cms_globals.hpp Obsoleted FailOverToOldVerifier OpenJDK6 in JDK14 bool runtime true product Fail over to old verifier when split verifier fails share/runtime/globals.hpp Expired in JDK15 FastAllocateSizeLimit OpenJDK6 intx runtime 128*K develop /* Note: This value is zero mod 1<<13 for a cheap sparc set. */Inline allocations larger than this in doublewords must go slow share/runtime/globals.hpp FastSuperclassLimit OpenJDK6 intx runtime 8 develop Depth of hardwired instanceof accelerator array share/runtime/globals.hpp Deprecated 0 - type based with oops first, in JDK14 FieldsAllocationStyle OpenJDK6 Obsoleted intx runtime 1 product 1 - with oops last, share/runtime/globals.hpp in JDK15 range(0, 2) Expired in 2 - oops in super and sub classes are together JDK16 FillDelaySlots OpenJDK6 bool runtime true develop Fill delay slots (on SPARC only) share/runtime/globals.hpp Deprecated in JDK18 When true prevents OS-level spurious, or premature, wakeups FilterSpuriousWakeups OpenJDK6 Obsoleted bool runtime true product from Object.wait (Ignored for Windows) share/runtime/globals.hpp in JDK19 Expired in JDK20 FlightRecorderOptions OpenJDK11 ccstr runtime NULL product Flight Recorder options share/runtime/globals.hpp FlightRecorder OpenJDK11 Deprecated bool runtime false product Enable Flight Recorder share/runtime/globals.hpp in JDK13 FoldStableValues OpenJDK8 bool runtime true diagnostic Optimize loads from stable fields (marked w/ @Stable) share/runtime/globals.hpp Force dynamic selection of the number of share/gc/shared/ ForceDynamicNumberOfGCThreads OpenJDK6 bool gc false diagnostic parallel threads parallel gc will use to aid debugging gc_globals.hpp ForceFloatExceptions OpenJDK6 bool runtime trueInDebug develop Force exceptions on FP stack under/overflow share/runtime/globals.hpp Deprecated in JDK15 ForceNUMA OpenJDK6 Obsoleted bool runtime false product Force NUMA optimizations on single-node/UMA systems share/runtime/globals.hpp in JDK16 Expired in JDK17 ForceTimeHighResolution OpenJDK6 bool runtime false product Using high time resolution (for Win32 only) share/runtime/globals.hpp Make all non code cache addresses to be unreachable by ForceUnreachable OpenJDK6 bool runtime false diagnostic forcing use of 64bit literal fixups share/runtime/globals.hpp FreqCountInvocations OpenJDK6 intx c2 1 develop Scaling factor for branch frequencies (deprecated) share/opto/c2_globals.hpp range(1, max_intx) FreqInlineSize OpenJDK6 intx aarch64 325 define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp FreqInlineSize OpenJDK6 intx arm 325 define_pd_global cpu/arm/c1_globals_arm.hpp FreqInlineSize OpenJDK6 intx runtime product_pd The maximum bytecode size of a frequent method to be inlined share/runtime/globals.hpp FreqInlineSize OpenJDK6 intx ppc 175 define_pd_global cpu/ppc/c2_globals_ppc.hpp FreqInlineSize OpenJDK6 intx s390 325 define_pd_global cpu/s390/ c1_globals_s390.hpp FreqInlineSize OpenJDK6 intx sparc 175 define_pd_global cpu/sparc/ c2_globals_sparc.hpp FreqInlineSize OpenJDK6 intx x86 325 define_pd_global cpu/x86/c1_globals_x86.hpp Dummy object allocated with +FullGCALot, forcing all objects share/gc/shared/ FullGCALotDummies OpenJDK6 intx gc 32*K notproduct to move gc_globals.hpp FullGCALotInterval OpenJDK6 intx gc 1 notproduct Interval between which full gc will occur with +FullGCALot share/gc/shared/ gc_globals.hpp FullGCALotStart OpenJDK6 intx gc 0 notproduct For which invocation to start FullGCAlot share/gc/shared/ gc_globals.hpp Force full gc at every Nth exit from the runtime system share/gc/shared/ FullGCALot OpenJDK6 bool gc false develop (N=FullGCALotInterval) gc_globals.hpp How many completed time periods from initial mark to first G1AdaptiveIHOPNumInitialSamples OpenJDK9 size_t gc 3 experimental mixed gc are required to use the input values for prediction share/gc/g1/g1_globals.hpp range(1, max_intx) of the optimal occupancy to start marking. 10.0 Target duration of individual concurrent marking steps G1ConcMarkStepDurationMillis OpenJDK6 double gc range(1.0, DBL_MAX) product in milliseconds. share/gc/g1/g1_globals.hpp Obsoleted G1ConcRSHotCardLimit OpenJDK6 in JDK21 uintx gc 4 product The threshold that defines (>=) a hot card. share/gc/g1/g1_globals.hpp Expired in range(0, max_jubyte) JDK24 Obsoleted G1ConcRSLogCacheSize OpenJDK6 in JDK21 size_t gc 10 product Log base 2 of the length of conc RS hot-card cache. share/gc/g1/g1_globals.hpp Expired in range(0, 27) JDK24 Obsoleted The number of update buffers that are left in the queue by the G1ConcRefinementGreenZone OpenJDK6 in JDK20 size_t gc 0 product concurrent processing threads. Will be selected ergonomically share/gc/g1/g1_globals.hpp Expired in range(0, max_intx) by default. JDK24 Obsoleted Maximum number of enqueued update buffers before mutator G1ConcRefinementRedZone OpenJDK6 in JDK20 size_t gc 0 product threads start processing new ones instead of enqueueing them. share/gc/g1/g1_globals.hpp Expired in range(0, max_intx) Will be selected ergonomically by default. JDK24 Obsoleted The last concurrent refinement thread wakes up every G1ConcRefinementServiceIntervalMillis OpenJDK6 in JDK20 uintx gc 300 product specified number of milliseconds to do miscellaneous work. share/gc/g1/g1_globals.hpp Expired in range(0, max_jint) JDK24 0 The number of parallel rem set update threads. G1ConcRefinementThreads OpenJDK6 uint gc range(0, (max_jint-1)/wordSize) product Will be set ergonomically by default. share/gc/g1/g1_globals.hpp Obsoleted Each time the rset update queue increases by this amount in JDK20 2 activate the next refinement thread if available. G1ConcRefinementThresholdStep OpenJDK6 Expired in size_t gc range(1, SIZE_MAX) product The actual step size will be selected ergonomically by share/gc/g1/g1_globals.hpp JDK24 default, with this value used to determine a lower bound. Obsoleted Number of enqueued update buffers that will G1ConcRefinementYellowZone OpenJDK6 in JDK20 size_t gc 0 product trigger concurrent processing. Will be selected ergonomically share/gc/g1/g1_globals.hpp Expired in range(0, max_intx) by default. JDK24 G1ConfidencePercent OpenJDK6 uintx gc 50 product Confidence level for MMU/pause predictions share/gc/g1/g1_globals.hpp range(0, 100) The number of dummy regions G1 will allocate at the end of G1DummyRegionsPerGC OpenJDK6 uintx gc 0 develop each evacuation pause in order to artificially fill up the share/gc/g1/g1_globals.hpp heap and stress the marking implementation. Try to reclaim dead large objects that have a few stale G1EagerReclaimHumongousObjectsWithStaleRefs OpenJDK8 bool gc true experimental references at every young GC. share/gc/g1/g1_globals.hpp G1EagerReclaimHumongousObjects OpenJDK8 bool gc true experimental Try to reclaim dead large objects at every young GC. share/gc/g1/g1_globals.hpp Number of successful evacuations between evacuation failures G1EvacuationFailureALotCount OpenJDK7 uintx gc 1000 develop occurring at object copying share/gc/g1/g1_globals.hpp Force use of evacuation failure handling during evacuation G1EvacuationFailureALotDuringConcMark OpenJDK7 bool gc true develop pauses when marking is in progress share/gc/g1/g1_globals.hpp Force use of evacuation failure handling during initial mark G1EvacuationFailureALotDuringInitialMark OpenJDK7 bool gc true develop evacuation pauses share/gc/g1/g1_globals.hpp Force use of evacuation failure handling during mixed G1EvacuationFailureALotDuringMixedGC OpenJDK7 bool gc true develop evacuation pauses share/gc/g1/g1_globals.hpp Force use of evacuation failure handling during young G1EvacuationFailureALotDuringYoungGC OpenJDK7 bool gc true develop evacuation pauses share/gc/g1/g1_globals.hpp Total collections between forced triggering of evacuation G1EvacuationFailureALotInterval OpenJDK7 uintx gc 5 develop failures share/gc/g1/g1_globals.hpp Force use of evacuation failure handling during certain G1EvacuationFailureALot OpenJDK7 bool gc false notproduct evacuation pauses share/gc/g1/g1_globals.hpp Raise a fatal VM exit out of memory failure in the event G1ExitOnExpansionFailure OpenJDK6 bool gc false develop that heap expansion fails due to running out of swap. share/gc/g1/g1_globals.hpp G1ExpandByPercentOfAvailable OpenJDK6 intx gc 20 experimental When expanding, % of uncommitted space to claim. share/gc/g1/g1_globals.hpp range(0, 100) G1HRRSUseSparseTable OpenJDK6 bool gc true develop When true, use sparse table to save space. share/gc/g1/g1_globals.hpp G1HeapRegionSize OpenJDK6 size_t gc 0 product Size of the G1 regions. share/gc/g1/g1_globals.hpp range(0, 32*M) 5 Amount of space, expressed as a percentage of the heap size, G1HeapWastePercent OpenJDK7 uintx gc range(0, 100) product that G1 is willing not to collect to avoid expensive GCs. share/gc/g1/g1_globals.hpp 50.0 The expected average occupancy of the last PLAB in G1LastPLABAverageOccupancy OpenJDK9 double gc range(0.001, 100.0) experimental percent. share/gc/g1/g1_globals.hpp 60 Percentage (0-100) of the heap size to use as default G1MaxNewSizePercent OpenJDK7 uintx gc range(0, 100) experimental maximum young gen size. share/gc/g1/g1_globals.hpp -1 The maximum number of verification failures to print. G1MaxVerifyFailures OpenJDK6 intx gc range(-1, max_jint) develop -1 means print all. share/gc/g1/g1_globals.hpp G1MixedGCCountTarget OpenJDK7 uintx gc 8 product The target number of mixed GCs after a marking cycle. share/gc/g1/g1_globals.hpp range(0, max_uintx) Threshold for regions to be considered for inclusion in the G1MixedGCLiveThresholdPercent OpenJDK7 uintx gc 85 experimental collection set of mixed GCs. share/gc/g1/g1_globals.hpp range(0, 100) Regions with live bytes exceeding this will not be collected. 5 Percentage (0-100) of the heap size to use as default G1NewSizePercent OpenJDK7 uintx gc range(0, 100) experimental minimum young gen size. share/gc/g1/g1_globals.hpp 10 An upper bound for the number of old CSet regions expressed G1OldCSetRegionThresholdPercent OpenJDK6 uintx gc range(0, 100) experimental as a percentage of the heap size. share/gc/g1/g1_globals.hpp G1PretouchAuxiliaryMemory OpenJDK9 bool gc false experimental Pre-touch large auxiliary data structures used by the GC. share/gc/g1/g1_globals.hpp G1RSetRegionEntriesBase OpenJDK6 intx gc 256 develop Max number of regions in a fine-grain table per MB. share/gc/g1/g1_globals.hpp range(1, max_jint/wordSize) Obsoleted Max number of regions for which we keep bitmaps. G1RSetRegionEntries OpenJDK6 in JDK18 intx gc 0 product Will be set ergonomically by default share/gc/g1/g1_globals.hpp Expired in range(0, max_jint/wordSize) JDK19 Deprecated in JDK14 Size of a work unit of cards claimed by a worker thread G1RSetScanBlockSize OpenJDK6 Obsoleted size_t gc 64 product during RSet scanning. share/gc/g1/g1_globals.hpp in JDK15 range(1, max_uintx) Expired in JDK16 4 Max number of entries per region in a sparse table G1RSetSparseRegionEntriesBase OpenJDK6 intx gc range(1, max_jint/wordSize) develop per MB. share/gc/g1/g1_globals.hpp Obsoleted Max number of entries per region in a sparse table. G1RSetSparseRegionEntries OpenJDK6 in JDK18 intx gc 0 product Will be set ergonomically by default. share/gc/g1/g1_globals.hpp Expired in range(0, max_jint/wordSize) JDK19 10 A target percentage of time that is allowed to be spend on G1RSetUpdatingPauseTimePercent OpenJDK6 intx gc range(0, 100) product process RS update buffers during the collection pause. share/gc/g1/g1_globals.hpp G1RebuildRemSetChunkSize OpenJDK11 size_t gc 256 * K experimental Chunk size used for rebuilding the remembered set. share/gc/g1/g1_globals.hpp range(4 * K, 32 * M) 1000 The number of discovered reference objects to process before G1RefProcDrainInterval OpenJDK6 uint gc range(1, INT_MAX) product draining concurrent marking work queues. share/gc/g1/g1_globals.hpp 10 It determines the minimum reserve we should have in the heap G1ReservePercent OpenJDK6 uintx gc range(0, 50) product to minimize the probability of promotion failure. share/gc/g1/g1_globals.hpp Before enqueueing them, each mutator thread tries to do some filtering on the SATB buffers it generates. If post-filtering G1SATBBufferEnqueueingThresholdPercent OpenJDK6 uintx gc 60 product the percentage of retained entries is over this threshold share/gc/g1/g1_globals.hpp range(0, 100) the buffer will be enqueued for processing. A value of 0 specifies that mutator threads should not do such filtering. G1SATBBufferSize OpenJDK6 size_t gc 1*K product Number of entries in an SATB log buffer. share/gc/g1/g1_globals.hpp range(1, max_uintx) G1SATBProcessCompletedThreshold OpenJDK6 intx gc 20 develop Number of completed buffers that triggers log processing. share/gc/g1/g1_globals.hpp range(0, max_jint) The period (in number of GCs) at which we will generate update buffer processing info G1SummarizeRSetStatsPeriod OpenJDK6 intx gc 0 diagnostic (0 means do not periodically generate this info); share/gc/g1/g1_globals.hpp range(0, max_intx) it also requires that logging is enabled on the trace level for gc+remset Obsoleted G1UpdateBufferSize OpenJDK6 in JDK26 size_t gc 256 product Size of an update buffer share/gc/g1/g1_globals.hpp Expired in range(1, NOT_LP64(32*M) LP64_ONLY(1*G)) JDK27 Obsoleted Select green, yellow and red zones adaptively to meet the G1UseAdaptiveConcRefinement OpenJDK6 in JDK20 bool gc true product the pause requirements. share/gc/g1/g1_globals.hpp Expired in JDK24 Adaptively adjust the initiating heap occupancy from the initial value of InitiatingHeapOccupancyPercent. The policy G1UseAdaptiveIHOP OpenJDK9 bool gc true product attempts to start marking in time based on application share/gc/g1/g1_globals.hpp behavior. Concurrently preclean java.lang.ref.references instances G1UseReferencePrecleaning OpenJDK11 bool gc true experimental before the Remark pause. share/gc/g1/g1_globals.hpp G1VerifyBitmaps OpenJDK8 bool gc false develop Verifies the consistency of the marking bitmaps share/gc/g1/g1_globals.hpp G1VerifyCTCleanup OpenJDK6 bool gc false develop Verify card table cleanup. share/gc/g1/g1_globals.hpp G1VerifyHeapRegionCodeRoots OpenJDK7 bool gc false diagnostic Verify the code root lists attached to each heap region. share/gc/g1/g1_globals.hpp If true, perform verification of each heap region's G1VerifyRSetsDuringFullGC OpenJDK7 bool gc false diagnostic remembered set when verifying the heap during a full GC. share/gc/g1/g1_globals.hpp GCALotAtAllSafepoints OpenJDK6 bool gc false notproduct Enforce ScavengeALot/GCALot at all potential safepoints share/gc/shared/ gc_globals.hpp 64 Number of entries we will try to leave on the stack share/gc/shared/ GCDrainStackTargetSize OpenJDK6 uintx gc range(0, max_juint) product during parallel gc gc_globals.hpp GCExpandToAllocateDelayMillis OpenJDK6 uintx gc 0 develop Delay between expansion and allocation (in milliseconds) share/gc/shared/ gc_globals.hpp 2 Minimum percentage of free space after a full GC before an share/gc/shared/ GCHeapFreeLimit OpenJDK6 uintx gc range(0, 100) product OutOfMemoryError is thrown (used with GCTimeLimit) gc_globals.hpp Obsoleted How much the GC can expand the eden by while the GC locker GCLockerEdenExpansionPercent OpenJDK6 in JDK23 uintx gc 5 product is active (as a percentage) share/gc/shared/ Expired in range(0, 100) gc_globals.hpp JDK24 Obsoleted The exit of a JNI critical section necessitating a scavenge, GCLockerInvokesConcurrent OpenJDK6 in JDK14 bool gc false product also kicks off a background concurrent collection share/gc/shared/ Expired in gc_globals.hpp JDK15 2 Number of times to retry allocations when share/gc/shared/ GCLockerRetryAllocationCount OpenJDK8 uintx gc range(0, max_uintx) diagnostic blocked by the GC locker gc_globals.hpp GCParallelVerificationEnabled OpenJDK6 bool gc true diagnostic Enable parallel memory system verification share/gc/shared/ gc_globals.hpp GCPauseIntervalMillis OpenJDK6 uintx gc 0 product Time slice for MMU specification share/gc/shared/ gc_globals.hpp Obsoleted GCTaskTimeStampEntries OpenJDK6 in JDK14 uint gc 200 product Number of time stamp entries per gc worker thread share/gc/shared/ Expired in range(1, max_jint) gc_globals.hpp JDK16 98 Limit of the proportion of time spent in GC before share/gc/shared/ GCTimeLimit OpenJDK6 uintx gc range(0, 100) product an OutOfMemoryError is thrown (used with GCHeapFreeLimit) gc_globals.hpp GCTimeRatio OpenJDK6 uintx gc 99 product Adaptive size policy application time to GC time ratio share/gc/shared/ range(0, max_juint) gc_globals.hpp GCWorkerDelayMillis OpenJDK8 uintx gc 0 develop Delay in scheduling GC workers (in milliseconds) share/gc/parallel/ parallel_globals.hpp GenerateArrayStoreCheck OpenJDK6 bool c1 true develop Generates code for array store checks share/c1/c1_globals.hpp GenerateRangeChecks OpenJDK6 bool runtime true develop Generate range checks for array accesses share/runtime/globals.hpp generate locking/unlocking code for synchronized methods and GenerateSynchronizationCode OpenJDK6 bool runtime true develop monitors share/runtime/globals.hpp 1000 Guarantee a safepoint (at least) every so many milliseconds GuaranteedSafepointInterval OpenJDK6 intx runtime range(0, max_jint) diagnostic (0 means none) share/runtime/globals.hpp HandshakeTimeout OpenJDK10 uint runtime 0 diagnostic If nonzero set a timeout in milliseconds for handshakes share/runtime/globals.hpp HeapBaseMinAddress OpenJDK6 size_t aix ppc 2*G define_pd_global os_cpu/aix_ppc/ globals_aix_ppc.hpp HeapBaseMinAddress OpenJDK6 uintx bsd aarch64 2*G define_pd_global os_cpu/bsd_aarch64/ globals_bsd_aarch64.hpp HeapBaseMinAddress OpenJDK6 size_t bsd x86 2*G define_pd_global os_cpu/bsd_x86/ globals_bsd_x86.hpp HeapBaseMinAddress OpenJDK6 size_t bsd zero 2*G define_pd_global os_cpu/bsd_zero/ globals_bsd_zero.hpp HeapBaseMinAddress OpenJDK6 uintx linux aarch64 2*G define_pd_global os_cpu/linux_aarch64/ globals_linux_aarch64.hpp HeapBaseMinAddress OpenJDK6 size_t linux arm 2*G define_pd_global os_cpu/linux_arm/ globals_linux_arm.hpp HeapBaseMinAddress OpenJDK6 size_t linux ppc 2*G define_pd_global os_cpu/linux_ppc/ globals_linux_ppc.hpp HeapBaseMinAddress OpenJDK6 size_t linux s390 2*G define_pd_global os_cpu/linux_s390/ globals_linux_s390.hpp HeapBaseMinAddress OpenJDK6 size_t linux sparc CONST64(4)*G define_pd_global os_cpu/linux_sparc/ globals_linux_sparc.hpp HeapBaseMinAddress OpenJDK6 size_t linux x86 2*G define_pd_global os_cpu/linux_x86/ globals_linux_x86.hpp HeapBaseMinAddress OpenJDK6 size_t linux zero 2*G define_pd_global os_cpu/linux_zero/ globals_linux_zero.hpp HeapBaseMinAddress OpenJDK6 size_t gc product_pd OS specific low limit for heap base address share/gc/shared/ gc_globals.hpp HeapBaseMinAddress OpenJDK6 size_t solaris sparc CONST64(6)*G define_pd_global os_cpu/solaris_sparc/ globals_solaris_sparc.hpp HeapBaseMinAddress OpenJDK6 size_t solaris x86 2*G define_pd_global os_cpu/solaris_x86/ globals_solaris_x86.hpp HeapBaseMinAddress OpenJDK6 uintx windows aarch64 2*G define_pd_global os_cpu/windows_aarch64/ globals_windows_aarch64.hpp HeapBaseMinAddress OpenJDK6 size_t windows x86 2*G define_pd_global os_cpu/windows_x86/ globals_windows_x86.hpp HeapDumpAfterFullGC OpenJDK6 bool runtime false manageable Dump heap to file after any major stop-the-world GC share/runtime/globals.hpp HeapDumpBeforeFullGC OpenJDK6 bool runtime false manageable Dump heap to file before any major stop-the-world GC share/runtime/globals.hpp HeapDumpOnOutOfMemoryError OpenJDK6 bool runtime false manageable Dump heap to file when java.lang.OutOfMemoryError is thrown share/runtime/globals.hpp When HeapDumpOnOutOfMemoryError is on, the path (filename or HeapDumpPath OpenJDK6 ccstr runtime NULL manageable directory) of the dump file (defaults to java_pid.hprof share/runtime/globals.hpp in the working directory) Obsoleted HeapFirstMaximumCompactionCount OpenJDK6 in JDK24 uintx gc 3 product The collection count for the first maximum compaction share/gc/parallel/ Expired in range(0, max_uintx) parallel_globals.hpp JDK25 Obsoleted How often should we maximally compact the heap (not allowing HeapMaximumCompactionInterval OpenJDK6 in JDK26 uintx gc 20 product any dead space) share/gc/parallel/ Expired in range(0, max_uintx) parallel_globals.hpp JDK27 Heap allocation steps through preferred address regions to find HeapSearchSteps OpenJDK9 uintx runtime 3 PPC64_ONLY(+17) product where it can allocate the heap. Number of steps to take per share/runtime/globals.hpp range(1, max_uintx) region. ScaleForWordSize(32*M) Size of heap (bytes) per GC thread used in calculating the share/gc/shared/ HeapSizePerGCThread OpenJDK6 size_t gc range((size_t)os::vm_page_size(), product number of GC threads gc_globals.hpp (size_t)max_uintx) 999999 large numbers of calls (per method invocation) force hotness HotCallCountThreshold OpenJDK6 intx c2 range(0, ((intx)MIN2((int64_t)max_intx, develop share/opto/c2_globals.hpp (int64_t)(+1.0e10)))) 999999 highly profitable inlining opportunities force hotness HotCallProfitThreshold OpenJDK6 intx c2 range(0, ((intx)MIN2((int64_t)max_intx, develop share/opto/c2_globals.hpp (int64_t)(+1.0e10)))) -1 trivial methods (no larger than this) force calls to be hot HotCallTrivialSize OpenJDK6 intx c2 range(-1, ((intx)MIN2((int64_t)max_intx, develop share/opto/c2_globals.hpp (int64_t)(+1.0e10)))) -1 trivial execution time (no larger than this) forces hotness HotCallTrivialWork OpenJDK6 intx c2 range(-1, ((intx)MIN2((int64_t)max_intx, develop share/opto/c2_globals.hpp (int64_t)(+1.0e10)))) 100000 Number of compiled code invocations after which HotMethodDetectionLimit OpenJDK9 intx runtime range(1, max_jint) diagnostic the method is considered as hot by the flusher share/runtime/globals.hpp Don't compile methods larger than this if HugeMethodLimit OpenJDK6 intx runtime 8000 develop +DontCompileHugeMethods share/runtime/globals.hpp ICMissHistogram OpenJDK6 bool runtime false notproduct Produce histogram of IC misses share/runtime/globals.hpp IEEEPrecision OpenJDK6 bool x86 true develop Enables IEEE precision (for INTEL only) cpu/x86/globals_x86.hpp INTPRESSURE OpenJDK6 intx aarch64 24 define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp INTPRESSURE OpenJDK6 intx arm 12 define_pd_global cpu/arm/c2_globals_arm.hpp INTPRESSURE OpenJDK6 intx c2 develop_pd Number of integer LRG's that constitute high register pressure share/opto/c2_globals.hpp INTPRESSURE OpenJDK6 intx ppc 26 define_pd_global cpu/ppc/c2_globals_ppc.hpp INTPRESSURE OpenJDK6 intx s390 10 define_pd_global // Medium size register set, 6 special purpose regs, 3 SOE regs. cpu/s390/ c2_globals_s390.hpp INTPRESSURE OpenJDK6 intx sparc 48 define_pd_global // large register set cpu/sparc/ c2_globals_sparc.hpp INTPRESSURE OpenJDK6 intx x86 6 define_pd_global cpu/x86/c2_globals_x86.hpp IdealizeClearArrayNode OpenJDK9 bool aarch64 true define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp IdealizeClearArrayNode OpenJDK9 bool c2 diagnostic_pd Replace ClearArrayNode by subgraph of basic operations. share/opto/c2_globals.hpp IdealizeClearArrayNode OpenJDK9 bool ppc true define_pd_global cpu/ppc/c2_globals_ppc.hpp IdealizeClearArrayNode OpenJDK9 bool s390 false define_pd_global cpu/s390/ c2_globals_s390.hpp IdealizeClearArrayNode OpenJDK9 bool sparc true define_pd_global cpu/sparc/ c2_globals_sparc.hpp IdealizeClearArrayNode OpenJDK9 bool x86 true define_pd_global cpu/x86/c2_globals_x86.hpp Check performance difference allowing FP IdealizedNumerics OpenJDK6 bool c2 false develop associativity and commutativity... share/opto/c2_globals.hpp IgnoreEmptyClassPaths OpenJDK8 bool runtime false product Ignore empty path elements in -classpath share/runtime/globals.hpp IgnoreLibthreadGPFault OpenJDK6 bool runtime false develop Suppress workaround for libthread GP fault share/runtime/globals.hpp IgnoreLockingAssertions OpenJDK6 bool runtime false notproduct disable locking assertions (for speed) share/runtime/globals.hpp Suppress rewrites of bytecodes in the oopmap generator. IgnoreRewrites OpenJDK6 bool runtime false develop This is unsafe! share/runtime/globals.hpp IgnoreUnrecognizedVMOptions OpenJDK6 bool runtime false product Ignore unrecognized VM options share/runtime/globals.hpp Deprecated in JDK10 Do not quit -Xshare:dump even if we encounter unverifiable IgnoreUnverifiableClassesDuringDump OpenJDK8 Obsoleted bool runtime true diagnostic classes. Just exclude them from the shared dictionary. share/runtime/globals.hpp in JDK12 Expired in JDK13 ImplicitDiv0Checks OpenJDK6 bool c1 true develop Use implicit division by zero checks share/c1/c1_globals.hpp 3 Don't do implicit null checks if NPE's in a method exceeds ImplicitNullCheckThreshold OpenJDK6 intx c2 range(0, max_jint) develop limit share/opto/c2_globals.hpp ImplicitNullChecks OpenJDK6 bool aarch64 true define_pd_global // Generate code for implicit null checks cpu/aarch64/ globals_aarch64.hpp ImplicitNullChecks OpenJDK6 bool arm true define_pd_global // Generate code for implicit null checks cpu/arm/globals_arm.hpp ImplicitNullChecks OpenJDK6 bool runtime diagnostic_pd Generate code for implicit null checks share/runtime/globals.hpp ImplicitNullChecks OpenJDK6 bool ppc true define_pd_global // Generate code for implicit null checks. cpu/ppc/globals_ppc.hpp ImplicitNullChecks OpenJDK6 bool s390 true define_pd_global // Generate code for implicit null checks. cpu/s390/globals_s390.hpp ImplicitNullChecks OpenJDK6 bool sparc true define_pd_global // Generate code for implicit null checks cpu/sparc/globals_sparc.hpp ImplicitNullChecks OpenJDK6 bool x86 true define_pd_global // Generate code for implicit null checks cpu/x86/globals_x86.hpp ImplicitNullChecks OpenJDK6 bool zero true define_pd_global cpu/zero/globals_zero.hpp 50 Increase the compile threshold for C1 compilation if the code IncreaseFirstTierCompileThresholdAt OpenJDK8 uintx runtime range(0, 99) product cache is filled by the specified percentage share/runtime/globals.hpp IncrementalInline OpenJDK7 bool c2 true product do post parse inlining share/opto/c2_globals.hpp IndexSetWatch OpenJDK6 intx c2 0 notproduct Trace all operations on this IndexSet (-1 means all, 0 none) share/opto/c2_globals.hpp range(-1, 0) InitArrayShortSize OpenJDK9 intx aarch64 BytesPerLong define_pd_global cpu/aarch64/ globals_aarch64.hpp InitArrayShortSize OpenJDK9 intx arm 8*BytesPerLong define_pd_global cpu/arm/globals_arm.hpp Threshold small size (in bytes) for clearing arrays. InitArrayShortSize OpenJDK9 intx runtime diagnostic_pd Anything this size or smaller may get converted to discrete share/runtime/globals.hpp scalar stores. InitArrayShortSize OpenJDK9 intx ppc 9*BytesPerLong define_pd_global cpu/ppc/globals_ppc.hpp InitArrayShortSize OpenJDK9 intx s390 1*BytesPerLong define_pd_global cpu/s390/globals_s390.hpp InitArrayShortSize OpenJDK9 intx sparc 8*BytesPerLong define_pd_global cpu/sparc/globals_sparc.hpp InitArrayShortSize OpenJDK9 intx x86 8*BytesPerLong define_pd_global cpu/x86/globals_x86.hpp InitArrayShortSize OpenJDK9 intx zero 0 define_pd_global cpu/zero/globals_zero.hpp Deprecated in JDK15 InitialBootClassLoaderMetaspaceSize OpenJDK8 Obsoleted size_t runtime NOT_LP64(2200*K) LP64_ONLY(4*M) product Initial size of the boot class loader data metaspace share/runtime/globals.hpp in JDK16 range(30*K, max_uintx/BytesPerWord) Expired in JDK17 InitialCodeCacheSize OpenJDK6 intx aarch64 160*K define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp InitialCodeCacheSize OpenJDK6 size_t arm 160*K define_pd_global cpu/arm/c1_globals_arm.hpp InitialCodeCacheSize OpenJDK6 uintx runtime product_pd Initial code cache size (in bytes) share/runtime/globals.hpp InitialCodeCacheSize OpenJDK6 uintx ppc 2048*K define_pd_global // Integral multiple of CodeCacheExpansionSize cpu/ppc/c2_globals_ppc.hpp InitialCodeCacheSize OpenJDK6 uintx s390 160*K define_pd_global cpu/s390/ c1_globals_s390.hpp InitialCodeCacheSize OpenJDK6 uintx sparc 2048*K define_pd_global // Integral multiple of CodeCacheExpansionSize cpu/sparc/ c2_globals_sparc.hpp InitialCodeCacheSize OpenJDK6 uintx x86 160*K define_pd_global cpu/x86/c1_globals_x86.hpp InitialHeapSize OpenJDK6 size_t gc 0 product Initial heap size (in bytes); zero means use ergonomics share/gc/shared/ gc_globals.hpp Deprecated in JDK10 Fraction (1/n) of real memory used for initial heap size. InitialRAMFraction OpenJDK6 Obsoleted uintx gc 64 product Deprecated, use InitialRAMPercentage instead share/gc/shared/ in JDK23 range(1, max_uintx) gc_globals.hpp Expired in JDK24 InitialRAMPercentage OpenJDK10 double gc 1.5625 product Percentage of real memory used for initial heap size share/gc/shared/ range(0.0, 100.0) gc_globals.hpp InitialSurvivorRatio OpenJDK6 uintx gc 8 product Initial ratio of young generation/survivor space size share/gc/shared/ range(0, max_uintx) gc_globals.hpp InitialTenuringThreshold OpenJDK6 uintx gc 7 product Initial value for tenuring threshold share/gc/shared/ range(0, markOopDesc::max_age + 1) gc_globals.hpp The percent occupancy (IHOP) of the current old generation capacity above which a concurrent mark cycle will be initiated Its value may change over time if adaptive IHOP is enabled, otherwise the value remains constant. InitiatingHeapOccupancyPercent OpenJDK6 uintx gc 45 product In the latter case a value of 0 will result as frequent as share/gc/shared/ range(0, 100) possible concurrent marking cycles. A value of 100 disables gc_globals.hpp concurrent marking. Fragmentation waste in the old generation is not considered free space in this calculation. (G1 collector only) Inject thread creation failures for InjectCompilerCreationFailure OpenJDK11 bool runtime false develop UseDynamicNumberOfCompilerThreads share/runtime/globals.hpp Inject thread creation failures for share/gc/shared/ InjectGCWorkerCreationFailure OpenJDK9 bool gc false diagnostic UseDynamicNumberOfGCThreads gc_globals.hpp InlineAccessors OpenJDK6 bool c2 true develop inline accessor methods (get/set) share/opto/c2_globals.hpp Inline arraycopy native that is known to be part of InlineArrayCopy OpenJDK6 bool runtime true diagnostic base library DLL share/runtime/globals.hpp InlineCacheBufferSize OpenJDK11 size_t runtime 10*K experimental InlineCacheBuffer size share/runtime/globals.hpp InlineClassNatives OpenJDK6 bool runtime true diagnostic Inline Class.isInstance, etc share/runtime/globals.hpp File containing inlining replay information InlineDataFile OpenJDK8 ccstr runtime NULL product [default: ./inline_pid%p.log] (%p replaced with pid) share/runtime/globals.hpp Obsoleted InlineFrequencyCount OpenJDK6 in JDK18 intx aarch64 100 define_pd_global cpu/aarch64/ Expired in globals_aarch64.hpp JDK19 Obsoleted InlineFrequencyCount OpenJDK6 in JDK18 intx arm 50 define_pd_global cpu/arm/globals_arm.hpp Expired in JDK19 Obsoleted Count of call site execution necessary to trigger frequent InlineFrequencyCount OpenJDK6 in JDK18 intx runtime diagnostic_pd inlining share/runtime/globals.hpp Expired in JDK19 Obsoleted InlineFrequencyCount OpenJDK6 in JDK18 intx ppc 100 define_pd_global cpu/ppc/globals_ppc.hpp Expired in JDK19 Obsoleted InlineFrequencyCount OpenJDK6 in JDK18 intx s390 100 define_pd_global cpu/s390/globals_s390.hpp Expired in JDK19 Obsoleted InlineFrequencyCount OpenJDK6 in JDK18 intx sparc 50 define_pd_global // we can use more inlining on the SPARC cpu/sparc/globals_sparc.hpp Expired in JDK19 Obsoleted InlineFrequencyCount OpenJDK6 in JDK18 intx x86 100 define_pd_global cpu/x86/globals_x86.hpp Expired in JDK19 Obsoleted InlineFrequencyCount OpenJDK6 in JDK18 intx zero 100 define_pd_global cpu/zero/globals_zero.hpp Expired in JDK19 InlineFrequencyRatio OpenJDK6 intx runtime 20 develop Ratio of call site execution to caller method invocation share/runtime/globals.hpp range(0, max_jint) InlineIntrinsics OpenJDK6 bool aarch64 true define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp InlineIntrinsics OpenJDK6 bool arm false define_pd_global // TODO: ARM cpu/arm/c1_globals_arm.hpp InlineIntrinsics OpenJDK6 bool runtime develop_pd Inline intrinsics that can be statically resolved share/runtime/globals.hpp InlineIntrinsics OpenJDK6 bool ppc true define_pd_global cpu/ppc/c2_globals_ppc.hpp InlineIntrinsics OpenJDK6 bool s390 true define_pd_global cpu/s390/ c1_globals_s390.hpp InlineIntrinsics OpenJDK6 bool sparc true define_pd_global cpu/sparc/ c2_globals_sparc.hpp InlineIntrinsics OpenJDK6 bool x86 true define_pd_global cpu/x86/c1_globals_x86.hpp InlineMathNatives OpenJDK6 bool runtime true diagnostic Inline SinD, CosD, etc. share/runtime/globals.hpp Inline methods containing exception handlers InlineMethodsWithExceptionHandlers OpenJDK6 bool c1 true develop (NOTE: does not work with current backend) share/c1/c1_globals.hpp InlineNIOCheckIndex OpenJDK6 bool c1 true diagnostic Intrinsify java.nio.Buffer.checkIndex share/c1/c1_globals.hpp InlineNatives OpenJDK6 bool runtime true diagnostic Inline natives that are known to be part of base library DLL share/runtime/globals.hpp InlineObjectCopy OpenJDK6 bool c2 true diagnostic inline Object.clone and Arrays.copyOf[Range] intrinsics share/opto/c2_globals.hpp Inline Object::hashCode() native that is known to be part InlineObjectHash OpenJDK6 bool runtime true diagnostic of base library DLL share/runtime/globals.hpp inline sun.reflect.Reflection.getCallerClass(), known to be InlineReflectionGetCallerClass OpenJDK6 bool c2 true diagnostic part of base library DLL share/opto/c2_globals.hpp InlineSmallCode OpenJDK6 intx aarch64 1000 define_pd_global cpu/aarch64/ globals_aarch64.hpp InlineSmallCode OpenJDK6 intx arm 1500 define_pd_global cpu/arm/globals_arm.hpp Only inline already compiled methods if their code size is InlineSmallCode OpenJDK6 intx runtime product_pd less than this share/runtime/globals.hpp InlineSmallCode OpenJDK6 intx ppc 1500 define_pd_global cpu/ppc/globals_ppc.hpp InlineSmallCode OpenJDK6 intx s390 2000 define_pd_global cpu/s390/globals_s390.hpp InlineSmallCode OpenJDK6 intx sparc 1500 define_pd_global cpu/sparc/globals_sparc.hpp InlineSmallCode OpenJDK6 intx x86 1000 define_pd_global cpu/x86/globals_x86.hpp InlineSmallCode OpenJDK6 intx zero 1000 define_pd_global cpu/zero/globals_zero.hpp InlineSynchronizedMethods OpenJDK6 bool c1 true product Inline synchronized methods share/c1/c1_globals.hpp InlineThreadNatives OpenJDK6 bool runtime true diagnostic Inline Thread.currentThread, etc share/runtime/globals.hpp InlineThrowCount OpenJDK6 intx runtime 50 develop Force inlining of interpreted methods that throw this often share/runtime/globals.hpp range(0, max_jint) InlineThrowMaxSize OpenJDK6 intx runtime 200 develop Force inlining of throwing methods smaller than this share/runtime/globals.hpp range(0, max_jint) InlineUnsafeOps OpenJDK6 bool runtime true diagnostic Inline memory ops (native methods) from Unsafe share/runtime/globals.hpp InlineWarmCalls OpenJDK6 bool c2 false develop Use a heat-based priority queue to govern inlining share/opto/c2_globals.hpp Inline OpenJDK6 bool runtime true product Enable inlining share/runtime/globals.hpp InsertEndGroupPPC64 OpenJDK7 bool ppc false product Insert EndGroup instructions to optimize for Power6. cpu/ppc/globals_ppc.hpp Obsoleted InsertMemBarAfterArraycopy OpenJDK6 in JDK16 bool c2 true product Insert memory barrier after arraycopy call share/opto/c2_globals.hpp Expired in JDK17 InstallMethods OpenJDK6 bool c1 true develop Install methods at the end of successful compilations share/c1/c1_globals.hpp InstructionCountCutoff OpenJDK6 intx c1 37000 develop If GraphBuilder adds this many instructions, bails out share/c1/c1_globals.hpp range(0, max_jint) Start debugger when an implicit OS (e.g. NULL) InterceptOSException OpenJDK6 bool runtime false develop exception happens share/runtime/globals.hpp InteriorEntryAlignment OpenJDK6 intx aarch64 16 define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp InteriorEntryAlignment OpenJDK6 intx arm 16 define_pd_global // = CodeEntryAlignment cpu/arm/c2_globals_arm.hpp Code alignment for interior entry points InteriorEntryAlignment OpenJDK6 intx c2 product_pd in generated code (in bytes) share/opto/c2_globals.hpp InteriorEntryAlignment OpenJDK6 intx ppc 16 define_pd_global cpu/ppc/c2_globals_ppc.hpp InteriorEntryAlignment OpenJDK6 intx s390 2 define_pd_global cpu/s390/ c2_globals_s390.hpp InteriorEntryAlignment OpenJDK6 intx sparc 16 define_pd_global // = CodeEntryAlignment cpu/sparc/ c2_globals_sparc.hpp InteriorEntryAlignment OpenJDK6 intx x86 4 define_pd_global cpu/x86/c2_globals_x86.hpp 33 NON_TIERED number of method invocations/branches (expressed as InterpreterProfilePercentage OpenJDK6 intx runtime range(0, 100) product % of CompileThreshold) before profiling in the interpreter share/runtime/globals.hpp JVMCICounterSize OpenJDK9 intx jvmci 0 experimental Reserved size for benchmark counters share/jvmci/ range(0, 1000000) jvmci_globals.hpp JVMCICountersExcludeCompiler OpenJDK9 bool jvmci true experimental Exclude JVMCI compiler threads from benchmark counters share/jvmci/ jvmci_globals.hpp JVMCIHostThreads OpenJDK9 intx jvmci 1 experimental Force number of compiler threads for JVMCI host compiler share/jvmci/ range(0, max_jint)) jvmci_globals.hpp JVMCINMethodSizeLimit OpenJDK9 intx jvmci (80*K)*wordSize experimental Maximum size of a compiled method. share/jvmci/ range(0, max_jint) jvmci_globals.hpp JVMCIPrintProperties OpenJDK9 bool jvmci false experimental Prints properties used by the JVMCI compiler and exits share/jvmci/ jvmci_globals.hpp JVMCIThreads OpenJDK9 intx jvmci 1 experimental Force number of JVMCI compiler threads to use share/jvmci/ range(1, max_jint) jvmci_globals.hpp Trace level for JVMCI: 0 share/jvmci/ JVMCITraceLevel OpenJDK9 intx jvmci range(0, 6) experimental 1 means emit a message for each CompilerToVM call, jvmci_globals.hpp levels greater than 1 provide progressively greater detail JVMCIUseFastLocking OpenJDK9 bool jvmci true develop Use fast inlined locking code share/jvmci/ jvmci_globals.hpp JVMInvokeMethodSlack OpenJDK6 size_t aix ppc 8192 define_pd_global os_cpu/aix_ppc/ globals_aix_ppc.hpp JVMInvokeMethodSlack OpenJDK6 uintx bsd aarch64 8192 define_pd_global os_cpu/bsd_aarch64/ globals_bsd_aarch64.hpp JVMInvokeMethodSlack OpenJDK6 size_t bsd x86 8192 define_pd_global os_cpu/bsd_x86/ globals_bsd_x86.hpp JVMInvokeMethodSlack OpenJDK6 size_t bsd zero 8192 define_pd_global os_cpu/bsd_zero/ globals_bsd_zero.hpp JVMInvokeMethodSlack OpenJDK6 uintx linux aarch64 8192 define_pd_global os_cpu/linux_aarch64/ globals_linux_aarch64.hpp JVMInvokeMethodSlack OpenJDK6 size_t linux arm 8192 define_pd_global os_cpu/linux_arm/ globals_linux_arm.hpp JVMInvokeMethodSlack OpenJDK6 size_t linux ppc 8192 define_pd_global os_cpu/linux_ppc/ globals_linux_ppc.hpp JVMInvokeMethodSlack OpenJDK6 size_t linux s390 8192 define_pd_global os_cpu/linux_s390/ globals_linux_s390.hpp JVMInvokeMethodSlack OpenJDK6 size_t linux sparc 12288 define_pd_global os_cpu/linux_sparc/ globals_linux_sparc.hpp JVMInvokeMethodSlack OpenJDK6 size_t linux x86 8192 define_pd_global os_cpu/linux_x86/ globals_linux_x86.hpp JVMInvokeMethodSlack OpenJDK6 size_t linux zero 8192 define_pd_global os_cpu/linux_zero/ globals_linux_zero.hpp JVMInvokeMethodSlack OpenJDK6 size_t runtime develop_pd Stack space (bytes) required for JVM_InvokeMethod to complete share/runtime/globals.hpp JVMInvokeMethodSlack OpenJDK6 size_t solaris sparc 12288 define_pd_global os_cpu/solaris_sparc/ globals_solaris_sparc.hpp JVMInvokeMethodSlack OpenJDK6 size_t solaris x86 10*K define_pd_global os_cpu/solaris_x86/ globals_solaris_x86.hpp JVMInvokeMethodSlack OpenJDK6 uintx windows aarch64 8192 define_pd_global os_cpu/windows_aarch64/ globals_windows_aarch64.hpp JVMInvokeMethodSlack OpenJDK6 size_t windows x86 8192 define_pd_global os_cpu/windows_x86/ globals_windows_x86.hpp Print information about Java monitor locks when the stacks are JavaMonitorsInStackTrace OpenJDK6 bool runtime true product dumped share/runtime/globals.hpp JavaPriority10_To_OSPriority OpenJDK6 intx runtime -1 product Map Java priorities to OS priorities share/runtime/globals.hpp range(-1, 127) JavaPriority1_To_OSPriority OpenJDK6 intx runtime -1 product Map Java priorities to OS priorities share/runtime/globals.hpp range(-1, 127) JavaPriority2_To_OSPriority OpenJDK6 intx runtime -1 product Map Java priorities to OS priorities share/runtime/globals.hpp range(-1, 127) JavaPriority3_To_OSPriority OpenJDK6 intx runtime -1 product Map Java priorities to OS priorities share/runtime/globals.hpp range(-1, 127) JavaPriority4_To_OSPriority OpenJDK6 intx runtime -1 product Map Java priorities to OS priorities share/runtime/globals.hpp range(-1, 127) JavaPriority5_To_OSPriority OpenJDK6 intx runtime -1 product Map Java priorities to OS priorities share/runtime/globals.hpp range(-1, 127) JavaPriority6_To_OSPriority OpenJDK6 intx runtime -1 product Map Java priorities to OS priorities share/runtime/globals.hpp range(-1, 127) JavaPriority7_To_OSPriority OpenJDK6 intx runtime -1 product Map Java priorities to OS priorities share/runtime/globals.hpp range(-1, 127) JavaPriority8_To_OSPriority OpenJDK6 intx runtime -1 product Map Java priorities to OS priorities share/runtime/globals.hpp range(-1, 127) JavaPriority9_To_OSPriority OpenJDK6 intx runtime -1 product Map Java priorities to OS priorities share/runtime/globals.hpp range(-1, 127) Obsoleted LIRFillDelaySlots OpenJDK6 in JDK15 bool aarch64 false define_pd_global cpu/aarch64/ Expired in c1_globals_aarch64.hpp JDK16 Obsoleted LIRFillDelaySlots OpenJDK6 in JDK15 bool arm false define_pd_global cpu/arm/c1_globals_arm.hpp Expired in JDK16 Obsoleted LIRFillDelaySlots OpenJDK6 in JDK15 bool c1 product_pd fill delays on on SPARC with LIR share/c1/c1_globals.hpp Expired in JDK16 Obsoleted LIRFillDelaySlots OpenJDK6 in JDK15 bool ppc false define_pd_global cpu/ppc/c1_globals_ppc.hpp Expired in JDK16 Obsoleted LIRFillDelaySlots OpenJDK6 in JDK15 bool s390 false define_pd_global cpu/s390/ Expired in c1_globals_s390.hpp JDK16 Obsoleted LIRFillDelaySlots OpenJDK6 in JDK15 bool sparc true define_pd_global cpu/sparc/ Expired in c1_globals_sparc.hpp JDK16 Obsoleted LIRFillDelaySlots OpenJDK6 in JDK15 bool x86 false define_pd_global cpu/x86/c1_globals_x86.hpp Expired in JDK16 LIRTraceExecution OpenJDK6 bool c1 false develop add LIR code which logs the execution of blocks share/c1/c1_globals.hpp LIRTracePeephole OpenJDK6 bool c1 false develop Trace peephole optimizer share/c1/c1_globals.hpp LargePageHeapSizeThreshold OpenJDK6 size_t runtime 128*M product Use large pages if maximum heap is at least this big share/runtime/globals.hpp range(0, max_uintx) LargePageSizeInBytes OpenJDK6 size_t runtime 0 product Large page size (0 to let VM choose the page size) share/runtime/globals.hpp range(0, max_uintx) LargePagesIndividualAllocationInjectError OpenJDK6 bool runtime false develop Fail large pages individual allocation share/runtime/globals.hpp LiveNodeCountInliningCutoff OpenJDK7 intx c2 40000 product max number of live nodes in a method share/opto/c2_globals.hpp range(0, max_juint / 8) LoadExecStackDllInVMThread OpenJDK7 bool linux true product Load DLLs with executable-stack attribute in the VM Thread os/linux/globals_linux.hpp LoadLineNumberTables OpenJDK6 bool runtime true develop Tell whether the class file parser loads line number tables share/runtime/globals.hpp LoadLocalVariableTables OpenJDK6 bool runtime true develop Tell whether the class file parser loads local variable tables share/runtime/globals.hpp Tell whether the class file parser loads local variable type LoadLocalVariableTypeTables OpenJDK6 bool runtime true develop tables share/runtime/globals.hpp LogCompilation OpenJDK6 bool runtime false diagnostic Log compilation activity in detail to LogFile share/runtime/globals.hpp LogEventsBufferEntries OpenJDK6 uintx runtime 20 diagnostic Number of ring buffer event logs share/runtime/globals.hpp range(1, NOT_LP64(1*K) LP64_ONLY(1*M)) LogEvents OpenJDK6 bool runtime true diagnostic Enable the various ring buffer event logs share/runtime/globals.hpp If LogVMOutput or LogCompilation is on, save VM output to LogFile OpenJDK6 ccstr runtime NULL diagnostic this file [default: ./hotspot_pid%p.log] (%p replaced with pid) share/runtime/globals.hpp LogSweeper OpenJDK6 bool runtime false notproduct Keep a ring buffer of sweeper activity share/runtime/globals.hpp LogTouchedMethods OpenJDK9 bool runtime false diagnostic Log methods which have been ever touched in runtime share/runtime/globals.hpp LogVMOutput OpenJDK6 bool runtime false diagnostic Save VM output to LogFile share/runtime/globals.hpp LongCompileThreshold OpenJDK6 intx runtime 50 develop Used with +TraceLongCompiles share/runtime/globals.hpp LoopMaxUnroll OpenJDK7 intx c2 16 product Maximum number of unrolls for main loop share/opto/c2_globals.hpp range(0, max_jint) LoopOptsCount OpenJDK6 intx c2 43 product Set level of loop optimization for tier 1 compiles share/opto/c2_globals.hpp range(5, 43) LoopPercentProfileLimit OpenJDK9 intx aarch64 10 define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp LoopPercentProfileLimit OpenJDK9 intx c2 product_pd Unroll loop bodies with % node count of profile limit share/opto/c2_globals.hpp LoopPercentProfileLimit OpenJDK9 intx ppc 10 define_pd_global cpu/ppc/c2_globals_ppc.hpp LoopPercentProfileLimit OpenJDK9 intx s390 10 define_pd_global cpu/s390/ c2_globals_s390.hpp LoopPercentProfileLimit OpenJDK9 intx sparc 10 define_pd_global cpu/sparc/ c2_globals_sparc.hpp LoopPercentProfileLimit OpenJDK9 intx x86 10 define_pd_global cpu/x86/c2_globals_x86.hpp LoopStripMiningIterShortLoop OpenJDK10 uintx c2 0 product Loop with fewer iterations are not strip mined share/opto/c2_globals.hpp range(0, max_juint) LoopStripMiningIter OpenJDK10 uintx c2 0 product Number of iterations in strip mined loop share/opto/c2_globals.hpp range(0, max_juint) LoopUnrollLimit OpenJDK6 intx aarch64 60 define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp LoopUnrollLimit OpenJDK6 intx c2 product_pd Unroll loop bodies with node count less than this share/opto/c2_globals.hpp LoopUnrollLimit OpenJDK6 intx ppc 60 define_pd_global cpu/ppc/c2_globals_ppc.hpp LoopUnrollLimit OpenJDK6 intx s390 60 define_pd_global cpu/s390/ c2_globals_s390.hpp LoopUnrollLimit OpenJDK6 intx sparc 60 define_pd_global // Design center runs on 1.3.1 cpu/sparc/ c2_globals_sparc.hpp LoopUnrollLimit OpenJDK6 intx x86 50 define_pd_global // Design center runs on 1.3.1 cpu/x86/c2_globals_x86.hpp 4 Minimum number of unroll loop bodies before checking progress LoopUnrollMin OpenJDK6 intx c2 range(0, max_jint) product of rounds of unroll,optimize,.. share/opto/c2_globals.hpp LoopUnswitching OpenJDK6 bool c2 true product Enable loop unswitching (a form of invariant test hoisting) share/opto/c2_globals.hpp MVCLEThreshold OpenJDK9 size_t s390 +2*(4*K) product Threshold above which page-aligned MVCLE copy/init is used. cpu/s390/globals_s390.hpp MallocCatchPtr OpenJDK6 intx runtime -1 develop Hit breakpoint when mallocing/freeing this pointer share/runtime/globals.hpp 0 If non-zero, maximum number of words that malloc/realloc can MallocMaxTestWords OpenJDK8 uintx runtime range(0, max_uintx) diagnostic allocate (for testing only) share/runtime/globals.hpp ManagementServer OpenJDK6 bool runtime false product Create JMX Management Server share/runtime/globals.hpp MarkStackSizeMax OpenJDK6 size_t gc NOT_LP64(4*M) LP64_ONLY(512*M) product Maximum size of marking stack share/gc/shared/ range(1, (max_jint - 1)) gc_globals.hpp MarkStackSize OpenJDK6 size_t gc NOT_LP64(32*K) LP64_ONLY(4*M) product Size of marking stack share/gc/shared/ gc_globals.hpp 4 How often should we fully compact the heap (ignoring the dead share/gc/shared/ MarkSweepAlwaysCompactCount OpenJDK6 uint gc range(1, max_juint) product space parameters) gc_globals.hpp Percentage (0-100) of the old gen allowed as dead wood. Serial mark sweep treats this as both the minimum and maximum value. 5 CMS uses this value only if it falls back to mark sweep. share/gc/shared/ MarkSweepDeadRatio OpenJDK6 uintx gc range(0, 100) product Par compact uses a variable scale based on the density of the gc_globals.hpp 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. MaxBCEAEstimateLevel OpenJDK6 intx runtime 5 product Maximum number of nested calls that are analyzed by BC EA share/runtime/globals.hpp range(0, max_jint) MaxBCEAEstimateSize OpenJDK6 intx runtime 150 product Maximum bytecode size of a method to be analyzed by BC EA share/runtime/globals.hpp range(0, max_jint) MaxDirectMemorySize OpenJDK6 uint64_t runtime 0 product Maximum total size of NIO direct-buffer allocations share/runtime/globals.hpp range(0, max_jlong) MaxElementPrintSize OpenJDK6 intx runtime 256 notproduct maximum number of elements to print share/runtime/globals.hpp MaxExpectedDataSegmentSize OpenJDK9 uintx aix 8*G product Maximum expected Data Segment Size. os/aix/globals_aix.hpp MaxFDLimit OpenJDK6 bool runtime true product Bump the number of file descriptors to maximum in Solaris share/runtime/globals.hpp 100 maximum number of nested calls that are forced for inlining MaxForceInlineLevel OpenJDK7 intx runtime range(0, max_jint) develop (using CompileCommand or marked w/ @ForceInline) share/runtime/globals.hpp Deprecated in JDK8 Adaptive size policy maximum GC minor pause time goal MaxGCMinorPauseMillis OpenJDK6 Obsoleted uintx gc max_uintx product in millisecond share/gc/shared/ in JDK23 range(0, max_uintx) gc_globals.hpp Expired in JDK24 max_uintx - 1 Adaptive size policy maximum GC pause time goal in millisecond, share/gc/shared/ MaxGCPauseMillis OpenJDK6 uintx gc range(1, max_uintx - 1) product or (G1 Only) the maximum GC time per MMU time slice gc_globals.hpp The maximum percentage of heap free after GC to avoid shrinking. MaxHeapFreeRatio OpenJDK6 uintx runtime 70 manageable For most GCs this applies to the old generation. In G1 and share/runtime/globals.hpp range(0, 100) ParallelGC it applies to the whole heap. MaxHeapSize OpenJDK6 size_t gc ScaleForWordSize(96*M) product Maximum heap size (in bytes) share/gc/shared/ gc_globals.hpp MaxInlineLevel OpenJDK6 intx runtime 15 product maximum number of nested calls that are inlined share/runtime/globals.hpp range(0, max_jint) MaxInlineSize OpenJDK6 intx runtime 35 product The maximum bytecode size of a method to be inlined share/runtime/globals.hpp range(0, max_jint) The maximum number of interpreted frames to skip when searching MaxInterpretedSearchLength OpenJDK6 intx runtime 3 develop for recompilee share/runtime/globals.hpp Maximum allowable local JNI handle capacity to MaxJNILocalCapacity OpenJDK8 intx runtime 65536 product EnsureLocalCapacity() and PushLocalFrame(), share/runtime/globals.hpp range(min_intx, max_intx) where <= 0 is unlimited, default: 65536 1024 The maximum number of lines in the stack trace for Java MaxJavaStackTraceDepth OpenJDK6 intx runtime range(0, max_jint/2) product exceptions (0 means all) share/runtime/globals.hpp MaxJumpTableSize OpenJDK6 intx c2 65000 product Maximum number of targets in a generated jump table share/opto/c2_globals.hpp range(0, max_intx) MaxJumpTableSparseness OpenJDK6 intx c2 5 product Maximum sparseness for jumptables share/opto/c2_globals.hpp range(0, max_intx / 4) MaxLabelRootDepth OpenJDK6 intx c2 1100 product Maximum times call Label_Root to prevent stack overflow share/opto/c2_globals.hpp range(100, max_jint) (OptoLoopAlignment-1) Align a loop if padding size in bytes is less or equal to this MaxLoopPad OpenJDK6 intx c2 range(0, max_jint) product value share/opto/c2_globals.hpp MaxMetaspaceExpansion OpenJDK8 size_t runtime ScaleForWordSize(4*M) product The maximum expansion of Metaspace without full GC (in bytes) share/runtime/globals.hpp range(0, max_uintx) 70 The maximum percentage of Metaspace free after GC to avoid MaxMetaspaceFreeRatio OpenJDK8 uintx runtime range(0, 100) product shrinking share/runtime/globals.hpp MaxMetaspaceSize OpenJDK8 size_t runtime max_uintx product Maximum size of Metaspaces (in bytes) share/runtime/globals.hpp max_uintx Maximum new generation size (in bytes), max_uintx means set share/gc/shared/ MaxNewSize OpenJDK6 size_t gc range(0, max_uintx) product ergonomically gc_globals.hpp MaxNodeLimit OpenJDK6 intx c2 80000 product Maximum number of nodes share/opto/c2_globals.hpp range(1000, max_jint / 3) Deprecated in JDK10 Maximum fraction (1/n) of real memory used for maximum heap MaxRAMFraction OpenJDK6 Obsoleted uintx gc 4 product size. share/gc/shared/ in JDK23 range(1, max_uintx) Deprecated, use MaxRAMPercentage instead gc_globals.hpp Expired in JDK24 MaxRAMPercentage OpenJDK10 double gc 25.0 product Maximum percentage of real memory used for maximum heap size share/gc/shared/ range(0.0, 100.0) gc_globals.hpp Deprecated in JDK26 MaxRAM OpenJDK6 Obsoleted uint64_t aarch64 1ULL*G define_pd_global cpu/aarch64/ in JDK27 c1_globals_aarch64.hpp Expired in JDK28 Deprecated in JDK26 MaxRAM OpenJDK6 Obsoleted uint64_t arm 1ULL*G define_pd_global cpu/arm/c1_globals_arm.hpp in JDK27 Expired in JDK28 Deprecated in JDK26 MaxRAM OpenJDK6 Obsoleted uint64_t gc product_pd Real memory size (in bytes) used to set maximum heap size share/gc/shared/ in JDK27 gc_globals.hpp Expired in JDK28 Deprecated in JDK26 MaxRAM OpenJDK6 Obsoleted uint64_t runtime 1ULL*G define_pd_global share/runtime/globals.hpp in JDK27 Expired in JDK28 Deprecated in JDK26 MaxRAM OpenJDK6 Obsoleted uint64_t ppc 128ULL*G define_pd_global cpu/ppc/c2_globals_ppc.hpp in JDK27 Expired in JDK28 Deprecated in JDK26 MaxRAM OpenJDK6 Obsoleted uint64_t s390 1ULL*G define_pd_global cpu/s390/ in JDK27 c1_globals_s390.hpp Expired in JDK28 Deprecated in JDK26 MaxRAM OpenJDK6 Obsoleted uint64_t sparc 128ULL*G define_pd_global cpu/sparc/ in JDK27 c2_globals_sparc.hpp Expired in JDK28 Deprecated in JDK26 MaxRAM OpenJDK6 Obsoleted uint64_t x86 1ULL*G define_pd_global cpu/x86/c1_globals_x86.hpp in JDK27 Expired in JDK28 The maximum number of frames to inspect when searching for MaxRecompilationSearchLength OpenJDK6 intx runtime 10 develop recompilee share/runtime/globals.hpp MaxRecursiveInlineLevel OpenJDK6 intx runtime 1 product maximum number of nested recursive calls that are inlined share/runtime/globals.hpp range(0, max_jint) MaxSubklassPrintSize OpenJDK6 intx runtime 4 notproduct maximum number of subklasses to print when printing klass share/runtime/globals.hpp MaxTenuringThreshold OpenJDK6 uintx gc 15 product Maximum value for tenuring threshold share/gc/shared/ range(0, markOopDesc::max_age + 1) gc_globals.hpp MaxTrivialSize OpenJDK6 intx runtime 6 product The maximum bytecode size of a trivial method to be inlined share/runtime/globals.hpp range(0, max_jint) 64 Max vector size in bytes, MaxVectorSize OpenJDK7 intx c2 range(0, max_jint) product actual size could be less depending on elements type share/opto/c2_globals.hpp Maximum fraction (1/n) of virtual memory used for ergonomically share/gc/shared/ MaxVirtMemFraction OpenJDK7 uintx gc 2 develop determining maximum heap size gc_globals.hpp MemProfilingInterval OpenJDK6 intx runtime 500 notproduct Time between each invocation of the MemProfiler share/runtime/globals.hpp MemProfiling OpenJDK6 bool runtime false develop Write memory usage profiling to log file share/runtime/globals.hpp MetadataAllocationFailALotInterval OpenJDK8 uintx gc 1000 develop Metadata allocation failure a lot interval share/gc/shared/ gc_globals.hpp Fail metadata allocations at intervals controlled by share/gc/shared/ MetadataAllocationFailALot OpenJDK8 bool gc false develop MetadataAllocationFailALotInterval gc_globals.hpp MetaspaceSize OpenJDK8 uintx aarch64 12*M define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp MetaspaceSize OpenJDK8 size_t arm 12*M define_pd_global cpu/arm/c1_globals_arm.hpp Initial threshold (in bytes) at which a garbage collection MetaspaceSize OpenJDK8 size_t runtime product_pd is done to reduce Metaspace usage share/runtime/globals.hpp MetaspaceSize OpenJDK8 size_t ppc ScaleForWordSize(16*M) define_pd_global cpu/ppc/c2_globals_ppc.hpp MetaspaceSize OpenJDK8 size_t s390 12*M define_pd_global cpu/s390/ c1_globals_s390.hpp MetaspaceSize OpenJDK8 size_t sparc ScaleForWordSize(16*M) define_pd_global cpu/sparc/ c2_globals_sparc.hpp MetaspaceSize OpenJDK8 size_t x86 12*M define_pd_global cpu/x86/c1_globals_x86.hpp MethodFlushing OpenJDK6 bool runtime true product Reclamation of zombie and not-entrant methods share/runtime/globals.hpp MethodHistogramCutoff OpenJDK6 intx runtime 100 develop The cutoff value for method invocation histogram (+CountCalls) share/runtime/globals.hpp MethodProfileWidth OpenJDK9 intx jvmci 0 experimental Number of methods to record in call profile share/jvmci/ jvmci_globals.hpp MinHeapDeltaBytes OpenJDK6 size_t runtime ScaleForWordSize(128*K) product The minimum change in heap space due to GC (in bytes) share/runtime/globals.hpp range(0, max_uintx) The minimum percentage of heap free after GC to avoid expansion. MinHeapFreeRatio OpenJDK6 uintx runtime 40 manageable For most GCs this applies to the old generation. In G1 and share/runtime/globals.hpp range(0, 100) ParallelGC it applies to the whole heap. Deprecated in JDK18 The minimum invocation count a method needs to have to be MinInliningThreshold OpenJDK6 Obsoleted intx runtime 250 product inlined share/runtime/globals.hpp in JDK19 range(0, max_jint) Expired in JDK20 MinJumpTableSize OpenJDK6 intx aarch64 10 define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp MinJumpTableSize OpenJDK6 intx c2 product_pd Minimum number of targets in a generated jump table share/opto/c2_globals.hpp MinJumpTableSize OpenJDK6 intx ppc 10 define_pd_global cpu/ppc/c2_globals_ppc.hpp MinJumpTableSize OpenJDK6 intx s390 18 define_pd_global cpu/s390/ c2_globals_s390.hpp MinJumpTableSize OpenJDK6 intx sparc 5 define_pd_global cpu/sparc/ c2_globals_sparc.hpp MinJumpTableSize OpenJDK6 intx x86 10 define_pd_global cpu/x86/c2_globals_x86.hpp MinMetaspaceExpansion OpenJDK8 size_t runtime ScaleForWordSize(256*K) product The minimum expansion of Metaspace (in bytes) share/runtime/globals.hpp range(0, max_uintx) 40 The minimum percentage of Metaspace free after GC to avoid MinMetaspaceFreeRatio OpenJDK8 uintx runtime range(0, 99) product expansion share/runtime/globals.hpp MinOopMapAllocation OpenJDK6 intx runtime 8 develop Minimum number of OopMap entries in an OopMapSet share/runtime/globals.hpp 10 Minimum number of sweeper passes before an nmethod MinPassesBeforeFlush OpenJDK9 intx runtime range(0, max_intx) diagnostic can be flushed share/runtime/globals.hpp Deprecated in JDK10 Minimum fraction (1/n) of real memory used for maximum heap MinRAMFraction OpenJDK6 Obsoleted uintx gc 2 product size on systems with small physical memory size. share/gc/shared/ in JDK23 range(1, max_uintx) Deprecated, use MinRAMPercentage instead gc_globals.hpp Expired in JDK24 50.0 Minimum percentage of real memory used for maximum heap share/gc/shared/ MinRAMPercentage OpenJDK10 double gc range(0.0, 100.0) product size on systems with small physical memory size gc_globals.hpp MinSurvivorRatio OpenJDK6 uintx gc 3 product Minimum ratio of young generation/survivor space size share/gc/shared/ range(3, max_uintx) gc_globals.hpp MinTLABSize OpenJDK6 size_t gc 2*K product Minimum allowed TLAB size (in bytes) share/gc/shared/ range(1, max_uintx/2) gc_globals.hpp Deprecated in JDK14 MonitorBound OpenJDK6 Obsoleted intx runtime 0 product Bound Monitor population share/runtime/globals.hpp in JDK15 range(0, max_jint) Expired in JDK16 Deprecated in JDK10 MonitorInUseLists OpenJDK6 Obsoleted bool runtime true product Track Monitors for Deflation share/runtime/globals.hpp in JDK12 Expired in JDK13 Percentage of used monitors before triggering cleanup MonitorUsedDeflationThreshold OpenJDK10 intx runtime 90 experimental safepoint which deflates monitors (0 is off). share/runtime/globals.hpp range(0, 100) The check is performed on GuaranteedSafepointInterval. MonomorphicArrayCheck OpenJDK6 bool c2 true develop Uncommon-trap array store checks that require full type check share/opto/c2_globals.hpp 6 Maximum number of individual allocations in an inline-expanded MultiArrayExpandLimit OpenJDK6 intx c2 range(0, max_jint) product multianewarray instruction share/opto/c2_globals.hpp NMethodSizeLimit OpenJDK6 intx c1 (64*K)*wordSize develop Maximum size of a compiled method. share/c1/c1_globals.hpp range(0, max_jint) Percentage (0-100) used to weight the current sample when NUMAChunkResizeWeight OpenJDK6 uintx runtime 20 product computing exponentially decaying average for share/runtime/globals.hpp range(0, 100) AdaptiveNUMAChunkSizing 2*M Granularity to use for NUMA interleaving on Windows OS NUMAInterleaveGranularity OpenJDK6 size_t runtime range(os::vm_allocation_granularity(), product share/runtime/globals.hpp NOT_LP64(2*G) LP64_ONLY(8192*G)) Obsoleted NUMAPageScanRate OpenJDK6 in JDK23 uintx runtime 256 product Maximum number of pages to include in the page scan procedure share/runtime/globals.hpp Expired in range(0, max_uintx) JDK24 NUMASpaceResizeRate OpenJDK6 size_t runtime 1*G product Do not reallocate more than this amount per collection share/runtime/globals.hpp range(0, max_uintx) NUMAStats OpenJDK6 bool runtime false product Print NUMA stats in detailed heap information share/runtime/globals.hpp NativeMemoryTracking OpenJDK7 ccstr runtime off product Native memory tracking options share/runtime/globals.hpp NearCpool OpenJDK9 Obsoleted bool aarch64 true product constant pool is close to instructions cpu/aarch64/ in JDK25 globals_aarch64.hpp Obsoleted NeedsDeoptSuspend OpenJDK6 in JDK13 bool aarch64 false define_pd_global // only register window machines need this cpu/aarch64/ Expired in globals_aarch64.hpp JDK14 Obsoleted NeedsDeoptSuspend OpenJDK6 in JDK13 bool arm false define_pd_global // only register window machines need this cpu/arm/globals_arm.hpp Expired in JDK14 Obsoleted NeedsDeoptSuspend OpenJDK6 in JDK13 bool runtime product_pd True for register window machines (sparc/ia64) share/runtime/globals.hpp Expired in JDK14 Obsoleted NeedsDeoptSuspend OpenJDK6 in JDK13 bool ppc false define_pd_global // Only register window machines need this. cpu/ppc/globals_ppc.hpp Expired in JDK14 Obsoleted NeedsDeoptSuspend OpenJDK6 in JDK13 bool s390 false define_pd_global // Only register window machines need this. cpu/s390/globals_s390.hpp Expired in JDK14 Obsoleted NeedsDeoptSuspend OpenJDK6 in JDK13 bool sparc true define_pd_global // register window machines need this cpu/sparc/globals_sparc.hpp Expired in JDK14 Obsoleted NeedsDeoptSuspend OpenJDK6 in JDK13 bool x86 false define_pd_global // only register window machines need this cpu/x86/globals_x86.hpp Expired in JDK14 Obsoleted NeedsDeoptSuspend OpenJDK6 in JDK13 bool zero false define_pd_global cpu/zero/globals_zero.hpp Expired in JDK14 NestedInliningSizeRatio OpenJDK6 intx c1 90 develop Percentage of prev. allowed inline size in recursive inlining share/c1/c1_globals.hpp range(0, 100) Deprecated in JDK26 NeverActAsServerClassMachine OpenJDK6 Obsoleted bool aarch64 true define_pd_global cpu/aarch64/ in JDK27 c1_globals_aarch64.hpp Expired in JDK28 Deprecated in JDK26 NeverActAsServerClassMachine OpenJDK6 Obsoleted bool arm true define_pd_global cpu/arm/c1_globals_arm.hpp in JDK27 Expired in JDK28 Deprecated in JDK26 NeverActAsServerClassMachine OpenJDK6 Obsoleted bool gc product_pd Never act like a server-class machine share/gc/shared/ in JDK27 gc_globals.hpp Expired in JDK28 Deprecated in JDK26 NeverActAsServerClassMachine OpenJDK6 Obsoleted bool runtime true define_pd_global share/runtime/globals.hpp in JDK27 Expired in JDK28 Deprecated in JDK26 NeverActAsServerClassMachine OpenJDK6 Obsoleted bool ppc false define_pd_global cpu/ppc/c2_globals_ppc.hpp in JDK27 Expired in JDK28 Deprecated in JDK26 NeverActAsServerClassMachine OpenJDK6 Obsoleted bool s390 true define_pd_global cpu/s390/ in JDK27 c1_globals_s390.hpp Expired in JDK28 Deprecated in JDK26 NeverActAsServerClassMachine OpenJDK6 Obsoleted bool sparc false define_pd_global cpu/sparc/ in JDK27 c2_globals_sparc.hpp Expired in JDK28 Deprecated in JDK26 NeverActAsServerClassMachine OpenJDK6 Obsoleted bool x86 true define_pd_global cpu/x86/c1_globals_x86.hpp in JDK27 Expired in JDK28 Never tenure objects in eden, may tenure on overflow share/gc/shared/ NeverTenure OpenJDK6 bool gc false product (ParallelGC only) gc_globals.hpp Testing Only: Create a dedicated integer parameter before NewCodeParameter OpenJDK6 intx runtime 0 develop putback share/runtime/globals.hpp NewRatio OpenJDK6 uintx gc 2 product Ratio of old/new generation sizes share/gc/shared/ range(0, max_uintx-1) gc_globals.hpp Obsoleted NewSizeThreadIncrease OpenJDK6 in JDK27 intx aarch64 4*K define_pd_global cpu/aarch64/ Expired in c1_globals_aarch64.hpp JDK28 Obsoleted NewSizeThreadIncrease OpenJDK6 in JDK27 size_t arm 4*K define_pd_global cpu/arm/c1_globals_arm.hpp Expired in JDK28 Obsoleted Additional size added to desired new generation size per NewSizeThreadIncrease OpenJDK6 in JDK27 size_t gc product_pd non-daemon thread (in bytes) share/gc/shared/ Expired in gc_globals.hpp JDK28 Obsoleted NewSizeThreadIncrease OpenJDK6 in JDK27 size_t runtime 4*K define_pd_global share/runtime/globals.hpp Expired in JDK28 Obsoleted NewSizeThreadIncrease OpenJDK6 in JDK27 size_t ppc ScaleForWordSize(4*K) define_pd_global cpu/ppc/c2_globals_ppc.hpp Expired in JDK28 Obsoleted NewSizeThreadIncrease OpenJDK6 in JDK27 size_t s390 16*K define_pd_global cpu/s390/ Expired in c1_globals_s390.hpp JDK28 Obsoleted NewSizeThreadIncrease OpenJDK6 in JDK27 size_t sparc ScaleForWordSize(4*K) define_pd_global cpu/sparc/ Expired in c2_globals_sparc.hpp JDK28 Obsoleted NewSizeThreadIncrease OpenJDK6 in JDK27 size_t x86 4*K define_pd_global cpu/x86/c1_globals_x86.hpp Expired in JDK28 NewSize OpenJDK6 size_t gc ScaleForWordSize(1*M) product Initial new generation size (in bytes) share/gc/shared/ gc_globals.hpp 10 Removes cold nmethods from code cache if > 0. Higher values NmethodSweepActivity OpenJDK8 intx runtime range(0, 2000) product result in more aggressive sweeping share/runtime/globals.hpp NodeCountInliningCutoff OpenJDK6 intx c2 18000 develop If parser node generation exceeds limit stop inlining share/opto/c2_globals.hpp range(0, max_jint) NodeCountInliningStep OpenJDK6 intx c2 1000 develop Target size of warm calls inlined between optimization passes share/opto/c2_globals.hpp range(0, max_jint) NodeLimitFudgeFactor OpenJDK6 intx c2 2000 product Fudge Factor for certain optimizations share/opto/c2_globals.hpp NonNMethodCodeHeapSize OpenJDK9 intx aarch64 5*M define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp NonNMethodCodeHeapSize OpenJDK9 size_t arm 5*M define_pd_global cpu/arm/c1_globals_arm.hpp NonNMethodCodeHeapSize OpenJDK9 uintx runtime product_pd Size of code heap with non-nmethods (in bytes) share/runtime/globals.hpp NonNMethodCodeHeapSize OpenJDK9 uintx ppc 5*M define_pd_global cpu/ppc/c2_globals_ppc.hpp NonNMethodCodeHeapSize OpenJDK9 uintx s390 5*M define_pd_global cpu/s390/ c1_globals_s390.hpp NonNMethodCodeHeapSize OpenJDK9 uintx sparc 5*M define_pd_global cpu/sparc/ c2_globals_sparc.hpp NonNMethodCodeHeapSize OpenJDK9 uintx x86 5*M define_pd_global cpu/x86/c1_globals_x86.hpp NonProfiledCodeHeapSize OpenJDK9 intx aarch64 13*M define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp NonProfiledCodeHeapSize OpenJDK9 size_t arm 13*M define_pd_global cpu/arm/c1_globals_arm.hpp NonProfiledCodeHeapSize OpenJDK9 uintx runtime product_pd Size of code heap with non-profiled methods (in bytes) share/runtime/globals.hpp NonProfiledCodeHeapSize OpenJDK9 uintx ppc 21*M define_pd_global cpu/ppc/c2_globals_ppc.hpp NonProfiledCodeHeapSize OpenJDK9 uintx s390 13*M define_pd_global cpu/s390/ c1_globals_s390.hpp NonProfiledCodeHeapSize OpenJDK9 uintx sparc 21*M define_pd_global cpu/sparc/ c2_globals_sparc.hpp NonProfiledCodeHeapSize OpenJDK9 uintx x86 13*M define_pd_global cpu/x86/c1_globals_x86.hpp NumberOfLoopInstrToAlign OpenJDK6 intx c2 4 product Number of first instructions in a loop to align share/opto/c2_globals.hpp range(0, max_jint) OSROnlyBCI OpenJDK6 intx runtime -1 develop OSR only at this bci. Negative values mean exclude that bci share/runtime/globals.hpp Number of object array elements to push onto the marking stack share/gc/shared/ ObjArrayMarkingStride OpenJDK6 uintx gc 2048 develop before pushing a continuation entry gc_globals.hpp ObjectAlignmentInBytes OpenJDK6 intx runtime 8 lp64_product Default object alignment in bytes, 8 is minimum share/runtime/globals.hpp range(8, 256) 0.5 The percentage of the used heap that the instances of a class ObjectCountCutOffPercent OpenJDK7 double runtime range(0.0, 100.0) experimental must occupy for the class to generate a trace event share/runtime/globals.hpp Size of old gen promotion LAB's (in HeapWords), or Number share/gc/shared/ OldPLABSize OpenJDK6 size_t gc 1024 product of blocks to attempt to claim when refilling CMS LAB's gc_globals.hpp Obsoleted Percentage (0-100) used to weight the current sample when OldPLABWeight OpenJDK6 in JDK14 uintx gc 50 product computing exponentially decaying average for resizing share/gc/shared/ Expired in range(0, 100) OldPLABSize gc_globals.hpp JDK15 Deprecated in JDK23 OldSize OpenJDK6 Obsoleted size_t gc ScaleForWordSize(4*M) product Initial tenured generation size (in bytes) share/gc/shared/ in JDK24 range(0, max_uintx) gc_globals.hpp Expired in JDK25 OmitStackTraceInFastThrow OpenJDK6 bool runtime true product Omit backtraces for some 'hot' exceptions in optimized code share/runtime/globals.hpp Run user-defined commands on fatal error; see VMError.cpp OnError OpenJDK6 ccstrlist runtime product for examples share/runtime/globals.hpp OnOutOfMemoryError OpenJDK6 ccstrlist runtime product Run user-defined commands on first java.lang.OutOfMemoryError share/runtime/globals.hpp OnStackReplacePercentage OpenJDK6 intx aarch64 933 define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp OnStackReplacePercentage OpenJDK6 intx arm 933 define_pd_global cpu/arm/c1_globals_arm.hpp NON_TIERED number of method invocations/branches (expressed as OnStackReplacePercentage OpenJDK6 intx runtime product_pd % of CompileThreshold) before (re-)compiling OSR code share/runtime/globals.hpp OnStackReplacePercentage OpenJDK6 intx ppc 140 define_pd_global cpu/ppc/c2_globals_ppc.hpp OnStackReplacePercentage OpenJDK6 intx s390 1400 define_pd_global cpu/s390/ c1_globals_s390.hpp OnStackReplacePercentage OpenJDK6 intx sparc 140 define_pd_global cpu/sparc/ c2_globals_sparc.hpp OnStackReplacePercentage OpenJDK6 intx x86 933 define_pd_global cpu/x86/c1_globals_x86.hpp OptimizeExpensiveOps OpenJDK7 bool c2 true diagnostic Find best control for expensive operations share/opto/c2_globals.hpp OptimizeFill OpenJDK6 bool c2 true PPC64_ONLY(&& false) product convert fill/copy loops into intrinsic share/opto/c2_globals.hpp OptimizeIfOps OpenJDK6 bool c1 true develop Optimize multiple IfOps share/c1/c1_globals.hpp OptimizePollingPageLocation OpenJDK7 bool aix true product Optimize the location of the polling page used for Safepoints os/aix/globals_aix.hpp OptimizePtrCompare OpenJDK6 bool c2 true product Use escape analysis to optimize pointers compare share/opto/c2_globals.hpp OptimizeSinglePrecision OpenJDK6 bool aarch64 true define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp OptimizeSinglePrecision OpenJDK6 bool arm true define_pd_global cpu/arm/c1_globals_arm.hpp OptimizeSinglePrecision OpenJDK6 bool ppc false define_pd_global cpu/ppc/c1_globals_ppc.hpp OptimizeSinglePrecision OpenJDK6 bool s390 false define_pd_global cpu/s390/ c1_globals_s390.hpp OptimizeSinglePrecision OpenJDK6 bool sparc false define_pd_global cpu/sparc/ c1_globals_sparc.hpp OptimizeSinglePrecision OpenJDK6 bool x86 true define_pd_global cpu/x86/c1_globals_x86.hpp OptimizeStringConcat OpenJDK6 bool c2 true product Optimize the construction of Strings by StringBuilder share/opto/c2_globals.hpp OptimizeUnsafes OpenJDK6 bool c1 true develop Optimize raw unsafe ops share/c1/c1_globals.hpp OptoBlockListSize OpenJDK6 intx c2 8 develop Starting allocation size of Block_List data structures share/opto/c2_globals.hpp range(0, max_jint) OptoBreakpointC2R OpenJDK6 bool c2 false notproduct insert breakpoint at runtime stub entry share/opto/c2_globals.hpp OptoBreakpointOSR OpenJDK6 bool c2 false notproduct insert breakpoint at osr method entry share/opto/c2_globals.hpp OptoBreakpoint OpenJDK6 bool c2 false develop insert breakpoint at method entry share/opto/c2_globals.hpp OptoBundling OpenJDK6 bool aarch64 false define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp OptoBundling OpenJDK6 bool c2 product_pd Generate nops to fill i-cache lines share/opto/c2_globals.hpp OptoBundling OpenJDK6 bool ppc false define_pd_global cpu/ppc/c2_globals_ppc.hpp OptoBundling OpenJDK6 bool s390 false define_pd_global cpu/s390/ c2_globals_s390.hpp OptoBundling OpenJDK6 bool sparc false define_pd_global cpu/sparc/ c2_globals_sparc.hpp OptoBundling OpenJDK6 bool x86 false define_pd_global cpu/x86/c2_globals_x86.hpp OptoCoalesce OpenJDK6 bool c2 true develop Use Conservative Copy Coalescing in the Register Allocator share/opto/c2_globals.hpp OptoLoopAlignment OpenJDK6 intx aarch64 16 define_pd_global cpu/aarch64/ globals_aarch64.hpp OptoLoopAlignment OpenJDK6 intx arm 16 define_pd_global cpu/arm/globals_arm.hpp OptoLoopAlignment OpenJDK6 intx runtime product_pd Align inner loops to zero relative to this modulus share/runtime/globals.hpp OptoLoopAlignment OpenJDK6 intx ppc 16 define_pd_global cpu/ppc/globals_ppc.hpp OptoLoopAlignment OpenJDK6 intx s390 2 define_pd_global cpu/s390/globals_s390.hpp OptoLoopAlignment OpenJDK6 intx sparc 16 define_pd_global // = 4*wordSize cpu/sparc/globals_sparc.hpp OptoLoopAlignment OpenJDK6 intx x86 16 define_pd_global cpu/x86/globals_x86.hpp OptoLoopAlignment OpenJDK6 intx zero 16 define_pd_global cpu/zero/globals_zero.hpp OptoNoExecute OpenJDK6 bool c2 false notproduct Attempt to parse and compile but do not execute generated code share/opto/c2_globals.hpp OptoNodeListSize OpenJDK6 intx c2 4 develop Starting allocation size of Node_List data structures share/opto/c2_globals.hpp range(0, max_jint) OptoPeepholeAt OpenJDK6 intx c2 -1 develop Apply peephole optimizations to this peephole rule share/opto/c2_globals.hpp OptoPeephole OpenJDK6 bool aarch64 false define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp OptoPeephole OpenJDK6 bool c2 develop_pd Apply peephole optimizations after register allocation share/opto/c2_globals.hpp OptoPeephole OpenJDK6 bool ppc false define_pd_global cpu/ppc/c2_globals_ppc.hpp OptoPeephole OpenJDK6 bool s390 false define_pd_global cpu/s390/ c2_globals_s390.hpp OptoPeephole OpenJDK6 bool sparc false define_pd_global cpu/sparc/ c2_globals_sparc.hpp OptoPeephole OpenJDK6 bool x86 true define_pd_global cpu/x86/c2_globals_x86.hpp 0 Insert this many extra nop instructions OptoPrologueNops OpenJDK6 intx c2 range(0, 128) develop in the prologue of every nmethod share/opto/c2_globals.hpp OptoRegScheduling OpenJDK9 bool aarch64 false define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp OptoRegScheduling OpenJDK9 bool c2 product_pd Instruction Scheduling before register allocation for pressure share/opto/c2_globals.hpp OptoRegScheduling OpenJDK9 bool ppc false define_pd_global cpu/ppc/c2_globals_ppc.hpp OptoRegScheduling OpenJDK9 bool s390 false define_pd_global cpu/s390/ c2_globals_s390.hpp OptoRegScheduling OpenJDK9 bool sparc false define_pd_global cpu/sparc/ c2_globals_sparc.hpp OptoRegScheduling OpenJDK9 bool x86 true define_pd_global cpu/x86/c2_globals_x86.hpp OptoRemoveUseless OpenJDK6 bool c2 true develop Remove useless nodes after parsing share/opto/c2_globals.hpp OptoScheduling OpenJDK6 bool aarch64 false define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp OptoScheduling OpenJDK6 bool c2 product_pd Instruction Scheduling after register allocation share/opto/c2_globals.hpp OptoScheduling OpenJDK6 bool ppc false define_pd_global cpu/ppc/c2_globals_ppc.hpp OptoScheduling OpenJDK6 bool s390 false define_pd_global cpu/s390/ c2_globals_s390.hpp OptoScheduling OpenJDK6 bool sparc true define_pd_global cpu/sparc/ c2_globals_sparc.hpp OptoScheduling OpenJDK6 bool x86 false define_pd_global cpu/x86/c2_globals_x86.hpp 75 Percentage (0-100) used to weight the current sample when share/gc/shared/ PLABWeight OpenJDK6 uintx gc range(0, 100) product computing exponentially decaying average for ResizePLAB gc_globals.hpp PSAdaptiveSizePolicyResizeVirtualSpaceAlot OpenJDK6 intx gc -1 develop Resize the virtual spaces of the young or old generations share/gc/shared/ range(-1, 1) gc_globals.hpp Deprecated in JDK26 PSChunkLargeArrays OpenJDK6 Obsoleted bool gc true product Process large arrays in chunks share/gc/parallel/ in JDK27 parallel_globals.hpp Expired in JDK28 50 Scan a subset of object array and push remainder, if array is share/gc/shared/ ParGCArrayScanChunk OpenJDK6 int gc range(1, max_jint/3) product bigger than this gc_globals.hpp 256 The number of cards in each chunk of the parallel chunks used share/gc/cms/ ParGCCardsPerStrideChunk OpenJDK6 intx gc range(1, max_intx) diagnostic during card table scanning cms_globals.hpp Obsoleted ParGCDesiredObjsFromOverflowList OpenJDK6 in JDK14 uintx gc 20 product The desired number of objects to claim from the overflow list share/gc/cms/ Expired in range(0, max_uintx) cms_globals.hpp JDK15 2 The number of strides per worker thread that we divide up the share/gc/cms/ ParGCStridesPerThread OpenJDK6 uintx gc range(1, max_uintx) diagnostic card table scanning work into cms_globals.hpp Obsoleted Eagerly trim the local overflow lists ParGCTrimOverflow OpenJDK6 in JDK14 bool gc true product (when ParGCUseLocalOverflow) share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted ParGCUseLocalOverflow OpenJDK6 in JDK14 bool gc false product Instead of a global overflow list, use local overflow stacks share/gc/cms/ Expired in cms_globals.hpp JDK15 ParGCWorkQueueOverflowALot OpenJDK6 bool gc false notproduct Simulate work queue overflow in ParNew share/gc/cms/ cms_globals.hpp An `interval' counter that determines how frequently share/gc/cms/ ParGCWorkQueueOverflowInterval OpenJDK6 uintx gc 1000 notproduct we simulate overflow; a smaller number increases frequency cms_globals.hpp ParallelGCBufferWastePct OpenJDK6 uintx gc 10 product Wasted fraction of parallel allocation buffer share/gc/shared/ range(0, 100) gc_globals.hpp ParallelGCThreads OpenJDK6 uint gc 0 product Number of parallel threads parallel gc will use share/gc/shared/ gc_globals.hpp Obsoleted The mean used by the parallel compact dead wood ParallelOldDeadWoodLimiterMean OpenJDK6 in JDK23 size_t gc 50 product limiter (a number between 0-100) share/gc/parallel/ Expired in range(0, 100) parallel_globals.hpp JDK24 Obsoleted The standard deviation used by the parallel compact dead wood ParallelOldDeadWoodLimiterStdDev OpenJDK6 in JDK23 size_t gc 80 product limiter (a number between 0-100) share/gc/parallel/ Expired in range(0, 100) parallel_globals.hpp JDK24 Deprecated in JDK26 ParallelRefProcBalancingEnabled OpenJDK6 Obsoleted bool gc true product Enable balancing of reference processing queues share/gc/shared/ in JDK27 gc_globals.hpp Expired in JDK28 Deprecated in JDK26 ParallelRefProcEnabled OpenJDK6 Obsoleted bool gc false product Enable parallel reference processing whenever possible share/gc/shared/ in JDK27 gc_globals.hpp Expired in JDK28 PartialPeelAtUnsignedTests OpenJDK6 bool c2 true product Partial peel at unsigned tests if no signed test exists share/opto/c2_globals.hpp PartialPeelLoop OpenJDK6 bool c2 true product Partial peel (rotate) loops share/opto/c2_globals.hpp PartialPeelNewPhiDelta OpenJDK6 intx c2 0 product Additional phis that can be created by partial peeling share/opto/c2_globals.hpp range(0, max_jint) PatchALot OpenJDK6 bool c1 false develop Marks all fields as having unloaded classes share/c1/c1_globals.hpp PauseAtExit OpenJDK6 bool runtime false diagnostic Pause and wait for keypress on exit if a debugger is attached share/runtime/globals.hpp The file to create and for whose removal to await when pausing PauseAtStartupFile OpenJDK6 ccstr runtime NULL diagnostic at startup. (default: ./vm.paused.) share/runtime/globals.hpp Causes the VM to pause at startup time and wait for the pause PauseAtStartup OpenJDK6 bool runtime false diagnostic file to be removed (default: ./vm.paused.) share/runtime/globals.hpp Obsoleted PausePadding OpenJDK6 in JDK26 uintx gc 1 product How much buffer to keep for pause time share/gc/shared/ Expired in range(0, max_juint) gc_globals.hpp JDK27 PerBytecodeRecompilationCutoff OpenJDK6 intx runtime 200 product Per-BCI limit on repeated recompilation (-1=>'Inf') share/runtime/globals.hpp range(-1, max_intx) PerBytecodeTrapLimit OpenJDK6 intx runtime 4 product Limit on traps (of one kind) at a particular BCI share/runtime/globals.hpp range(0, max_jint) PerMethodRecompilationCutoff OpenJDK6 intx runtime 400 product After recompiling N times, stay in the interpreter (-1=>'Inf') share/runtime/globals.hpp range(-1, max_intx) 5000 Limit on speculative traps (of one kind) in a method PerMethodSpecTrapLimit OpenJDK8 intx runtime range(0, max_jint) experimental (includes inlines) share/runtime/globals.hpp PerMethodTrapLimit OpenJDK6 intx runtime 100 product Limit on traps (of one kind) in a method (includes inlines) share/runtime/globals.hpp range(0, max_jint) PerfAllowAtExitRegistration OpenJDK6 bool runtime false product Allow registration of atexit() methods share/runtime/globals.hpp PerfBypassFileSystemCheck OpenJDK6 bool runtime false product Bypass Win32 file system criteria checks (Windows Only) share/runtime/globals.hpp 32*K Size of performance data memory region. Will be rounded PerfDataMemorySize OpenJDK6 intx runtime range(128, 32*64*K) product up to a multiple of the native os page size. share/runtime/globals.hpp Obsoleted 50 PerfDataSamplingInterval OpenJDK6 in JDK25 intx runtime range(PeriodicTask::min_interval, product Data sampling interval (in milliseconds) share/runtime/globals.hpp Expired in max_jint) JDK26 Save PerfData memory to the specified absolute pathname. PerfDataSaveFile OpenJDK6 ccstr runtime NULL product The string %p in the file name (if present) share/runtime/globals.hpp will be replaced by pid PerfDataSaveToFile OpenJDK6 bool runtime false product Save PerfData memory to hsperfdata_ file on exit share/runtime/globals.hpp PerfDisableSharedMem OpenJDK6 bool runtime false product Store performance data in standard memory share/runtime/globals.hpp PerfMaxStringConstLength OpenJDK6 intx runtime 1024 product Maximum PerfStringConstant string length before truncation share/runtime/globals.hpp range(32, 32*K) PinAllInstructions OpenJDK6 bool c1 false develop All instructions are pinned share/c1/c1_globals.hpp PoisonOSREntry OpenJDK6 bool c2 true develop Detect abnormal calls to OSR code share/opto/c2_globals.hpp PostLoopMultiversioning OpenJDK9 bool c2 false experimental Multi versioned post loops to eliminate range checks share/opto/c2_globals.hpp Specify the PowerPC family version in use. If not provided, PowerArchitecturePPC64 OpenJDK7 uintx ppc 0 product HotSpot will determine it automatically. Host family version cpu/ppc/globals_ppc.hpp is the maximum value allowed (instructions are not emulated). PreTouchParallelChunkSize OpenJDK9 size_t gc 1 * G product Per-thread chunk size for parallel memory pre-touch. share/gc/shared/ range(1, SIZE_MAX / 2) gc_globals.hpp PreallocatedOutOfMemoryErrorCount OpenJDK6 uintx runtime 4 develop Number of OutOfMemoryErrors preallocated with backtrace share/runtime/globals.hpp Deprecated in JDK19 Calculate the container CPU availability based on the value PreferContainerQuotaForCPUCount OpenJDK11 Obsoleted bool linux true product of quotas (if set), when true. Otherwise, use the CPU os/linux/globals_linux.hpp in JDK20 shares value, provided it is less than quota. Expired in JDK21 PreferInterpreterNativeStubs OpenJDK6 bool aarch64 false define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp PreferInterpreterNativeStubs OpenJDK6 bool arm false define_pd_global cpu/arm/c1_globals_arm.hpp Use always interpreter stubs for native methods invoked via PreferInterpreterNativeStubs OpenJDK6 bool runtime product_pd interpreter share/runtime/globals.hpp PreferInterpreterNativeStubs OpenJDK6 bool ppc false define_pd_global cpu/ppc/c2_globals_ppc.hpp PreferInterpreterNativeStubs OpenJDK6 bool s390 false define_pd_global cpu/s390/ c1_globals_s390.hpp PreferInterpreterNativeStubs OpenJDK6 bool sparc false define_pd_global cpu/sparc/ c2_globals_sparc.hpp PreferInterpreterNativeStubs OpenJDK6 bool x86 false define_pd_global cpu/x86/c1_globals_x86.hpp PreferLAoverADD OpenJDK9 bool s390 false product Use LA/LAY instructions over ADD instructions (z/Architecture). cpu/s390/globals_s390.hpp PrefetchCopyIntervalInBytes OpenJDK6 intx gc -1 product How far ahead to prefetch destination area (<= 0 means off) share/gc/shared/ range(-1, max_jint) gc_globals.hpp Obsoleted PrefetchFieldsAhead OpenJDK6 in JDK19 intx gc -1 product How many fields ahead to prefetch in oop scan (<= 0 means off) share/gc/shared/ Expired in range(-1, max_jint) gc_globals.hpp JDK20 PrefetchScanIntervalInBytes OpenJDK6 intx gc -1 product How far ahead to prefetch scan area (<= 0 means off) share/gc/shared/ range(-1, max_jint) gc_globals.hpp Deprecated in JDK23 Preserve RuntimeInvisibleAnnotations as well PreserveAllAnnotations OpenJDK6 Obsoleted bool runtime false product as RuntimeVisibleAnnotations share/runtime/globals.hpp in JDK24 Expired in JDK25 PreserveFramePointer OpenJDK8 bool aarch64 false define_pd_global cpu/aarch64/ globals_aarch64.hpp PreserveFramePointer OpenJDK8 bool arm false define_pd_global cpu/arm/globals_arm.hpp Use the FP register for holding the frame pointer PreserveFramePointer OpenJDK8 bool runtime product_pd and not as a general purpose register. share/runtime/globals.hpp PreserveFramePointer OpenJDK8 bool ppc false define_pd_global cpu/ppc/globals_ppc.hpp PreserveFramePointer OpenJDK8 bool s390 false define_pd_global cpu/s390/globals_s390.hpp PreserveFramePointer OpenJDK8 bool sparc false define_pd_global cpu/sparc/globals_sparc.hpp PreserveFramePointer OpenJDK8 bool x86 false define_pd_global cpu/x86/globals_x86.hpp PreserveFramePointer OpenJDK8 bool zero false define_pd_global cpu/zero/globals_zero.hpp Obsoleted Maximum size in bytes of objects allocated in DefNew PretenureSizeThreshold OpenJDK6 in JDK26 size_t gc 0 product generation; zero means no maximum share/gc/shared/ Expired in range(0, max_uintx) gc_globals.hpp JDK27 PrintAOTStatistics OpenJDK9 bool runtime false notproduct Print AOT statistics share/runtime/globals.hpp PrintAOT OpenJDK9 bool runtime false experimental Print used AOT klasses and methods share/runtime/globals.hpp PrintAdapterHandlers OpenJDK6 bool runtime false diagnostic Print code generated for i2c/c2i adapters share/runtime/globals.hpp PrintAssemblyOptions OpenJDK6 ccstr runtime NULL diagnostic Print options string passed to disassembler.so share/runtime/globals.hpp PrintAssembly OpenJDK6 bool runtime false diagnostic Print assembly code (using external disassembler.so) share/runtime/globals.hpp PrintBailouts OpenJDK6 bool c1 false develop Print bailout and its reason share/c1/c1_globals.hpp Deprecated in JDK15 PrintBiasedLockingStatistics OpenJDK6 Obsoleted bool runtime false diagnostic Print statistics of biased locking in JVM share/runtime/globals.hpp in JDK18 Expired in JDK19 PrintBlockElimination OpenJDK6 bool c1 false develop Print basic block elimination share/c1/c1_globals.hpp PrintBootstrap OpenJDK9 bool jvmci true experimental Print JVMCI bootstrap progress and summary share/jvmci/ jvmci_globals.hpp PrintBytecodeHistogram OpenJDK6 bool runtime false develop Print histogram of the executed bytecodes share/runtime/globals.hpp PrintBytecodePairHistogram OpenJDK6 bool runtime false develop Print histogram of the executed bytecode pairs share/runtime/globals.hpp PrintC1Statistics OpenJDK6 bool c1 false notproduct Print Compiler1 statistics share/c1/c1_globals.hpp PrintCEE OpenJDK6 bool c1 false develop Print Conditional Expression Elimination share/c1/c1_globals.hpp PrintCFG0 OpenJDK6 bool c1 false notproduct Print control flow graph after construction share/c1/c1_globals.hpp PrintCFG1 OpenJDK6 bool c1 false notproduct Print control flow graph after optimizations share/c1/c1_globals.hpp PrintCFG2 OpenJDK6 bool c1 false notproduct Print control flow graph before code generation share/c1/c1_globals.hpp PrintCFGBlockFreq OpenJDK6 bool c2 false develop Print CFG block freqencies share/opto/c2_globals.hpp PrintCFGToFile OpenJDK6 bool c1 false develop print control flow graph to a separate file during compilation share/c1/c1_globals.hpp PrintCFG OpenJDK6 bool c1 false notproduct Print control flow graph after each change share/c1/c1_globals.hpp PrintCanonicalization OpenJDK6 bool c1 false develop Print graph node canonicalization share/c1/c1_globals.hpp PrintClassHistogram OpenJDK6 bool runtime false manageable Print a histogram of class instances share/runtime/globals.hpp PrintCodeCache2 OpenJDK6 bool runtime false develop Print detailed usage information on the code cache when exiting share/runtime/globals.hpp PrintCodeCacheExtension OpenJDK6 bool runtime false develop Print extension of code cache share/runtime/globals.hpp Print the code cache memory usage each time a method is PrintCodeCacheOnCompilation OpenJDK8 bool runtime false product compiled share/runtime/globals.hpp PrintCodeCache OpenJDK6 bool runtime false product Print the code cache memory usage when exiting share/runtime/globals.hpp PrintCommandLineFlags OpenJDK6 bool runtime false product Print flags specified on command line or set by ergonomics share/runtime/globals.hpp PrintCompilation2 OpenJDK6 bool runtime false diagnostic Print additional statistics per compilation share/runtime/globals.hpp PrintCompilation OpenJDK6 bool runtime false product Print compilations share/runtime/globals.hpp PrintConcurrentLocks OpenJDK6 bool runtime false manageable Print java.util.concurrent locks in thread dump share/runtime/globals.hpp PrintDebugInfo OpenJDK6 bool runtime false develop Print debug information for all nmethods when generated share/runtime/globals.hpp PrintDeoptimizationDetails OpenJDK9 bool runtime false develop Print more information about deoptimization share/runtime/globals.hpp PrintDependencies OpenJDK6 bool runtime false develop Print dependency information for all nmethods when generated share/runtime/globals.hpp PrintDominators OpenJDK6 bool c2 false develop Print out dominator trees for GVN share/opto/c2_globals.hpp PrintEliminateAllocations OpenJDK6 bool c2 false notproduct Print out when allocations are eliminated share/opto/c2_globals.hpp PrintEliminateLocks OpenJDK6 bool c2 false notproduct Print out when locks are eliminated share/opto/c2_globals.hpp PrintEscapeAnalysis OpenJDK6 bool c2 false notproduct Print the results of escape analysis share/opto/c2_globals.hpp PrintExceptionHandlers OpenJDK6 bool runtime false develop Print exception handler tables for all nmethods when generated share/runtime/globals.hpp PrintExtendedThreadInfo OpenJDK11 bool runtime false product Print more information in thread dump share/runtime/globals.hpp PrintFieldLayout OpenJDK8 bool runtime false notproduct Print field layout for each class share/runtime/globals.hpp PrintFlagsFinal OpenJDK6 bool runtime false product Print all VM flags after argument and ergonomic processing share/runtime/globals.hpp PrintFlagsInitial OpenJDK6 bool runtime false product Print all VM flags before argument processing and exit VM share/runtime/globals.hpp PrintFlagsRanges OpenJDK9 bool runtime false product Print VM flags and their ranges and exit VM share/runtime/globals.hpp Print all VM flags with default values and descriptions and PrintFlagsWithComments OpenJDK6 bool runtime false notproduct exit share/runtime/globals.hpp PrintFrameConverterAssembly OpenJDK6 bool c2 false notproduct Print New compiler assembly output for frame converters share/opto/c2_globals.hpp Print more details at garbage collection. share/gc/shared/ PrintGCDetails OpenJDK6 bool gc false product Deprecated, use -Xlog:gc* instead. gc_globals.hpp Print message at garbage collection. share/gc/shared/ PrintGC OpenJDK6 bool gc false product Deprecated, use -Xlog:gc instead. gc_globals.hpp PrintHeapAtSIGBREAK OpenJDK6 bool runtime true product Print heap layout in response to SIGBREAK share/runtime/globals.hpp PrintIR0 OpenJDK6 bool c1 false notproduct Print full intermediate representation after construction share/c1/c1_globals.hpp PrintIR1 OpenJDK6 bool c1 false notproduct Print full intermediate representation after optimizations share/c1/c1_globals.hpp PrintIR2 OpenJDK6 bool c1 false notproduct Print full intermediate representation before code generation share/c1/c1_globals.hpp PrintIRDuringConstruction OpenJDK6 bool c1 false notproduct Print IR as it's being constructed (helpful for debugging frontend) share/c1/c1_globals.hpp PrintIRWithLIR OpenJDK6 bool c1 false notproduct Print IR instructions with generated LIR share/c1/c1_globals.hpp PrintIR OpenJDK6 bool c1 false notproduct Print full intermediate representation after each change share/c1/c1_globals.hpp PrintIdealGraphAddress OpenJDK6 ccstr c2 127.0.0.1 notproduct IP address to connect to visualizer share/opto/c2_globals.hpp File to dump ideal graph to. If set overrides the PrintIdealGraphFile OpenJDK6 ccstr c2 NULL notproduct use of the network share/opto/c2_globals.hpp Level of detail of the ideal graph printout. System-wide value, -1=printing is disabled, 0 0=print nothing except IGVPrintLevel directives, PrintIdealGraphLevel OpenJDK6 intx c2 range(-1, 4) notproduct share/opto/c2_globals.hpp 4=all details printed. Level of detail of printouts can be set on a per-method level as well by using CompileCommand=option. PrintIdealGraphPort OpenJDK6 intx c2 4444 notproduct Ideal graph printer to network port share/opto/c2_globals.hpp range(0, SHRT_MAX) Print ideal graph to XML file / network interface. PrintIdealGraph OpenJDK9 bool c2 false notproduct By default attempts to connect to the visualizer on a socket. share/opto/c2_globals.hpp PrintIdealNodeCount OpenJDK7 bool c2 false notproduct Print liveness counts of ideal nodes share/opto/c2_globals.hpp PrintIdeal OpenJDK6 bool c2 false notproduct Print ideal graph before code generation share/opto/c2_globals.hpp PrintInitialBlockList OpenJDK6 bool c1 false notproduct Print block list of BlockListBuilder share/c1/c1_globals.hpp PrintInlining OpenJDK6 bool runtime false diagnostic Print inlining optimizations share/runtime/globals.hpp PrintInterpreter OpenJDK6 bool runtime false diagnostic Print the generated interpreter code share/runtime/globals.hpp PrintIntrinsics OpenJDK6 bool c2 false diagnostic prints attempted and successful inlining of intrinsics share/opto/c2_globals.hpp Obsoleted PrintJNIResolving OpenJDK6 in JDK16 bool runtime false product Used to implement -v:jni share/runtime/globals.hpp Expired in JDK17 PrintLIRWithAssembly OpenJDK6 bool c1 false notproduct Show LIR instruction with generated assembly share/c1/c1_globals.hpp PrintLIR OpenJDK6 bool c1 false develop print low-level IR share/c1/c1_globals.hpp PrintLockStatistics OpenJDK6 bool c2 false notproduct Print precise statistics on the dynamic lock usage share/opto/c2_globals.hpp PrintMallocStatistics OpenJDK6 bool runtime false develop Print malloc/free statistics share/runtime/globals.hpp PrintMetaspaceStatisticsAtExit OpenJDK11 bool runtime false diagnostic Print metaspace statistics upon VM exit. share/runtime/globals.hpp PrintMethodData OpenJDK6 bool runtime false diagnostic Print the results of +ProfileInterpreter at end of run share/runtime/globals.hpp PrintMethodFlushingStatistics OpenJDK8 bool runtime false diagnostic print statistics about method flushing share/runtime/globals.hpp PrintMethodFlushing OpenJDK6 bool runtime false develop Print the nmethods being flushed share/runtime/globals.hpp PrintMethodHandleStubs OpenJDK6 bool runtime false diagnostic Print generated stub code for method handles share/runtime/globals.hpp PrintMiscellaneous OpenJDK6 bool runtime false develop Print uncategorized debugging information (requires +Verbose) share/runtime/globals.hpp PrintNMTStatistics OpenJDK7 bool runtime false diagnostic Print native memory tracking summary data if it is on share/runtime/globals.hpp PrintNMethodStatistics OpenJDK9 bool runtime false notproduct Print a summary statistic for the generated nmethods share/runtime/globals.hpp PrintNMethods OpenJDK6 bool runtime false diagnostic Print assembly code for nmethods when generated share/runtime/globals.hpp PrintNativeNMethods OpenJDK6 bool runtime false diagnostic Print assembly code for native nmethods when generated share/runtime/globals.hpp PrintNotLoaded OpenJDK6 bool c1 false develop Prints where classes are not loaded during code generation share/c1/c1_globals.hpp PrintNullCheckElimination OpenJDK6 bool c1 false develop Print null check elimination share/c1/c1_globals.hpp PrintOptimizePtrCompare OpenJDK6 bool c2 false notproduct Print information about optimized pointers compare share/opto/c2_globals.hpp PrintOptimizeStringConcat OpenJDK6 bool c2 false notproduct Print information about transformations performed on Strings share/opto/c2_globals.hpp PrintOptoAssembly OpenJDK6 bool c2 false diagnostic Print New compiler assembly output share/opto/c2_globals.hpp PrintOptoInlining OpenJDK6 bool c2 false notproduct Print compiler2 inlining decisions share/opto/c2_globals.hpp PrintOptoPeephole OpenJDK6 bool c2 false notproduct Print New compiler peephole replacements share/opto/c2_globals.hpp PrintOptoStatistics OpenJDK6 bool c2 false notproduct Print New compiler statistics share/opto/c2_globals.hpp PrintOpto OpenJDK6 bool c2 false notproduct Print compiler2 attempts share/opto/c2_globals.hpp PrintParseStatistics OpenJDK6 bool c2 false notproduct Print nodes, transforms and new values made per bytecode parsed share/opto/c2_globals.hpp PrintPhiFunctions OpenJDK6 bool c1 false notproduct Print phi functions when they are created and simplified share/c1/c1_globals.hpp Deprecated in JDK15 PrintPreciseBiasedLockingStatistics OpenJDK6 Obsoleted bool c2 false diagnostic Print per-lock-site statistics of biased locking in JVM share/opto/c2_globals.hpp in JDK18 Expired in JDK19 PrintPreciseRTMLockingStatistics OpenJDK8 bool c2 false diagnostic Print per-lock-site statistics of rtm locking in JVM share/opto/c2_globals.hpp PrintRelocations OpenJDK6 bool runtime false develop Print relocation information for all nmethods when generated share/runtime/globals.hpp PrintRewrites OpenJDK6 bool runtime false notproduct Print methods that are being rewritten share/runtime/globals.hpp Deprecated in JDK11 (Deprecated) Total number of safepoint statistics collected PrintSafepointStatisticsCount OpenJDK6 Obsoleted intx runtime 300 product before printing them out share/runtime/globals.hpp in JDK12 range(1, max_intx) Expired in JDK13 Deprecated in JDK11 (Deprecated) Print safepoint statistics only when safepoint takes PrintSafepointStatisticsTimeout OpenJDK6 Obsoleted intx runtime -1 product more than PrintSafepointSatisticsTimeout in millis share/runtime/globals.hpp in JDK12 Expired in JDK13 Deprecated in JDK11 PrintSafepointStatistics OpenJDK6 Obsoleted bool runtime false product (Deprecated) Print statistics about safepoint synchronization share/runtime/globals.hpp in JDK12 Expired in JDK13 PrintSharedArchiveAndExit OpenJDK8 bool runtime false product Print shared archive file contents share/runtime/globals.hpp Obsoleted If PrintSharedArchiveAndExit is true, also print the shared PrintSharedDictionary OpenJDK8 in JDK20 bool runtime false product dictionary share/runtime/globals.hpp Expired in JDK21 PrintSignatureHandlers OpenJDK6 bool runtime false diagnostic Print code generated for native method signature handlers share/runtime/globals.hpp PrintSimpleStubs OpenJDK6 bool c1 false notproduct Print SimpleStubs share/c1/c1_globals.hpp PrintStringTableStatistics OpenJDK6 bool runtime false product print statistics about the StringTable and SymbolTable share/runtime/globals.hpp PrintStubCode OpenJDK6 bool runtime false diagnostic Print generated stub code share/runtime/globals.hpp PrintSymbolTableSizeHistogram OpenJDK6 bool runtime false notproduct print histogram of the symbol table share/runtime/globals.hpp PrintSystemDictionaryAtExit OpenJDK6 bool runtime false notproduct Print the system dictionary at exit share/runtime/globals.hpp PrintTieredEvents OpenJDK6 bool runtime false product Print tiered events notifications share/runtime/globals.hpp PrintTouchedMethodsAtExit OpenJDK9 bool runtime false diagnostic Print all methods that have been ever touched in runtime share/runtime/globals.hpp PrintUnsafeOptimization OpenJDK6 bool c1 false develop Print optimization of raw unsafe ops share/c1/c1_globals.hpp PrintVMMessages OpenJDK6 bool runtime true develop Print VM messages on console share/runtime/globals.hpp PrintVMOptions OpenJDK6 bool runtime false product Print flags that appeared on the command line share/runtime/globals.hpp Deprecated in JDK15 PrintVMQWaitTime OpenJDK6 Obsoleted bool runtime false product Print out the waiting time in VM operation queue share/runtime/globals.hpp in JDK16 Expired in JDK17 PrintValueNumbering OpenJDK6 bool c1 false develop Print Value Numbering share/c1/c1_globals.hpp PrintVtableStats OpenJDK6 bool runtime false notproduct print vtables stats at end of run share/runtime/globals.hpp PrintWarnings OpenJDK6 bool runtime true product Print JVM warnings to output stream share/runtime/globals.hpp Obsoleted ProcessDistributionStride OpenJDK6 in JDK23 uintx runtime 4 product Stride through processors when distributing processes share/runtime/globals.hpp Expired in range(0, max_juint) JDK24 ProfileDynamicTypes OpenJDK6 bool c2 true diagnostic do extra type profiling and use it more aggressively share/opto/c2_globals.hpp ProfileInterpreter OpenJDK6 bool aarch64 false define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp ProfileInterpreter OpenJDK6 bool arm false define_pd_global cpu/arm/c1_globals_arm.hpp ProfileInterpreter OpenJDK6 bool runtime product_pd Profile at the bytecode level during interpretation share/runtime/globals.hpp ProfileInterpreter OpenJDK6 bool ppc true define_pd_global cpu/ppc/c2_globals_ppc.hpp ProfileInterpreter OpenJDK6 bool s390 false define_pd_global cpu/s390/ c1_globals_s390.hpp ProfileInterpreter OpenJDK6 bool sparc true define_pd_global cpu/sparc/ c2_globals_sparc.hpp ProfileInterpreter OpenJDK6 bool x86 false define_pd_global cpu/x86/c1_globals_x86.hpp Obsoleted Number of ticks between printing of interval profile ProfileIntervalsTicks OpenJDK6 in JDK13 intx runtime 100 product (+ProfileIntervals) share/runtime/globals.hpp Expired in range(0, max_intx) JDK14 Obsoleted ProfileIntervals OpenJDK6 in JDK13 bool runtime false product Print profiles for each interval (see ProfileIntervalsTicks) share/runtime/globals.hpp Expired in JDK14 20 number of method invocations/branches (expressed as % of ProfileMaturityPercentage OpenJDK6 intx runtime range(0, 100) product CompileThreshold) before using the method's profile share/runtime/globals.hpp ProfileTraps OpenJDK6 bool aarch64 false define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp ProfileTraps OpenJDK6 bool arm false define_pd_global cpu/arm/c1_globals_arm.hpp ProfileTraps OpenJDK6 bool runtime develop_pd Profile deoptimization traps at the bytecode level share/runtime/globals.hpp ProfileTraps OpenJDK6 bool ppc true define_pd_global cpu/ppc/c2_globals_ppc.hpp ProfileTraps OpenJDK6 bool s390 false define_pd_global cpu/s390/ c1_globals_s390.hpp ProfileTraps OpenJDK6 bool sparc true define_pd_global cpu/sparc/ c2_globals_sparc.hpp ProfileTraps OpenJDK6 bool x86 false define_pd_global cpu/x86/c1_globals_x86.hpp Obsoleted Profile ticks that fall within VM (either in the VM Thread ProfileVM OpenJDK6 in JDK13 bool runtime false product or VM code called through stubs) share/runtime/globals.hpp Expired in JDK14 ProfiledCodeHeapSize OpenJDK9 intx aarch64 14*M define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp ProfiledCodeHeapSize OpenJDK9 size_t arm 14*M define_pd_global cpu/arm/c1_globals_arm.hpp ProfiledCodeHeapSize OpenJDK9 uintx runtime product_pd Size of code heap with profiled methods (in bytes) share/runtime/globals.hpp ProfiledCodeHeapSize OpenJDK9 uintx ppc 22*M define_pd_global cpu/ppc/c2_globals_ppc.hpp ProfiledCodeHeapSize OpenJDK9 uintx s390 14*M define_pd_global cpu/s390/ c1_globals_s390.hpp ProfiledCodeHeapSize OpenJDK9 uintx sparc 22*M define_pd_global cpu/sparc/ c2_globals_sparc.hpp ProfiledCodeHeapSize OpenJDK9 uintx x86 14*M define_pd_global cpu/x86/c1_globals_x86.hpp Obsoleted ProfilerCheckIntervals OpenJDK6 in JDK13 bool runtime false notproduct Collect and print information on spacing of profiler ticks share/runtime/globals.hpp Expired in JDK14 ProfilerNodeSize OpenJDK6 intx runtime 1024 develop Size in K to allocate for the Profile Nodes of each thread share/runtime/globals.hpp range(0, 1024) Obsoleted ProfilerNumberOfCompiledMethods OpenJDK6 in JDK13 intx runtime 25 diagnostic Number of compiled methods to show in profile share/runtime/globals.hpp Expired in JDK14 Obsoleted ProfilerNumberOfInterpretedMethods OpenJDK6 in JDK13 intx runtime 25 diagnostic Number of interpreted methods to show in profile share/runtime/globals.hpp Expired in JDK14 Obsoleted ProfilerNumberOfRuntimeStubNodes OpenJDK6 in JDK13 intx runtime 25 diagnostic Number of runtime stub nodes to show in profile share/runtime/globals.hpp Expired in JDK14 Obsoleted ProfilerNumberOfStubMethods OpenJDK6 in JDK13 intx runtime 25 diagnostic Number of stub methods to show in profile share/runtime/globals.hpp Expired in JDK14 ProfilerPCTickThreshold OpenJDK6 intx runtime 15 develop Number of ticks in a PC buckets to be a hotspot share/runtime/globals.hpp Obsoleted ProfilerPrintByteCodeStatistics OpenJDK6 in JDK13 bool runtime false product Print bytecode statistics when dumping profiler output share/runtime/globals.hpp Expired in JDK14 Obsoleted ProfilerRecordPC OpenJDK6 in JDK13 bool runtime false product Collect ticks for each 16 byte interval of compiled code share/runtime/globals.hpp Expired in JDK14 PromotedPadding OpenJDK6 uintx gc 3 product How much buffer to keep for promotion failure share/gc/shared/ range(0, max_juint) gc_globals.hpp Number of promotion failures occurring at PLAB PromotionFailureALotCount OpenJDK6 uintx gc 1000 develop refill attempts (ParNew) or promotion attempts share/gc/shared/ (other young collectors) gc_globals.hpp PromotionFailureALotInterval OpenJDK6 uintx gc 5 develop Total collections between promotion failures a lot share/gc/shared/ gc_globals.hpp Use promotion failure handling on every youngest generation share/gc/shared/ PromotionFailureALot OpenJDK6 bool gc false notproduct collection gc_globals.hpp ProtectionDomainVerification OpenJDK6 bool runtime true develop Verify protection domain before resolution in system dictionary share/runtime/globals.hpp 0 Number of times an allocation that queues behind a GC share/gc/shared/ QueuedAllocationWarningCount OpenJDK6 uintx gc range(0, max_uintx) product will retry before printing a warning gc_globals.hpp RTMAbortRatio OpenJDK8 int ppc 50 experimental Lock abort ratio at which to stop use RTM lock eliding cpu/ppc/globals_ppc.hpp range(0, 100) /* natural range */ RTMAbortRatio OpenJDK8 int x86 50 experimental Lock abort ratio at which to stop use RTM lock eliding cpu/x86/globals_x86.hpp range(0, 100) /* natural range */ RTMAbortThreshold OpenJDK8 int ppc 1000 experimental Calculate abort ratio after this number of aborts cpu/ppc/globals_ppc.hpp range(0, max_jint) RTMAbortThreshold OpenJDK8 int x86 1000 experimental Calculate abort ratio after this number of aborts cpu/x86/globals_x86.hpp range(0, max_jint) Number of milliseconds to wait before start calculating aborts RTMLockingCalculationDelay OpenJDK8 intx ppc 0 experimental for RTM locking cpu/ppc/globals_ppc.hpp Number of milliseconds to wait before start calculating aborts RTMLockingCalculationDelay OpenJDK8 intx x86 0 experimental for RTM locking cpu/x86/globals_x86.hpp 10000 Lock count at which to do RTM lock eliding without RTMLockingThreshold OpenJDK8 int ppc range(0, max_jint) experimental abort ratio calculation cpu/ppc/globals_ppc.hpp 10000 Lock count at which to do RTM lock eliding without RTMLockingThreshold OpenJDK8 int x86 range(0, max_jint) experimental abort ratio calculation cpu/x86/globals_x86.hpp Deprecated in JDK23 RTMRetryCount OpenJDK8 Obsoleted int ppc 5 product Number of RTM retries on lock abort or busy cpu/ppc/globals_ppc.hpp in JDK24 range(0, max_jint) Expired in JDK25 Deprecated in JDK23 RTMRetryCount OpenJDK8 Obsoleted int x86 5 product Number of RTM retries on lock abort or busy cpu/x86/globals_x86.hpp in JDK24 range(0, max_jint) Expired in JDK25 100 Spin count for lock to become free before RTM retry RTMSpinLoopCount OpenJDK8 int ppc range(0, 32767) /* immediate operand experimental cpu/ppc/globals_ppc.hpp limit on ppc */ RTMSpinLoopCount OpenJDK8 int x86 100 experimental Spin count for lock to become free before RTM retry cpu/x86/globals_x86.hpp range(0, max_jint) 64 Increment total RTM attempted lock count once every n times RTMTotalCountIncrRate OpenJDK8 int ppc range(1, 32767) /* immediate operand experimental cpu/ppc/globals_ppc.hpp limit on ppc */ RTMTotalCountIncrRate OpenJDK8 int x86 64 experimental Increment total RTM attempted lock count once every n times cpu/x86/globals_x86.hpp range(1, max_jint) RangeCheckElimination OpenJDK6 bool runtime true product Eliminate range checks share/runtime/globals.hpp ReassociateInvariants OpenJDK6 bool c2 true product Enable reassociation of expressions with loop invariants. share/opto/c2_globals.hpp ReduceBulkZeroing OpenJDK6 bool c2 true product When bulk-initializing, try to avoid needless zeroing share/opto/c2_globals.hpp ReduceFieldZeroing OpenJDK6 bool c2 true product When initializing fields, try to avoid needless zeroing share/opto/c2_globals.hpp ReduceInitialCardMarks OpenJDK6 bool c2 true product When initializing fields, try to avoid needless card marks share/opto/c2_globals.hpp Reduce the number of parallel compiler threads when they ReduceNumberOfCompilerThreads OpenJDK11 bool runtime true diagnostic are not used share/runtime/globals.hpp ReduceSignalUsage OpenJDK6 bool runtime false product Reduce the use of OS signals in Java and/or the VM share/runtime/globals.hpp Obsoleted 0 Select type of reference discovery policy: RefDiscoveryPolicy OpenJDK6 in JDK21 intx gc range product reference-based(0) or referent-based(1) share/gc/shared/ Expired in (ReferenceProcessor::DiscoveryPolicyMin, gc_globals.hpp JDK24 Ergonomically start one thread for this amount of references for reference processing if share/gc/shared/ ReferencesPerThread OpenJDK11 size_t gc 1000 experimental ParallelRefProcEnabled is true. Specify 0 to disable and gc_globals.hpp use all threads. RegisterCostAreaRatio OpenJDK6 intx aarch64 16000 define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp Spill selection in reg allocator: scale area by (X/64K) before RegisterCostAreaRatio OpenJDK6 intx c2 develop_pd adding cost share/opto/c2_globals.hpp RegisterCostAreaRatio OpenJDK6 intx ppc 16000 define_pd_global cpu/ppc/c2_globals_ppc.hpp RegisterCostAreaRatio OpenJDK6 intx s390 12000 define_pd_global cpu/s390/ c2_globals_s390.hpp RegisterCostAreaRatio OpenJDK6 intx sparc 12000 define_pd_global cpu/sparc/ c2_globals_sparc.hpp RegisterCostAreaRatio OpenJDK6 intx x86 16000 define_pd_global cpu/x86/c2_globals_x86.hpp Deprecated in JDK22 Register finalizable objects at end of Object. or RegisterFinalizersAtInit OpenJDK6 Obsoleted bool runtime true product after allocation share/runtime/globals.hpp in JDK23 Expired in JDK24 Tell whether the VM should register soft/weak/final/phantom RegisterReferences OpenJDK6 bool runtime true develop references share/runtime/globals.hpp RelaxAccessControlCheck OpenJDK6 bool runtime false product Relax the access control checks in the verifier share/runtime/globals.hpp RenumberLiveNodes OpenJDK8 bool c2 true develop Renumber live nodes share/opto/c2_globals.hpp ReoptimizeCallSequences OpenJDK7 bool ppc true product Reoptimize code-sequences of calls at runtime. cpu/ppc/globals_ppc.hpp ReoptimizeCallSequences OpenJDK7 bool s390 true product Reoptimize code-sequences of calls at runtime. cpu/s390/globals_s390.hpp ReplayCompiles OpenJDK8 bool runtime false develop Enable replay of compilations from ReplayDataFile share/runtime/globals.hpp File containing compilation replay information ReplayDataFile OpenJDK8 ccstr runtime NULL product [default: ./replay_pid%p.log] (%p replaced with pid) share/runtime/globals.hpp ReplayIgnoreInitErrors OpenJDK8 bool runtime false develop Ignore exceptions thrown during initialization for replay share/runtime/globals.hpp Control handling of class initialization during replay: 0 - don't do anything special; 2 1 - treat all class initializers as empty; ReplaySuppressInitializers OpenJDK8 intx runtime range(0, 3) develop share/runtime/globals.hpp 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 Deprecated RequireSharedSpaces OpenJDK6 in JDK18 bool runtime false product Require shared spaces for metadata share/runtime/globals.hpp Obsoleted in JDK19 ReservedCodeCacheSize OpenJDK6 intx aarch64 32*M define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp ReservedCodeCacheSize OpenJDK6 size_t arm 32*M define_pd_global cpu/arm/c1_globals_arm.hpp ReservedCodeCacheSize OpenJDK6 uintx runtime product_pd Reserved code cache size (in bytes) - maximum code cache size share/runtime/globals.hpp ReservedCodeCacheSize OpenJDK6 uintx ppc 48*M define_pd_global cpu/ppc/c2_globals_ppc.hpp ReservedCodeCacheSize OpenJDK6 uintx s390 32*M define_pd_global cpu/s390/ c1_globals_s390.hpp ReservedCodeCacheSize OpenJDK6 uintx sparc 48*M define_pd_global cpu/sparc/ c2_globals_sparc.hpp ReservedCodeCacheSize OpenJDK6 uintx x86 32*M define_pd_global cpu/x86/c1_globals_x86.hpp Obsoleted ResizeOldPLAB OpenJDK6 in JDK14 bool gc true product Dynamically resize (old gen) promotion LAB's share/gc/shared/ Expired in gc_globals.hpp JDK15 ResizePLAB OpenJDK6 bool gc true product Dynamically resize (survivor space) promotion LAB's share/gc/shared/ gc_globals.hpp ResizeTLAB OpenJDK6 bool aarch64 true define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp ResizeTLAB OpenJDK6 bool arm true define_pd_global cpu/arm/c1_globals_arm.hpp ResizeTLAB OpenJDK6 bool gc product_pd Dynamically resize TLAB size for threads share/gc/shared/ gc_globals.hpp ResizeTLAB OpenJDK6 bool runtime false define_pd_global share/runtime/globals.hpp ResizeTLAB OpenJDK6 bool ppc true define_pd_global cpu/ppc/c2_globals_ppc.hpp ResizeTLAB OpenJDK6 bool s390 true define_pd_global cpu/s390/ c1_globals_s390.hpp ResizeTLAB OpenJDK6 bool sparc true define_pd_global cpu/sparc/ c2_globals_sparc.hpp ResizeTLAB OpenJDK6 bool x86 true define_pd_global cpu/x86/c1_globals_x86.hpp RestoreMXCSROnJNICalls OpenJDK6 bool runtime false product Restore MXCSR when returning from JNI calls share/runtime/globals.hpp RestrictContended OpenJDK8 bool runtime true product Restrict @Contended to trusted classes share/runtime/globals.hpp RestrictReservedStack OpenJDK9 bool runtime true product Restrict @ReservedStackAccess to trusted classes share/runtime/globals.hpp RewriteBytecodes OpenJDK6 bool aarch64 true define_pd_global cpu/aarch64/ globals_aarch64.hpp RewriteBytecodes OpenJDK6 bool arm true define_pd_global cpu/arm/globals_arm.hpp RewriteBytecodes OpenJDK6 bool runtime product_pd Allow rewriting of bytecodes (bytecodes are not immutable) share/runtime/globals.hpp RewriteBytecodes OpenJDK6 bool ppc true define_pd_global cpu/ppc/globals_ppc.hpp RewriteBytecodes OpenJDK6 bool s390 true define_pd_global cpu/s390/globals_s390.hpp RewriteBytecodes OpenJDK6 bool sparc true define_pd_global cpu/sparc/globals_sparc.hpp RewriteBytecodes OpenJDK6 bool x86 true define_pd_global cpu/x86/globals_x86.hpp RewriteBytecodes OpenJDK6 bool zero true define_pd_global cpu/zero/globals_zero.hpp RewriteFrequentPairs OpenJDK6 bool aarch64 true define_pd_global cpu/aarch64/ globals_aarch64.hpp RewriteFrequentPairs OpenJDK6 bool arm true define_pd_global cpu/arm/globals_arm.hpp RewriteFrequentPairs OpenJDK6 bool runtime product_pd Rewrite frequently used bytecode pairs into a single bytecode share/runtime/globals.hpp RewriteFrequentPairs OpenJDK6 bool ppc true define_pd_global cpu/ppc/globals_ppc.hpp RewriteFrequentPairs OpenJDK6 bool s390 true define_pd_global cpu/s390/globals_s390.hpp RewriteFrequentPairs OpenJDK6 bool sparc true define_pd_global cpu/sparc/globals_sparc.hpp RewriteFrequentPairs OpenJDK6 bool x86 true define_pd_global cpu/x86/globals_x86.hpp RewriteFrequentPairs OpenJDK6 bool zero true define_pd_global cpu/zero/globals_zero.hpp RoundFPResults OpenJDK6 bool aarch64 true define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp RoundFPResults OpenJDK6 bool arm false define_pd_global cpu/arm/c1_globals_arm.hpp RoundFPResults OpenJDK6 bool c1 develop_pd Indicates whether rounding is needed for floating point results share/c1/c1_globals.hpp RoundFPResults OpenJDK6 bool ppc false define_pd_global cpu/ppc/c1_globals_ppc.hpp RoundFPResults OpenJDK6 bool s390 false define_pd_global cpu/s390/ c1_globals_s390.hpp RoundFPResults OpenJDK6 bool sparc false define_pd_global cpu/sparc/ c1_globals_sparc.hpp RoundFPResults OpenJDK6 bool x86 true define_pd_global cpu/x86/c1_globals_x86.hpp Generate a lot of safepoints. This works with SafepointALot OpenJDK6 bool runtime false diagnostic GuaranteedSafepointInterval share/runtime/globals.hpp SafepointTimeoutDelay OpenJDK6 intx runtime 10000 product Delay in milliseconds for option SafepointTimeout share/runtime/globals.hpp Time out and warn or fail after SafepointTimeoutDelay SafepointTimeout OpenJDK6 bool runtime false product milliseconds if failed to reach safepoint share/runtime/globals.hpp ScavengeALotInterval OpenJDK6 intx gc 1 notproduct Interval between which scavenge will occur with +ScavengeALot share/gc/shared/ gc_globals.hpp Force scavenge at every Nth exit from the runtime system share/gc/shared/ ScavengeALot OpenJDK6 bool gc false notproduct (N=ScavengeALotInterval) gc_globals.hpp Obsoleted ScavengeBeforeFullGC OpenJDK6 in JDK23 bool gc true product Scavenge youngest generation before each full GC. share/gc/shared/ Expired in gc_globals.hpp JDK24 0: do not allow scavengable oops in the code cache; ScavengeRootsInCode OpenJDK6 intx runtime 2 diagnostic 1: allow scavenging from the code cache; share/runtime/globals.hpp range(0, 2) 2: emit as many constants as the compiler can see SegmentedCodeCache OpenJDK9 bool runtime false product Use a segmented code cache share/runtime/globals.hpp SelectivePhiFunctions OpenJDK6 bool c1 true develop create phi functions at loop headers only when necessary share/c1/c1_globals.hpp 0 Will cause VM to terminate after a given time (in minutes) SelfDestructTimer OpenJDK6 intx runtime range(0, max_intx) product (0 means off) share/runtime/globals.hpp SerializeVMOutput OpenJDK6 bool runtime true diagnostic Use a mutex to serialize output to tty and LogFile share/runtime/globals.hpp SharedArchiveConfigFile OpenJDK10 ccstr runtime NULL product Data to add to the CDS archive file share/runtime/globals.hpp SharedArchiveFile OpenJDK8 ccstr runtime NULL product Override the default location of the CDS archive file share/runtime/globals.hpp LP64_ONLY(32*G)NOT_LP64(LINUX_ONLY(2*G) Address to allocate shared memory region for class data SharedBaseAddress OpenJDK8 size_t runtime NOT_LINUX(0)) product share/runtime/globals.hpp range(0, SIZE_MAX) SharedClassListFile OpenJDK8 ccstr runtime NULL product Override the default CDS class list share/runtime/globals.hpp SharedSymbolTableBucketSize OpenJDK9 uintx runtime 4 product Average number of symbols per bucket in shared table share/runtime/globals.hpp range(2, 246) ShenandoahAllocFailureALot OpenJDK11 bool gc false diagnostic Testing: make lots of artificial allocation failures. share/gc/shenandoah/ shenandoah_globals.hpp How much of heap should some heuristics reserve for absorbing 5 the allocation spikes. Larger value wastes more memory in share/gc/shenandoah/ ShenandoahAllocSpikeFactor OpenJDK11 uintx gc range(0,100) experimental non-emergency cases, but provides more safety in emergency shenandoah_globals.hpp cases. In percents of (soft) max heap size. How many new allocations should happen since the last GC cycle ShenandoahAllocationThreshold OpenJDK11 uintx gc 0 experimental before some heuristics trigger the collection. In percents of share/gc/shenandoah/ range(0,100) (soft) max heap size. Set to zero to effectively disable. shenandoah_globals.hpp Unconditionally clear soft references, instead of using any ShenandoahAlwaysClearSoftRefs OpenJDK11 bool gc false experimental other cleanup policy. This minimizes footprint at expense of share/gc/shenandoah/ more soft reference churn in applications. shenandoah_globals.hpp ShenandoahCASBarrier OpenJDK11 bool gc true diagnostic Turn on/off CAS barriers in Shenandoah share/gc/shenandoah/ shenandoah_globals.hpp ShenandoahCloneBarrier OpenJDK11 bool gc true diagnostic Turn on/off clone barriers in Shenandoah share/gc/shenandoah/ shenandoah_globals.hpp Use this style to scan the code cache roots: 0 - sequential iterator; share/gc/shenandoah/ ShenandoahCodeRootsStyle OpenJDK11 uintx gc 2 diagnostic 1 - parallel iterator; shenandoah_globals.hpp 2 - parallel iterator with cset filters; The time period for one step in control loop interval ShenandoahControlIntervalAdjustPeriod OpenJDK11 uintx gc 1000 experimental adjustment. Lower values make adjustments faster, at the share/gc/shenandoah/ expense of higher perf overhead. Time is in milliseconds. shenandoah_globals.hpp The maximum sleep interval for control loop that drives the cycles. Lower values would increase GC responsiveness share/gc/shenandoah/ ShenandoahControlIntervalMax OpenJDK11 uintx gc 10 experimental to changing heap conditions, at the expense of higher perf shenandoah_globals.hpp overhead. Time is in milliseconds. The minimum sleep interval for the control loop that drives the cycles. Lower values would increase GC responsiveness share/gc/shenandoah/ ShenandoahControlIntervalMin OpenJDK11 uintx gc 1 experimental to changing heap conditions, at the expense of higher perf shenandoah_globals.hpp overhead. Time is in milliseconds. How much of the heap needs to be free after recovery cycles, 1 either Degenerated or Full GC to be claimed successful. If this share/gc/shenandoah/ ShenandoahCriticalFreeThreshold OpenJDK11 uintx gc range(0, 100) experimental much space is not available, next recovery step would be shenandoah_globals.hpp triggered. Enable Degenerated GC as the graceful degradation step. Disabling this option leads to degradation to Full GC instead. share/gc/shenandoah/ ShenandoahDegeneratedGC OpenJDK11 bool gc true diagnostic When running in passive mode, this can be toggled to measure shenandoah_globals.hpp either Degenerated GC or Full GC costs. ShenandoahElasticTLAB OpenJDK11 bool gc true diagnostic Use Elastic TLABs with Shenandoah share/gc/shenandoah/ shenandoah_globals.hpp Allow evacuations to overflow the reserved space. Enabling it will make evacuations more resilient when evacuation share/gc/shenandoah/ ShenandoahEvacReserveOverflow OpenJDK11 bool gc true experimental reserve/waste is incorrect, at the risk that application shenandoah_globals.hpp runs out of memory too early. How much of heap to reserve for evacuations. Larger values make 5 GC evacuate more live objects on every cycle, while leaving share/gc/shenandoah/ ShenandoahEvacReserve OpenJDK11 uintx gc range(1,100) experimental less headroom for application to allocate in. In percents of shenandoah_globals.hpp total heap size. How much waste evacuations produce within the reserved space. 1.2 Larger values make evacuations more resilient against share/gc/shenandoah/ ShenandoahEvacWaste OpenJDK11 double gc range(1.0,100.0) experimental evacuation conflicts, at expense of evacuating less on each shenandoah_globals.hpp GC cycle. How many back-to-back Degenerated GCs should happen before share/gc/shenandoah/ ShenandoahFullGCThreshold OpenJDK11 uintx gc 3 experimental going to a Full GC. shenandoah_globals.hpp GC heuristics to use. This fine-tunes the GC mode selected, by choosing when to start the GC, how much to process on each cycle, and what other features to automatically enable. Possible values are: adaptive - adapt to maintain the given amount of free heap share/gc/shenandoah/ ShenandoahGCHeuristics OpenJDK11 ccstr gc adaptive product at all times, even during the GC cycle; shenandoah_globals.hpp static - trigger GC when free heap falls below the threshold; aggressive - run GC continuously, try to evacuate everything; compact - run GC more frequently and with deeper targets to free up more memory. GC mode to use. Among other things, this defines which barriers are in in use. Possible values are: ShenandoahGCMode OpenJDK11 ccstr gc satb product satb - snapshot-at-the-beginning concurrent GC (three pass mark-evac-update); share/gc/shenandoah/ iu - incremental-update concurrent GC (three pass mark-evac-update); shenandoah_globals.hpp passive - stop the world GC only (either degenerated or full) How much garbage a region has to contain before it would be taken for collection. This a guideline only, as GC heuristics ShenandoahGarbageThreshold OpenJDK11 uintx gc 25 experimental may select the region for collection even if it has little share/gc/shenandoah/ range(0,100) garbage. This also affects how much internal fragmentation the shenandoah_globals.hpp collector accepts. In percents of heap region size. Many heuristics would guarantee a concurrent GC cycle at least with this interval. This is useful when large idle ShenandoahGuaranteedGCInterval OpenJDK11 uintx gc 5*60*1000 experimental intervals are present, where GC can run without stealing share/gc/shenandoah/ time from active application. Time is in milliseconds. shenandoah_globals.hpp Setting this to 0 disables the feature. Allow moving humongous regions. This makes GC more resistant to external fragmentation that may otherwise fail other share/gc/shenandoah/ ShenandoahHumongousMoves OpenJDK11 bool gc true diagnostic humongous allocations, at the expense of higher GC copying shenandoah_globals.hpp costs. Currently affects stop-the-world (Full) cycle only. Humongous objects are allocated in separate regions. 100 This setting defines how large the object should be to be share/gc/shenandoah/ ShenandoahHumongousThreshold OpenJDK11 intx gc range(1, 100) experimental deemed humongous. Value is in percents of heap region size. shenandoah_globals.hpp This also caps the maximum TLAB size. ShenandoahIUBarrier OpenJDK11 bool gc false diagnostic Turn on/off I-U barriers barriers in Shenandoah share/gc/shenandoah/ shenandoah_globals.hpp The cycle may shortcut when enough garbage can be reclaimed 90 from the immediate garbage (completely garbage regions). share/gc/shenandoah/ ShenandoahImmediateThreshold OpenJDK11 uintx gc range(0,100) experimental In percents of total garbage found. Setting this threshold shenandoah_globals.hpp to 100 effectively disables the shortcut. Should internally-caused GC requests invoke concurrent cycles, should they do the stop-the-world (Degenerated / Full GC)? share/gc/shenandoah/ ShenandoahImplicitGCInvokesConcurrent OpenJDK11 bool gc false experimental Many heuristics automatically enable this. This option is shenandoah_globals.hpp similar to global ExplicitGCInvokesConcurrent. How much heap should be free before some heuristics trigger the 70 initial (learning) cycles. Affects cycle frequency on startup share/gc/shenandoah/ ShenandoahInitFreeThreshold OpenJDK11 uintx gc range(0,100) experimental and after drastic state changes, e.g. after degenerated/full shenandoah_globals.hpp GC cycles. In percents of (soft) max heap size. 5 The number of cycles some heuristics take to collect in order share/gc/shenandoah/ ShenandoahLearningSteps OpenJDK11 uintx gc range(0,100) experimental to learn application and GC performance. shenandoah_globals.hpp ShenandoahLoadRefBarrier OpenJDK11 bool gc true diagnostic Turn on/off load-reference barriers in Shenandoah share/gc/shenandoah/ shenandoah_globals.hpp ShenandoahLoopOptsAfterExpansion OpenJDK11 bool gc true diagnostic Attempt more loop opts after barrier expansion. share/gc/shenandoah/ shenandoah_globals.hpp How many items to process during one marking iteration before ShenandoahMarkLoopStride OpenJDK11 uintx gc 1000 experimental checking for cancellation, yielding, etc. Larger values improve share/gc/shenandoah/ marking performance at expense of responsiveness. shenandoah_globals.hpp 32 How many objects to prefetch ahead when traversing mark bitmaps. share/gc/shenandoah/ ShenandoahMarkScanPrefetch OpenJDK11 intx gc range(0, 256) experimental Set to 0 to disable prefetching. shenandoah_globals.hpp With automatic region sizing, the regions would be at most share/gc/shenandoah/ ShenandoahMaxRegionSize OpenJDK11 size_t gc 32 * M experimental this large. shenandoah_globals.hpp How many times to maximum attempt to flush SATB buffers at the share/gc/shenandoah/ ShenandoahMaxSATBBufferFlushes OpenJDK11 uintx gc 5 experimental end of concurrent marking. shenandoah_globals.hpp How much heap should be free before most heuristics trigger the ShenandoahMinFreeThreshold OpenJDK11 uintx gc 10 experimental collection, even without other triggers. Provides the safety share/gc/shenandoah/ range(0,100) margin for many heuristics. In percents of (soft) max heap size. shenandoah_globals.hpp With automatic region sizing, the regions would be at least share/gc/shenandoah/ ShenandoahMinRegionSize OpenJDK11 size_t gc 256 * K experimental this large. shenandoah_globals.hpp ShenandoahOOMDuringEvacALot OpenJDK11 bool gc false diagnostic Testing: simulate OOM during evacuation. share/gc/shenandoah/ shenandoah_globals.hpp Optimize barriers on static final fields. ShenandoahOptimizeStaticFinals OpenJDK11 bool gc true diagnostic Turn it off for maximum compatibility with reflection or JNI share/gc/shenandoah/ code that manipulates final fields. shenandoah_globals.hpp How much of free space to take as non-taxable allocations 10 the GC cycle. Larger value makes the pacing milder at the share/gc/shenandoah/ ShenandoahPacingCycleSlack OpenJDK11 uintx gc range(0, 100) experimental beginning of the GC cycle. Lower value makes the pacing less shenandoah_globals.hpp uniform during the cycle. In percent of free space. How much of heap counted as non-taxable allocations during idle phases. Larger value makes the pacing milder when collector is ShenandoahPacingIdleSlack OpenJDK11 uintx gc 2 experimental idle, requiring less rendezvous with control thread. Lower share/gc/shenandoah/ range(0, 100) value makes the pacing control less responsive to out-of-cycle shenandoah_globals.hpp allocs. In percent of total heap size. Max delay for pacing application allocations. Larger values provide more resilience against out of memory, at expense at hiding the GC latencies in the allocation path. Time is in share/gc/shenandoah/ ShenandoahPacingMaxDelay OpenJDK11 uintx gc 10 experimental milliseconds. Setting it to arbitrarily large value makes shenandoah_globals.hpp GC effectively stall the threads indefinitely instead of going to degenerated or Full GC. Additional pacing tax surcharge to help unclutter the heap. 1.1 Larger values makes the pacing more aggressive. Lower values share/gc/shenandoah/ ShenandoahPacingSurcharge OpenJDK11 double gc range(1.0, 100.0) experimental risk GC cycles finish with less memory than were available at shenandoah_globals.hpp the beginning of it. Deprecated in JDK25 Pace application allocations to give GC chance to start ShenandoahPacing OpenJDK11 Obsoleted bool gc true experimental and complete before allocation failure is reached. share/gc/shenandoah/ in JDK26 shenandoah_globals.hpp Expired in JDK27 How many regions to process at once during parallel region share/gc/shenandoah/ ShenandoahParallelRegionStride OpenJDK11 uintx gc 1024 experimental iteration. Affects heaps with lots of regions. shenandoah_globals.hpp Do concurrent preclean phase before final mark: process ShenandoahPreclean OpenJDK11 bool gc true diagnostic definitely alive references to avoid dealing with them during share/gc/shenandoah/ pause. shenandoah_globals.hpp Process process weak (soft, phantom, finalizers) references every Nth cycle. Normally affects concurrent GC cycles only, ShenandoahRefProcFrequency OpenJDK11 uintx gc 5 experimental as degenerated and full GCs would try to process references share/gc/shenandoah/ regardless. Set to zero to disable reference processing shenandoah_globals.hpp completely. Sampling rate for heap region sampling. In milliseconds between ShenandoahRegionSamplingRate OpenJDK11 int gc 40 experimental the samples. Higher values provide more fidelity, at expense share/gc/shenandoah/ of more sampling overhead. shenandoah_globals.hpp ShenandoahRegionSampling OpenJDK11 bool gc false experimental Provide heap region sampling data via jvmstat. share/gc/shenandoah/ shenandoah_globals.hpp ShenandoahRegionSize OpenJDK11 size_t gc 0 experimental Static heap region size. Set zero to enable automatic sizing. share/gc/shenandoah/ shenandoah_globals.hpp ShenandoahSATBBarrier OpenJDK11 bool gc true diagnostic Turn on/off SATB barriers in Shenandoah share/gc/shenandoah/ shenandoah_globals.hpp ShenandoahSATBBufferSize OpenJDK11 size_t gc 1 * K experimental Number of entries in an SATB log buffer. share/gc/shenandoah/ range(1, max_uintx) shenandoah_globals.hpp Fix references with load reference barrier. Disabling this share/gc/shenandoah/ ShenandoahSelfFixing OpenJDK11 bool gc true diagnostic might degrade performance. shenandoah_globals.hpp ShenandoahSoftMaxHeapSize OpenJDK11 size_t gc 0 manageable Soft limit for maximum heap size (in bytes) share/gc/shenandoah/ shenandoah_globals.hpp ShenandoahSuspendibleWorkers OpenJDK11 bool gc false experimental Suspend concurrent GC worker threads at safepoints share/gc/shenandoah/ shenandoah_globals.hpp With automatic region sizing, this is the approximate number ShenandoahTargetNumRegions OpenJDK11 size_t gc 2048 experimental of regions that would be used, within min/max region size share/gc/shenandoah/ limits. shenandoah_globals.hpp Uncommit memory for regions that were not used for more than this time. First use after that would incur allocation stalls. Actively used regions would never be uncommitted, because they share/gc/shenandoah/ ShenandoahUncommitDelay OpenJDK11 uintx gc 5*60*1000 experimental do not become unused longer than this delay. Time is in shenandoah_globals.hpp milliseconds. Setting this delay to 0 effectively uncommits regions almost immediately after they become unused. Allow to uncommit memory under unused regions and metadata. This optimizes footprint at expense of allocation latency in share/gc/shenandoah/ ShenandoahUncommit OpenJDK11 bool gc true experimental regions that require committing back. Uncommits would be shenandoah_globals.hpp disabled by some heuristics, or with static heap size. Unload the classes every Nth cycle. Normally affects concurrent ShenandoahUnloadClassesFrequency OpenJDK11 uintx gc 100 experimental GC cycles, as degenerated and full GCs would try to unload share/gc/shenandoah/ classes regardless. Set to zero to disable class unloading. shenandoah_globals.hpp Verification level, higher levels check more, taking more time. Accepted values are: 0 = basic heap checks; ShenandoahVerifyLevel OpenJDK11 intx gc 4 diagnostic 1 = previous level, plus basic region checks; share/gc/shenandoah/ 2 = previous level, plus all roots; shenandoah_globals.hpp 3 = previous level, plus all reachable objects; 4 = previous level, plus all marked objects ShenandoahVerifyOptoBarriers OpenJDK11 bool gc false develop Verify no missing barriers in C2. share/gc/shenandoah/ shenandoah_globals.hpp Enable internal verification. This would catch many GC bugs, ShenandoahVerify OpenJDK11 bool gc false diagnostic but it would also stall the collector during the verification, share/gc/shenandoah/ which prolongs the pauses and might hide other bugs. shenandoah_globals.hpp ShowHiddenFrames OpenJDK7 bool runtime false diagnostic show method handle implementation frames (usually hidden) share/runtime/globals.hpp ShowMessageBoxOnError OpenJDK6 bool runtime false product Keep process alive on VM fatal error share/runtime/globals.hpp ShowRegistersOnAssert OpenJDK11 bool runtime false diagnostic On internal errors, include registers in error report. share/runtime/globals.hpp When disabled, informs the GC to shrink the java heap directly ShrinkHeapInSteps OpenJDK9 bool runtime true product to the target size at the next full GC rather than requiring share/runtime/globals.hpp smaller steps during multiple full GCs. SoftMatchFailure OpenJDK6 bool c2 trueInProduct develop If the DFA fails to match a node, print a message and bail out share/opto/c2_globals.hpp SoftRefLRUPolicyMSPerMB OpenJDK6 intx runtime 1000 product Number of milliseconds per MB of free space in the heap share/runtime/globals.hpp range(0, max_intx) -1 Use prfm hint with specified distance in compiled code. cpu/aarch64/ SoftwarePrefetchHintDistance OpenJDK10 int aarch64 range(-1, 4096) product Value -1 means off. globals_aarch64.hpp SparcV9RegsHiBitsZero OpenJDK6 bool c2 true develop Assume Sparc V9 I&L registers on V8+ systems are zero-extended share/opto/c2_globals.hpp SpecTrapLimitExtraEntries OpenJDK8 intx runtime 3 experimental Extra method data trap entries for speculation share/runtime/globals.hpp SpecialArraysEquals OpenJDK6 bool c2 true diagnostic special version of Arrays.equals(char[],char[]) share/opto/c2_globals.hpp SpecialEncodeISOArray OpenJDK8 bool c2 true diagnostic special version of ISO_8859_1$Encoder.encodeISOArray share/opto/c2_globals.hpp SpecialStringCompareTo OpenJDK6 bool c2 true diagnostic special version of string compareTo share/opto/c2_globals.hpp SpecialStringEquals OpenJDK6 bool c2 true diagnostic special version of string equals share/opto/c2_globals.hpp SpecialStringIndexOf OpenJDK6 bool c2 true diagnostic special version of string indexOf share/opto/c2_globals.hpp Clone compares and control flow through merge points to fold SplitIfBlocks OpenJDK6 bool c2 true product some branches share/opto/c2_globals.hpp StackPrintLimit OpenJDK6 intx runtime 100 develop number of stack frames to print in VM-level stack dump share/runtime/globals.hpp StackRedPages OpenJDK6 intx aarch64 DEFAULT_STACK_RED_PAGES define_pd_global cpu/aarch64/ globals_aarch64.hpp StackRedPages OpenJDK6 intx arm DEFAULT_STACK_RED_PAGES define_pd_global cpu/arm/globals_arm.hpp Number of red zone (unrecoverable overflows) pages of size StackRedPages OpenJDK6 intx runtime product_pd share/runtime/globals.hpp 4KB. If pages are bigger red zone is aligned up. StackRedPages OpenJDK6 intx ppc DEFAULT_STACK_RED_PAGES define_pd_global cpu/ppc/globals_ppc.hpp StackRedPages OpenJDK6 intx s390 DEFAULT_STACK_RED_PAGES define_pd_global cpu/s390/globals_s390.hpp StackRedPages OpenJDK6 intx sparc DEFAULT_STACK_RED_PAGES define_pd_global cpu/sparc/globals_sparc.hpp StackRedPages OpenJDK6 intx x86 DEFAULT_STACK_RED_PAGES define_pd_global cpu/x86/globals_x86.hpp StackRedPages OpenJDK6 intx zero DEFAULT_STACK_RED_PAGES define_pd_global cpu/zero/globals_zero.hpp StackReservedPages OpenJDK9 intx aarch64 DEFAULT_STACK_RESERVED_PAGES define_pd_global cpu/aarch64/ globals_aarch64.hpp StackReservedPages OpenJDK9 intx arm DEFAULT_STACK_RESERVED_PAGES define_pd_global cpu/arm/globals_arm.hpp Number of reserved zone (reserved to annotated methods) pages StackReservedPages OpenJDK9 intx runtime product_pd of size 4KB. If pages are bigger reserved zone is aligned up. share/runtime/globals.hpp StackReservedPages OpenJDK9 intx ppc DEFAULT_STACK_RESERVED_PAGES define_pd_global cpu/ppc/globals_ppc.hpp StackReservedPages OpenJDK9 intx s390 DEFAULT_STACK_RESERVED_PAGES define_pd_global cpu/s390/globals_s390.hpp StackReservedPages OpenJDK9 intx sparc DEFAULT_STACK_RESERVED_PAGES define_pd_global cpu/sparc/globals_sparc.hpp StackReservedPages OpenJDK9 intx x86 DEFAULT_STACK_RESERVED_PAGES define_pd_global cpu/x86/globals_x86.hpp StackReservedPages OpenJDK9 intx zero DEFAULT_STACK_RESERVED_PAGES define_pd_global cpu/zero/globals_zero.hpp StackShadowPages OpenJDK6 intx aarch64 DEFAULT_STACK_SHADOW_PAGES define_pd_global cpu/aarch64/ globals_aarch64.hpp StackShadowPages OpenJDK6 intx arm DEFAULT_STACK_SHADOW_PAGES define_pd_global cpu/arm/globals_arm.hpp Number of shadow zone (for overflow checking) pages of size StackShadowPages OpenJDK6 intx runtime product_pd 4KB. If pages are bigger shadow zone is aligned up. share/runtime/globals.hpp This should exceed the depth of the VM and native call stack. StackShadowPages OpenJDK6 intx ppc DEFAULT_STACK_SHADOW_PAGES define_pd_global cpu/ppc/globals_ppc.hpp StackShadowPages OpenJDK6 intx s390 DEFAULT_STACK_SHADOW_PAGES define_pd_global cpu/s390/globals_s390.hpp StackShadowPages OpenJDK6 intx sparc DEFAULT_STACK_SHADOW_PAGES define_pd_global cpu/sparc/globals_sparc.hpp StackShadowPages OpenJDK6 intx x86 DEFAULT_STACK_SHADOW_PAGES define_pd_global cpu/x86/globals_x86.hpp StackShadowPages OpenJDK6 intx zero DEFAULT_STACK_SHADOW_PAGES define_pd_global cpu/zero/globals_zero.hpp StackTraceInThrowable OpenJDK6 bool runtime true product Collect backtrace in throwable when exception happens share/runtime/globals.hpp StackYellowPages OpenJDK6 intx aarch64 DEFAULT_STACK_YELLOW_PAGES define_pd_global cpu/aarch64/ globals_aarch64.hpp StackYellowPages OpenJDK6 intx arm DEFAULT_STACK_YELLOW_PAGES define_pd_global cpu/arm/globals_arm.hpp Number of yellow zone (recoverable overflows) pages of size StackYellowPages OpenJDK6 intx runtime product_pd share/runtime/globals.hpp 4KB. If pages are bigger yellow zone is aligned up. StackYellowPages OpenJDK6 intx ppc DEFAULT_STACK_YELLOW_PAGES define_pd_global cpu/ppc/globals_ppc.hpp StackYellowPages OpenJDK6 intx s390 DEFAULT_STACK_YELLOW_PAGES define_pd_global cpu/s390/globals_s390.hpp StackYellowPages OpenJDK6 intx sparc DEFAULT_STACK_YELLOW_PAGES define_pd_global cpu/sparc/globals_sparc.hpp StackYellowPages OpenJDK6 intx x86 DEFAULT_STACK_YELLOW_PAGES define_pd_global cpu/x86/globals_x86.hpp StackYellowPages OpenJDK6 intx zero DEFAULT_STACK_YELLOW_PAGES define_pd_global cpu/zero/globals_zero.hpp Start aggressive sweeping if X[%] of the code cache is free. StartAggressiveSweepingAt OpenJDK9 uintx runtime 10 product Segmented code cache: X[%] of the non-profiled heap. share/runtime/globals.hpp range(0, 100) Non-segmented code cache: X[%] of the total code cache StartAttachListener OpenJDK6 bool runtime false product Always start Attach Listener at VM startup share/runtime/globals.hpp StartFlightRecording OpenJDK11 ccstr runtime NULL product Start flight recording with options share/runtime/globals.hpp StopInterpreterAt OpenJDK6 intx runtime 0 develop Stop interpreter execution at specified bytecode number share/runtime/globals.hpp StressArrayCopyMacroNode OpenJDK9 bool c2 false develop Perform ArrayCopy load/store replacement during IGVN only share/opto/c2_globals.hpp StressCodeAging OpenJDK9 bool runtime false diagnostic Start with counters compiled in share/runtime/globals.hpp StressCodeBuffers OpenJDK6 bool runtime false develop Exercise code buffer expansion and other rare state changes share/runtime/globals.hpp StressCompiledExceptionHandlers OpenJDK7 bool runtime false develop Exercise compiled exception handlers share/runtime/globals.hpp StressCriticalJNINatives OpenJDK6 bool runtime false notproduct Exercise register saving code in critical natives share/runtime/globals.hpp Force scavenge when a derived pointer is detected on stack StressDerivedPointers OpenJDK6 bool runtime false notproduct after rtm call share/runtime/globals.hpp StressGCM OpenJDK8 bool c2 false diagnostic Randomize instruction scheduling in GCM share/opto/c2_globals.hpp StressLCM OpenJDK8 bool c2 false diagnostic Randomize instruction scheduling in LCM share/opto/c2_globals.hpp StressLdcRewrite OpenJDK6 bool runtime false product Force ldc -> ldc_w rewrite during RedefineClasses share/runtime/globals.hpp StressLinearScan OpenJDK6 bool c1 false develop scramble block order used by LinearScan (stress test) share/c1/c1_globals.hpp StressLoopInvariantCodeMotion OpenJDK8 bool c1 false develop stress loop invariant code motion share/c1/c1_globals.hpp StressMethodHandleLinkerInlining OpenJDK11 bool c2 false develop Stress inlining through method handle linkers share/opto/c2_globals.hpp StressRangeCheckElimination OpenJDK8 bool c1 false develop stress Range Check Elimination share/c1/c1_globals.hpp Recompile each compiled method without subsuming loads StressRecompilation OpenJDK6 bool c2 false develop or escape analysis. share/opto/c2_globals.hpp StressReflectiveCode OpenJDK6 bool c2 false develop Use inexact types at allocations, etc., to test reflection share/opto/c2_globals.hpp StressRewriter OpenJDK8 bool runtime false develop Stress linktime bytecode rewriting share/runtime/globals.hpp Enable strict checks that safepoints cannot happen for threads StrictSafepointChecks OpenJDK6 bool runtime trueInDebug notproduct that use NoSafepointVerifier share/runtime/globals.hpp 3 A string must reach this age (or be promoted to an old region) StringDeduplicationAgeThreshold OpenJDK8 uintx runtime range(1, markOopDesc::max_age) product to be considered for deduplication share/runtime/globals.hpp StringDeduplicationRehashALot OpenJDK8 bool runtime false diagnostic Force table rehash every time the table is scanned share/runtime/globals.hpp StringDeduplicationResizeALot OpenJDK8 bool runtime false diagnostic Force table resize every time the table is scanned share/runtime/globals.hpp defaultStringTableSize Number of buckets in the interned String table StringTableSize OpenJDK6 uintx runtime range(minimumStringTableSize, product (will be rounded to nearest higher power of 2) share/runtime/globals.hpp 16777216ul) Attempt to compile while subsuming loads into machine SubsumeLoads OpenJDK6 bool c2 true develop instructions. share/opto/c2_globals.hpp SuperWordLoopUnrollAnalysis OpenJDK9 bool aarch64 true define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp Map number of unrolls for main loop via SuperWordLoopUnrollAnalysis OpenJDK9 bool c2 product_pd Superword Level Parallelism analysis share/opto/c2_globals.hpp SuperWordLoopUnrollAnalysis OpenJDK9 bool ppc false define_pd_global cpu/ppc/c2_globals_ppc.hpp SuperWordLoopUnrollAnalysis OpenJDK9 bool s390 false define_pd_global cpu/s390/ c2_globals_s390.hpp SuperWordLoopUnrollAnalysis OpenJDK9 bool sparc false define_pd_global cpu/sparc/ c2_globals_sparc.hpp SuperWordLoopUnrollAnalysis OpenJDK9 bool x86 true define_pd_global cpu/x86/c2_globals_x86.hpp SuperWordRTDepCheck OpenJDK6 bool c2 false develop Enable runtime dependency checks. share/opto/c2_globals.hpp SuperWordReductions OpenJDK9 bool c2 true product Enable reductions support in superword. share/opto/c2_globals.hpp SuperwordUseVSX OpenJDK10 bool ppc false product Use Power8 VSX instructions for superword optimization. cpu/ppc/globals_ppc.hpp SuppressErrorAt OpenJDK6 ccstrlist runtime notproduct List of assertions (file:line) to muzzle share/runtime/globals.hpp SuppressFatalErrorMessage OpenJDK6 bool runtime false product Report NO fatal error message (avoid deadlock) share/runtime/globals.hpp SurvivorAlignmentInBytes OpenJDK8 intx runtime 0 experimental Default survivor space alignment in bytes share/runtime/globals.hpp Obsoleted SurvivorPadding OpenJDK6 in JDK26 uintx gc 3 product How much buffer to keep for survivor overflow share/gc/shared/ Expired in range(0, max_juint) gc_globals.hpp JDK27 SurvivorRatio OpenJDK6 uintx gc 8 product Ratio of eden/survivor space size share/gc/shared/ range(1, max_uintx-2) gc_globals.hpp Obsoleted SuspendRetryCount OpenJDK6 in JDK17 intx runtime 50 product Maximum retry count for an external suspend request share/runtime/globals.hpp Expired in range(0, max_intx) JDK18 Obsoleted SuspendRetryDelay OpenJDK6 in JDK17 intx runtime 5 product Milliseconds to delay per retry (* current_retry_count) share/runtime/globals.hpp Expired in range(0, max_intx) JDK18 SweeperLogEntries OpenJDK6 intx runtime 1024 notproduct Number of records in the ring buffer of sweeper activity share/runtime/globals.hpp defaultSymbolTableSize Number of buckets in the JVM internal Symbol table SymbolTableSize OpenJDK8 uintx runtime range(minimumSymbolTableSize, experimental share/runtime/globals.hpp 111*defaultSymbolTableSize) Obsoleted (Unsafe, Unstable) SyncFlags OpenJDK6 in JDK12 intx runtime 0 experimental Experimental Sync flags share/runtime/globals.hpp Expired in JDK13 Obsoleted SyncKnobs OpenJDK6 in JDK12 ccstr runtime NULL experimental (Unstable) Various monitor synchronization tunables share/runtime/globals.hpp Expired in JDK13 Obsoleted SyncVerbose OpenJDK6 in JDK12 intx runtime 0 experimental (Unstable) share/runtime/globals.hpp Expired in JDK13 TLABAllocationWeight OpenJDK6 uintx gc 35 product Allocation averaging weight share/gc/shared/ range(0, 100) gc_globals.hpp TLABRefillWasteFraction OpenJDK6 uintx gc 64 product Maximum TLAB waste at a refill (internal fragmentation) share/gc/shared/ range(1, max_juint) gc_globals.hpp TLABSize OpenJDK6 size_t gc 0 product Starting TLAB size (in bytes); zero means set ergonomically share/gc/shared/ gc_globals.hpp Deprecated in JDK12 TLABStats OpenJDK6 Obsoleted bool gc true product Provide more detailed and expensive TLAB statistics. share/gc/shared/ in JDK23 gc_globals.hpp Expired in JDK24 TLABWasteIncrement OpenJDK6 uintx gc 4 product Increment allowed waste at slow allocation share/gc/shared/ range(0, max_jint) gc_globals.hpp TLABWasteTargetPercent OpenJDK6 uintx gc 1 product Percentage of Eden that can be wasted (half-full TLABs at GC) share/gc/shared/ range(1, 100) gc_globals.hpp 10 Target wasted space in last buffer as percent of overall share/gc/shared/ TargetPLABWastePct OpenJDK6 uintx gc range(1, 100) product allocation gc_globals.hpp TargetSurvivorRatio OpenJDK6 uintx gc 50 product Desired percentage of survivor space used after scavenge share/gc/shared/ range(0, 100) gc_globals.hpp Obsoleted TenuredGenerationSizeIncrement OpenJDK6 in JDK26 uintx gc 20 product Adaptive size percentage change in tenured generation share/gc/shared/ Expired in range(0, 100) gc_globals.hpp JDK27 Obsoleted TenuredGenerationSizeSupplementDecay OpenJDK6 in JDK26 uintx gc 2 product Decay factor to TenuredGenerationSizeIncrement share/gc/shared/ Expired in range(1, max_uintx) gc_globals.hpp JDK27 Obsoleted TenuredGenerationSizeSupplement OpenJDK6 in JDK26 uintx gc 80 product Supplement to TenuredGenerationSizeIncrement used at startup share/gc/shared/ Expired in range(0, 100) gc_globals.hpp JDK27 If > 0, provokes an error inside VM error handler (a secondary TestCrashInErrorHandler OpenJDK9 uintx runtime 0 notproduct crash). see test_error_handler() in vmError.cpp share/runtime/globals.hpp TestSafeFetchInErrorHandler OpenJDK9 bool runtime false notproduct If true, tests SafeFetch inside error handler. share/runtime/globals.hpp TestUnresponsiveErrorHandler OpenJDK10 bool runtime false notproduct If true, simulates an unresponsive error handler. share/runtime/globals.hpp Deprecated in JDK13 ThreadLocalHandshakes OpenJDK10 Obsoleted bool aarch64 true define_pd_global cpu/aarch64/ in JDK14 globals_aarch64.hpp Expired in JDK15 Deprecated in JDK13 ThreadLocalHandshakes OpenJDK10 Obsoleted bool arm false define_pd_global cpu/arm/globals_arm.hpp in JDK14 Expired in JDK15 Deprecated in JDK13 ThreadLocalHandshakes OpenJDK10 Obsoleted bool runtime product_pd Use thread-local polls instead of global poll for safepoints. share/runtime/globals.hpp in JDK14 Expired in JDK15 Deprecated in JDK13 ThreadLocalHandshakes OpenJDK10 Obsoleted bool ppc true define_pd_global cpu/ppc/globals_ppc.hpp in JDK14 Expired in JDK15 Deprecated in JDK13 ThreadLocalHandshakes OpenJDK10 Obsoleted bool s390 true define_pd_global cpu/s390/globals_s390.hpp in JDK14 Expired in JDK15 Deprecated in JDK13 ThreadLocalHandshakes OpenJDK10 Obsoleted bool sparc true define_pd_global cpu/sparc/globals_sparc.hpp in JDK14 Expired in JDK15 Deprecated in JDK13 ThreadLocalHandshakes OpenJDK10 Obsoleted bool x86 false define_pd_global cpu/x86/globals_x86.hpp in JDK14 Expired in JDK15 Deprecated in JDK13 ThreadLocalHandshakes OpenJDK10 Obsoleted bool zero false define_pd_global cpu/zero/globals_zero.hpp in JDK14 Expired in JDK15 0 : 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 0 because the OS does not support static priority in ThreadPriorityPolicy OpenJDK6 intx runtime range(0, 1) product SCHED_OTHER scheduling class which is the only choice for share/runtime/globals.hpp non-root, non-realtime applications. 1 : Aggressive. Java thread priorities map over to the entire range of native thread priorities. Higher Java thread priorities map to higher native thread priorities. This policy should be used with care, as sometimes it can cause performance degradation in the application and/or the entire system. On Linux/BSD/macOS this policy requires root privilege or an extended capability. ThreadPriorityVerbose OpenJDK6 bool runtime false product Print priority changes share/runtime/globals.hpp ThreadStackSize OpenJDK6 intx aix ppc 2048 define_pd_global // 0 => use system default os_cpu/aix_ppc/ globals_aix_ppc.hpp ThreadStackSize OpenJDK6 intx bsd aarch64 2048 define_pd_global // 0 => use system default os_cpu/bsd_aarch64/ globals_bsd_aarch64.hpp ThreadStackSize OpenJDK6 intx bsd x86 320 define_pd_global os_cpu/bsd_x86/ globals_bsd_x86.hpp ThreadStackSize OpenJDK6 intx bsd zero 1536 define_pd_global os_cpu/bsd_zero/ globals_bsd_zero.hpp ThreadStackSize OpenJDK6 intx linux aarch64 2040 define_pd_global // 0 => use system default os_cpu/linux_aarch64/ globals_linux_aarch64.hpp ThreadStackSize OpenJDK6 intx linux arm 320 define_pd_global os_cpu/linux_arm/ globals_linux_arm.hpp ThreadStackSize OpenJDK6 intx linux ppc 2048 define_pd_global // 0 => use system default os_cpu/linux_ppc/ globals_linux_ppc.hpp ThreadStackSize OpenJDK6 intx linux s390 1024 define_pd_global // 0 => Use system default. os_cpu/linux_s390/ globals_linux_s390.hpp ThreadStackSize OpenJDK6 intx linux x86 320 define_pd_global os_cpu/linux_x86/ globals_linux_x86.hpp ThreadStackSize OpenJDK6 intx linux zero 1536 define_pd_global os_cpu/linux_zero/ globals_linux_zero.hpp ThreadStackSize OpenJDK6 intx runtime product_pd Thread Stack Size (in Kbytes) share/runtime/globals.hpp ThreadStackSize OpenJDK6 intx sparc 1024 define_pd_global cpu/sparc/globals_sparc.hpp ThreadStackSize OpenJDK6 intx solaris x86 320 define_pd_global os_cpu/solaris_x86/ globals_solaris_x86.hpp ThreadStackSize OpenJDK6 intx windows aarch64 0 define_pd_global // 0 => use system default os_cpu/windows_aarch64/ globals_windows_aarch64.hpp ThreadStackSize OpenJDK6 intx windows x86 0 define_pd_global // 0 => use system default os_cpu/windows_x86/ globals_windows_x86.hpp ThresholdTolerance OpenJDK6 uintx gc 10 product Allowed collection cost difference between generations share/gc/shared/ range(0, 100) gc_globals.hpp Tier0BackedgeNotifyFreqLog OpenJDK6 intx runtime 10 product Interpreter (tier 0) invocation notification frequency share/runtime/globals.hpp range(0, 30) Tier0InvokeNotifyFreqLog OpenJDK6 intx runtime 7 product Interpreter (tier 0) invocation notification frequency share/runtime/globals.hpp range(0, 30) 200 Start profiling in interpreter if the counters exceed tier 3 Tier0ProfilingStartPercentage OpenJDK6 intx runtime range(0, max_jint) product thresholds by the specified percentage share/runtime/globals.hpp Tier23InlineeNotifyFreqLog OpenJDK6 intx runtime 20 product Inlinee invocation (tiers 2 and 3) notification frequency share/runtime/globals.hpp range(0, 30) Tier2BackEdgeThreshold OpenJDK6 intx runtime 0 product Back edge threshold at which tier 2 compilation is invoked share/runtime/globals.hpp range(0, max_jint) Tier2BackedgeNotifyFreqLog OpenJDK6 intx runtime 14 product C1 without MDO (tier 2) invocation notification frequency share/runtime/globals.hpp range(0, 30) Tier2CompileThreshold OpenJDK6 intx runtime 0 product threshold at which tier 2 compilation is invoked share/runtime/globals.hpp range(0, max_jint) Tier2InvokeNotifyFreqLog OpenJDK6 intx runtime 11 product C1 without MDO (tier 2) invocation notification frequency share/runtime/globals.hpp range(0, 30) 120000 Back edge threshold at which tier 3 OSR compilation is invoked Tier3AOTBackEdgeThreshold OpenJDK9 intx runtime range(0, max_jint) product if coming from AOT share/runtime/globals.hpp 15000 Threshold at which tier 3 compilation is invoked (invocation Tier3AOTCompileThreshold OpenJDK9 intx runtime range(0, max_jint) product minimum must be satisfied) if coming from AOT share/runtime/globals.hpp 10000 Compile if number of method invocations crosses this Tier3AOTInvocationThreshold OpenJDK9 intx runtime range(0, max_jint) product threshold if coming from AOT share/runtime/globals.hpp Tier3AOTMinInvocationThreshold OpenJDK9 intx runtime 1000 product Minimum invocation to compile at tier 3 if coming from AOT share/runtime/globals.hpp range(0, max_jint) Tier3BackEdgeThreshold OpenJDK6 intx runtime 60000 product Back edge threshold at which tier 3 OSR compilation is invoked share/runtime/globals.hpp range(0, max_jint) 13 C1 with MDO profiling (tier 3) invocation notification Tier3BackedgeNotifyFreqLog OpenJDK6 intx runtime range(0, 30) product frequency share/runtime/globals.hpp 2000 Threshold at which tier 3 compilation is invoked (invocation Tier3CompileThreshold OpenJDK6 intx runtime range(0, max_jint) product minimum must be satisfied) share/runtime/globals.hpp 2 If C2 queue size is less than this amount per compiler thread Tier3DelayOff OpenJDK6 intx runtime range(0, max_jint) product allow methods compiled at tier 2 transition to tier 3 share/runtime/globals.hpp 5 If C2 queue size grows over this amount per compiler thread Tier3DelayOn OpenJDK6 intx runtime range(0, max_jint) product stop compiling at tier 3 and start compiling at tier 2 share/runtime/globals.hpp 200 Compile if number of method invocations crosses this Tier3InvocationThreshold OpenJDK6 intx runtime range(0, max_jint) product threshold share/runtime/globals.hpp 10 C1 with MDO profiling (tier 3) invocation notification Tier3InvokeNotifyFreqLog OpenJDK6 intx runtime range(0, 30) product frequency share/runtime/globals.hpp 5 Tier 3 thresholds will increase twofold when C1 queue size Tier3LoadFeedback OpenJDK6 intx runtime range(0, max_jint) product reaches this amount per compiler thread share/runtime/globals.hpp Tier3MinInvocationThreshold OpenJDK6 intx runtime 100 product Minimum invocation to compile at tier 3 share/runtime/globals.hpp range(0, max_jint) Tier4BackEdgeThreshold OpenJDK6 intx runtime 40000 product Back edge threshold at which tier 4 OSR compilation is invoked share/runtime/globals.hpp range(0, max_jint) 15000 Threshold at which tier 4 compilation is invoked (invocation Tier4CompileThreshold OpenJDK6 intx runtime range(0, max_jint) product minimum must be satisfied share/runtime/globals.hpp 5000 Compile if number of method invocations crosses this Tier4InvocationThreshold OpenJDK6 intx runtime range(0, max_jint) product threshold share/runtime/globals.hpp 3 Tier 4 thresholds will increase twofold when C2 queue size Tier4LoadFeedback OpenJDK6 intx runtime range(0, max_jint) product reaches this amount per compiler thread share/runtime/globals.hpp Tier4MinInvocationThreshold OpenJDK6 intx runtime 600 product Minimum invocation to compile at tier 4 share/runtime/globals.hpp range(0, max_jint) TieredCompilation OpenJDK6 bool aarch64 false define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp TieredCompilation OpenJDK6 bool arm false define_pd_global cpu/arm/c1_globals_arm.hpp TieredCompilation OpenJDK6 bool runtime product_pd Enable tiered compilation share/runtime/globals.hpp TieredCompilation OpenJDK6 bool ppc trueInTiered define_pd_global cpu/ppc/c2_globals_ppc.hpp TieredCompilation OpenJDK6 bool s390 false define_pd_global cpu/s390/ c1_globals_s390.hpp TieredCompilation OpenJDK6 bool sparc trueInTiered define_pd_global cpu/sparc/ c2_globals_sparc.hpp TieredCompilation OpenJDK6 bool x86 false define_pd_global cpu/x86/c1_globals_x86.hpp 50 Kill compile task if method was not used within TieredCompileTaskTimeout OpenJDK6 intx runtime range(0, max_intx) product given timeout in milliseconds share/runtime/globals.hpp TieredRateUpdateMaxTime OpenJDK6 intx runtime 25 product Maximum rate sampling interval (in milliseconds) share/runtime/globals.hpp range(0, max_intx) TieredRateUpdateMinTime OpenJDK6 intx runtime 1 product Minimum rate sampling interval (in milliseconds) share/runtime/globals.hpp range(0, max_intx) TieredStopAtLevel OpenJDK6 intx runtime 4 product Stop at given compilation level share/runtime/globals.hpp range(0, 4) TimeCompilationPolicy OpenJDK6 bool runtime false develop Time the compilation policy share/runtime/globals.hpp TimeEachLinearScan OpenJDK6 bool c1 false develop print detailed timing of each LinearScan run share/c1/c1_globals.hpp TimeLinearScan OpenJDK6 bool c1 false product detailed timing of LinearScan phases share/c1/c1_globals.hpp TimeLivenessAnalysis OpenJDK6 bool runtime false develop Time computation of bytecode liveness analysis share/runtime/globals.hpp TimeOopMap2 OpenJDK6 bool runtime false develop Time calls to GenerateOopMap::compute_map() individually share/runtime/globals.hpp TimeOopMap OpenJDK6 bool runtime false develop Time calls to GenerateOopMap::compute_map() in sum share/runtime/globals.hpp TraceBytecodesAt OpenJDK6 intx runtime 0 develop Trace bytecodes starting with specified bytecode number share/runtime/globals.hpp TraceBytecodes OpenJDK6 bool runtime false develop Trace bytecode execution share/runtime/globals.hpp TraceCISCSpill OpenJDK6 bool c2 false notproduct Trace allocators use of cisc spillable instructions share/opto/c2_globals.hpp TraceCallFixup OpenJDK6 bool runtime false develop Trace all call fixups share/runtime/globals.hpp TraceCodeBlobStacks OpenJDK6 bool runtime false notproduct Trace stack-walk of codeblobs share/runtime/globals.hpp TraceCompilationPolicy OpenJDK6 bool runtime false develop Trace compilation policy share/runtime/globals.hpp TraceCompiledIC OpenJDK6 bool runtime false develop Trace changes of compiled IC share/runtime/globals.hpp TraceCompilerThreads OpenJDK11 bool runtime false diagnostic Trace creation and removal of compiler threads share/runtime/globals.hpp TraceCreateZombies OpenJDK6 bool runtime false develop trace creation of zombie nmethods share/runtime/globals.hpp TraceDeoptimization OpenJDK6 bool runtime false develop Trace deoptimization share/runtime/globals.hpp TraceDependencies OpenJDK6 bool runtime false develop Trace dependencies share/runtime/globals.hpp TraceDerivedPointers OpenJDK6 bool runtime false develop Trace traversal of derived pointers on stack share/runtime/globals.hpp TraceFPURegisterUsage OpenJDK6 bool c1 false develop Trace usage of FPU registers at start of blocks (intel only) share/c1/c1_globals.hpp TraceFPUStack OpenJDK6 bool c1 false develop Trace emulation of the FPU stack (intel only) share/c1/c1_globals.hpp TraceFinalizerRegistration OpenJDK6 bool runtime false develop Trace registration of final references share/runtime/globals.hpp TraceFrequencyInlining OpenJDK6 bool runtime false develop Trace frequency based inlining share/runtime/globals.hpp TraceGCTaskManager OpenJDK6 bool gc false develop Trace actions of the GC task manager share/gc/parallel/ parallel_globals.hpp TraceGCTaskQueue OpenJDK6 bool gc false develop Trace actions of the GC task queues share/gc/parallel/ parallel_globals.hpp TraceICBuffer OpenJDK6 bool runtime false develop Trace usage of IC buffer share/runtime/globals.hpp TraceICs OpenJDK6 bool runtime false develop Trace inline cache changes share/runtime/globals.hpp TraceInlineCacheClearing OpenJDK6 bool runtime false develop Trace clearing of inline caches in nmethods share/runtime/globals.hpp TraceInvocationCounterOverflow OpenJDK6 bool runtime false notproduct Trace method invocation counter overflow share/runtime/globals.hpp Obsoleted TraceInvokeDynamic OpenJDK6 in JDK16 bool runtime false develop trace internal invoke dynamic operations share/runtime/globals.hpp Expired in JDK17 TraceIterativeGVN OpenJDK6 bool c2 false develop Print progress during Iterative Global Value Numbering share/opto/c2_globals.hpp Obsoleted TraceJVMTIObjectTagging OpenJDK6 in JDK16 bool runtime false diagnostic Trace JVMTI object tagging calls share/runtime/globals.hpp Expired in JDK17 TraceJVMTI OpenJDK6 ccstr runtime NULL product Trace flags for JVMTI functions and events share/runtime/globals.hpp TraceJavaAssertions OpenJDK6 bool runtime false develop Trace java language assertions share/runtime/globals.hpp TraceLinearScanLevel OpenJDK6 intx c1 0 develop Debug levels for the linear scan allocator share/c1/c1_globals.hpp range(0, 4) TraceLivenessGen OpenJDK6 bool runtime false develop Trace the generation of liveness analysis information share/runtime/globals.hpp TraceLivenessQuery OpenJDK6 bool runtime false notproduct Trace queries of liveness analysis information share/runtime/globals.hpp Print out every time compilation is longer than TraceLongCompiles OpenJDK6 bool runtime false develop a given threshold share/runtime/globals.hpp TraceLoopLimitCheck OpenJDK6 bool c2 false develop Trace generation of loop limits checks share/opto/c2_globals.hpp TraceLoopOpts OpenJDK6 bool c2 false develop Trace executed loop optimizations share/opto/c2_globals.hpp TraceLoopPredicate OpenJDK6 bool c2 false develop Trace generation of loop predicates share/opto/c2_globals.hpp TraceLoopUnswitching OpenJDK6 bool c2 false notproduct Trace loop unswitching share/opto/c2_globals.hpp Obsoleted TraceMethodHandles OpenJDK6 in JDK16 bool runtime false develop trace internal method handle operations share/runtime/globals.hpp Expired in JDK17 TraceMethodReplacement OpenJDK6 bool runtime false develop Print when methods are replaced do to recompilation share/runtime/globals.hpp Deprecated in JDK13 TraceNMethodInstalls OpenJDK6 Obsoleted bool runtime false diagnostic Trace nmethod installation share/runtime/globals.hpp in JDK14 Expired in JDK15 TraceNewOopMapGenerationDetailed OpenJDK6 bool runtime false develop Trace OopMapGeneration: print detailed cell states share/runtime/globals.hpp TraceNewOopMapGeneration OpenJDK6 bool runtime false develop Trace OopMapGeneration share/runtime/globals.hpp TraceNewVectors OpenJDK7 bool c2 false notproduct Trace creation of Vector nodes share/opto/c2_globals.hpp TraceOnStackReplacement OpenJDK6 bool runtime false notproduct Trace on stack replacement share/runtime/globals.hpp TraceOopMapRewrites OpenJDK6 bool runtime false develop Trace rewriting of method oops during oop map generation share/runtime/globals.hpp TraceOptimizeFill OpenJDK6 bool c2 false develop print detailed information about fill conversion share/opto/c2_globals.hpp TraceOptoOutput OpenJDK6 bool c2 false notproduct Trace pipelining information share/opto/c2_globals.hpp TraceOptoParse OpenJDK6 bool c2 false develop Trace bytecode parse and control-flow merge share/opto/c2_globals.hpp TraceOptoPipelining OpenJDK6 bool c2 false notproduct Trace pipelining information share/opto/c2_globals.hpp TraceParallelOldGCDensePrefix OpenJDK6 bool gc false develop Trace dense prefix computation for ParallelOldGC share/gc/parallel/ parallel_globals.hpp TraceParallelOldGCMarkingPhase OpenJDK6 bool gc false develop Trace marking phase in ParallelOldGC share/gc/parallel/ parallel_globals.hpp TracePartialPeeling OpenJDK6 bool c2 false notproduct Trace partial peeling (loop rotation) information share/opto/c2_globals.hpp TracePatching OpenJDK6 bool c1 false develop Trace patching of field access on uninitialized classes share/c1/c1_globals.hpp TracePcPatching OpenJDK6 bool runtime false develop Trace usage of frame::patch_pc share/runtime/globals.hpp TracePhaseCCP OpenJDK6 bool c2 false notproduct Print progress during Conditional Constant Propagation share/opto/c2_globals.hpp Trace expanding nodes after TracePostallocExpand OpenJDK8 bool c2 false develop register allocation. share/opto/c2_globals.hpp TracePredicateFailedTraps OpenJDK8 bool c1 false develop trace runtime traps caused by predicate failure share/c1/c1_globals.hpp Trace profiling at the bytecode level during interpretation. TraceProfileInterpreter OpenJDK7 bool runtime false develop This outputs the profiling information collected to improve share/runtime/globals.hpp jit compilation. TraceProfileTripCount OpenJDK6 bool c2 false notproduct Trace profile loop trip count information share/opto/c2_globals.hpp TraceRangeCheckElimination OpenJDK8 bool c1 false develop Trace Range Check Elimination share/c1/c1_globals.hpp TraceRangeLimitCheck OpenJDK6 bool c2 false develop Trace additional overflow checks in RCE share/opto/c2_globals.hpp TraceRelocator OpenJDK6 bool runtime false develop Trace the bytecode relocator share/runtime/globals.hpp TraceSpilling OpenJDK6 bool c2 false diagnostic Trace spilling share/opto/c2_globals.hpp TraceSuperWordLoopUnrollAnalysis OpenJDK9 bool c2 false notproduct Trace what Superword Level Parallelism analysis applies share/opto/c2_globals.hpp TraceSuperWord OpenJDK6 bool c2 false notproduct Trace superword transforms share/opto/c2_globals.hpp Obsoleted TraceSuspendWaitFailures OpenJDK6 in JDK17 bool runtime false product Trace external suspend wait failures share/runtime/globals.hpp Expired in JDK18 TraceTraps OpenJDK7 bool aarch64 false product Trace all traps the signal handler cpu/aarch64/ globals_aarch64.hpp Trace all traps the signal handler TraceTraps OpenJDK7 bool ppc false product handles. cpu/ppc/globals_ppc.hpp Trace all traps the signal handler TraceTraps OpenJDK7 bool s390 false product handles. cpu/s390/globals_s390.hpp TraceTypeProfile OpenJDK6 bool c2 false diagnostic Trace type profile share/opto/c2_globals.hpp TraceUncollectedSpeculations OpenJDK9 bool jvmci false develop Print message when a failed speculation was not collected share/jvmci/ jvmci_globals.hpp TrackedInitializationLimit OpenJDK6 intx c2 50 product When initializing fields, track up to this many words share/opto/c2_globals.hpp range(0, 65535) Obsoleted TransmitErrorReport OpenJDK6 in JDK12 bool runtime false product Enable error report transmission on erroneous termination share/runtime/globals.hpp Expired in JDK13 TrapBasedICMissChecks OpenJDK7 bool ppc true product Raise and handle SIGTRAP if inline cache miss detected. cpu/ppc/globals_ppc.hpp Raise and handle SIGTRAP if calling not entrant or zombie TrapBasedNotEntrantChecks OpenJDK7 bool ppc true product method. cpu/ppc/globals_ppc.hpp TrapBasedNullChecks OpenJDK7 bool aarch64 false define_pd_global cpu/aarch64/ globals_aarch64.hpp TrapBasedNullChecks OpenJDK7 bool arm false define_pd_global // Not needed cpu/arm/globals_arm.hpp Generate code for null checks that uses a cmp and trap instruction raising SIGTRAP. This is only used if an access to TrapBasedNullChecks OpenJDK7 bool runtime product_pd null (+offset) will not raise a SIGSEGV, i.e., share/runtime/globals.hpp ImplicitNullChecks don't work (PPC64). TrapBasedNullChecks OpenJDK7 bool ppc true define_pd_global cpu/ppc/globals_ppc.hpp TrapBasedNullChecks OpenJDK7 bool s390 true define_pd_global cpu/s390/globals_s390.hpp TrapBasedNullChecks OpenJDK7 bool sparc false define_pd_global // Not needed on sparc. cpu/sparc/globals_sparc.hpp TrapBasedNullChecks OpenJDK7 bool x86 false define_pd_global // Not needed on x86. cpu/x86/globals_x86.hpp TrapBasedNullChecks OpenJDK7 bool zero false define_pd_global cpu/zero/globals_zero.hpp TrapBasedRangeChecks OpenJDK7 bool aarch64 false define_pd_global // Not needed. cpu/aarch64/ c2_globals_aarch64.hpp Generate code for range checks that uses a cmp and trap TrapBasedRangeChecks OpenJDK7 bool c2 product_pd instruction raising SIGTRAP. Used on PPC64. share/opto/c2_globals.hpp TrapBasedRangeChecks OpenJDK7 bool ppc true define_pd_global cpu/ppc/c2_globals_ppc.hpp TrapBasedRangeChecks OpenJDK7 bool s390 false define_pd_global // Not needed on z/Architecture. cpu/s390/ c2_globals_s390.hpp TrapBasedRangeChecks OpenJDK7 bool sparc false define_pd_global // Not needed on sparc. cpu/sparc/ c2_globals_sparc.hpp TrapBasedRangeChecks OpenJDK7 bool x86 false define_pd_global // Not needed on x86. cpu/x86/c2_globals_x86.hpp TrustFinalNonStaticFields OpenJDK6 bool runtime false experimental trust final non-static declarations for constant folding share/runtime/globals.hpp TwoOperandLIRForm OpenJDK6 bool aarch64 false define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp TwoOperandLIRForm OpenJDK6 bool arm false define_pd_global cpu/arm/c1_globals_arm.hpp TwoOperandLIRForm OpenJDK6 bool c1 develop_pd true if LIR requires src1 and dst to match in binary LIR ops share/c1/c1_globals.hpp TwoOperandLIRForm OpenJDK6 bool ppc false define_pd_global cpu/ppc/c1_globals_ppc.hpp TwoOperandLIRForm OpenJDK6 bool s390 true define_pd_global cpu/s390/ c1_globals_s390.hpp TwoOperandLIRForm OpenJDK6 bool sparc false define_pd_global cpu/sparc/ c1_globals_sparc.hpp TwoOperandLIRForm OpenJDK6 bool x86 true define_pd_global cpu/x86/c1_globals_x86.hpp TypeProfileArgsLimit OpenJDK8 intx runtime 2 product max number of call arguments to consider for type profiling share/runtime/globals.hpp range(0, 16) TypeProfileCasts OpenJDK6 bool runtime true develop treat casts like calls for purposes of type profiling share/runtime/globals.hpp TypeProfileLevel OpenJDK8 uintx aarch64 111 define_pd_global cpu/aarch64/ globals_aarch64.hpp TypeProfileLevel OpenJDK8 uintx arm 0 define_pd_global cpu/arm/globals_arm.hpp =XYZ, with Z: Type profiling of arguments at call; Y: Type profiling of return value at call; TypeProfileLevel OpenJDK8 uintx runtime product_pd X: Type profiling of parameters to methods; share/runtime/globals.hpp X, Y and Z in 0=off ; 1=jsr292 only; 2=all methods TypeProfileLevel OpenJDK8 uintx ppc 111 define_pd_global cpu/ppc/globals_ppc.hpp TypeProfileLevel OpenJDK8 uintx s390 111 define_pd_global cpu/s390/globals_s390.hpp TypeProfileLevel OpenJDK8 uintx sparc 111 define_pd_global cpu/sparc/globals_sparc.hpp TypeProfileLevel OpenJDK8 uintx x86 111 define_pd_global cpu/x86/globals_x86.hpp TypeProfileLevel OpenJDK8 uintx zero 0 define_pd_global cpu/zero/globals_zero.hpp TypeProfileMajorReceiverPercent OpenJDK6 intx c2 90 product % of major receiver type to all profiled receivers share/opto/c2_globals.hpp range(0, 100) 2 max number of incoming parameters to consider for type profiling TypeProfileParmsLimit OpenJDK8 intx runtime range(-1, 64) product , -1 for all share/runtime/globals.hpp TypeProfileWidth OpenJDK6 intx runtime 2 product Number of receiver types to record in call/cast profile share/runtime/globals.hpp range(0, 8) UncommonNullCast OpenJDK6 bool aarch64 true define_pd_global // Uncommon-trap NULLs past to check cast cpu/aarch64/ globals_aarch64.hpp UncommonNullCast OpenJDK6 bool arm true define_pd_global // Uncommon-trap NULLs past to check cast cpu/arm/globals_arm.hpp UncommonNullCast OpenJDK6 bool runtime develop_pd track occurrences of null in casts; adjust compiler tactics share/runtime/globals.hpp UncommonNullCast OpenJDK6 bool ppc true define_pd_global // Uncommon-trap NULLs passed to check cast. cpu/ppc/globals_ppc.hpp UncommonNullCast OpenJDK6 bool s390 true define_pd_global // Uncommon-trap NULLs passed to check cast. cpu/s390/globals_s390.hpp UncommonNullCast OpenJDK6 bool sparc true define_pd_global // Uncommon-trap NULLs passed to check cast cpu/sparc/globals_sparc.hpp UncommonNullCast OpenJDK6 bool x86 true define_pd_global // Uncommon-trap NULLs passed to check cast cpu/x86/globals_x86.hpp UncommonNullCast OpenJDK6 bool zero true define_pd_global cpu/zero/globals_zero.hpp Unguard page and retry on no-execute fault (Win32 only) UnguardOnExecutionViolation OpenJDK6 intx runtime 0 product share/runtime/globals.hpp range(0, 2) 0=off, 1=conservative, 2=aggressive Deprecated in JDK11 UnlinkSymbolsALot OpenJDK6 Obsoleted bool runtime false product Unlink unreferenced symbols from the symbol table at safepoints share/runtime/globals.hpp in JDK12 Expired in JDK13 UnlockDiagnosticVMOptions OpenJDK6 bool runtime trueInDebug diagnostic Enable normal processing of flags relating to field diagnostics share/runtime/globals.hpp Enable normal processing of flags relating to experimental UnlockExperimentalVMOptions OpenJDK6 bool runtime false experimental features share/runtime/globals.hpp Don't use profile_trip_cnt() to restrict unrolling until 1 unrolling would push the number of unrolled iterations above UnrollLimitForProfileCheck OpenJDK6 intx c2 range(0, max_intx) develop UnrollLimitForProfileCheck. A higher value allows more share/opto/c2_globals.hpp unrolling. Zero acts as a very large value. Use24BitFPMode OpenJDK6 bool c2 true develop Set 24-bit FPU mode on a per-compile basis share/opto/c2_globals.hpp Use24BitFP OpenJDK6 bool c2 true develop use FP instructions that produce 24-bit precise results share/opto/c2_globals.hpp Use64KPagesThreshold OpenJDK9 uintx aix 0 develop 4K/64K page allocation threshold. os/aix/globals_aix.hpp Use64KPages OpenJDK9 bool aix true product Use 64K pages if available. os/aix/globals_aix.hpp UseAESCTRIntrinsics OpenJDK9 bool runtime false diagnostic Use intrinsics for the paralleled version of AES/CTR crypto share/runtime/globals.hpp UseAESIntrinsics OpenJDK7 bool runtime false diagnostic Use intrinsics for AES versions of crypto share/runtime/globals.hpp UseAES OpenJDK7 bool runtime false product Control whether AES instructions are used when available share/runtime/globals.hpp UseAOTStrictLoading OpenJDK9 bool runtime false diagnostic Exit the VM if any of the AOT libraries has invalid config share/runtime/globals.hpp UseAOT OpenJDK9 bool runtime false experimental Use AOT compiled files share/runtime/globals.hpp UseAVX OpenJDK6 intx x86 3 product Highest supported AVX instructions set on x86/x64 cpu/x86/globals_x86.hpp range(0, 99) Obsoleted UseAdaptiveGCBoundary OpenJDK6 in JDK15 bool gc false product Allow young-old boundary to move share/gc/shared/ Expired in gc_globals.hpp JDK16 Obsoleted UseAdaptiveGenerationSizePolicyAtMajorCollection OpenJDK6 in JDK26 bool gc true product Use adaptive young-old sizing policies at major collections share/gc/shared/ Expired in gc_globals.hpp JDK27 Obsoleted UseAdaptiveGenerationSizePolicyAtMinorCollection OpenJDK6 in JDK26 bool gc true product Use adaptive young-old sizing policies at minor collections share/gc/shared/ Expired in gc_globals.hpp JDK27 UseAdaptiveNUMAChunkSizing OpenJDK6 bool runtime true product Enable adaptive chunk sizing for NUMA share/runtime/globals.hpp Obsoleted UseAdaptiveSizeDecayMajorGCCost OpenJDK6 in JDK26 bool gc true product Adaptive size decays the major cost for long major intervals share/gc/shared/ Expired in gc_globals.hpp JDK27 Obsoleted UseAdaptiveSizePolicyFootprintGoal OpenJDK6 in JDK26 bool gc true product Use adaptive minimum footprint as a goal share/gc/shared/ Expired in gc_globals.hpp JDK27 Obsoleted UseAdaptiveSizePolicyWithSystemGC OpenJDK6 in JDK26 bool gc false product Include statistics from System.gc() for adaptive size policy share/gc/shared/ Expired in gc_globals.hpp JDK27 UseAdaptiveSizePolicy OpenJDK6 bool gc true product Use adaptive generation sizing policies share/gc/shared/ gc_globals.hpp UseAddressNop OpenJDK6 bool x86 false product Use '0F 1F [addr]' NOP instructions on x86 cpus cpu/x86/globals_x86.hpp UseAdler32Intrinsics OpenJDK9 bool runtime false diagnostic use intrinsics for java.util.zip.Adler32 share/runtime/globals.hpp UseBASE64Intrinsics OpenJDK11 bool runtime false product Use intrinsics for java.util.Base64 share/runtime/globals.hpp UseBMI1Instructions OpenJDK8 bool x86 false product Use BMI1 instructions cpu/x86/globals_x86.hpp UseBMI2Instructions OpenJDK8 bool x86 false product Use BMI2 instructions cpu/x86/globals_x86.hpp Obsoleted UseBarriersForVolatile OpenJDK9 in JDK15 bool aarch64 false product Use memory barriers to implement volatile accesses cpu/aarch64/ Expired in globals_aarch64.hpp JDK16 Deprecated in JDK15 UseBiasedLocking OpenJDK6 Obsoleted bool runtime true product Enable biased locking in JVM share/runtime/globals.hpp in JDK18 Expired in JDK19 UseBimorphicInlining OpenJDK6 bool c2 true product Profiling based inlining for two receivers share/opto/c2_globals.hpp UseBlockCopy OpenJDK6 bool sparc false product Use special cpu instructions for block copy cpu/sparc/globals_sparc.hpp UseBlockZeroing OpenJDK6 bool aarch64 true product Use DC ZVA for block zeroing cpu/aarch64/ globals_aarch64.hpp UseBlockZeroing OpenJDK6 bool sparc false product Use special cpu instructions for block zeroing cpu/sparc/globals_sparc.hpp 0: when resolving InDy or ConDy, force all BSM arguments to be resolved before the bootstrap method is called; 1: when a BSM that may accept a BootstrapCallInfo is detected, use that API UseBootstrapCallInfo OpenJDK11 int runtime 1 diagnostic to pass BSM arguments, which allows the BSM to delay their share/runtime/globals.hpp resolution; 2+: stress test the BCI API by calling more BSMs via that API, instead of with the eagerly-resolved array. Obsoleted UseBsdPosixThreadCPUClocks OpenJDK6 in JDK16 bool bsd true product enable fast Bsd Posix clocks where available os/bsd/globals_bsd.hpp Expired in JDK17 UseByteReverseInstruction OpenJDK9 bool s390 true product Use byte reverse instruction. cpu/s390/globals_s390.hpp UseByteReverseInstructions OpenJDK11 bool ppc false product Use byte reverse instructions. cpu/ppc/globals_ppc.hpp UseC1Optimizations OpenJDK6 bool c1 true develop Turn on C1 optimizations share/c1/c1_globals.hpp UseCASForSwap OpenJDK6 bool sparc false develop Do not use swap instructions, but only CAS (in a loop) on SPARC cpu/sparc/globals_sparc.hpp UseCBCond OpenJDK6 bool sparc false product Use compare and branch instruction on SPARC cpu/sparc/globals_sparc.hpp UseCHA OpenJDK6 bool runtime true develop Enable CHA share/runtime/globals.hpp UseCISCSpill OpenJDK6 bool aarch64 false define_pd_global cpu/aarch64/ c2_globals_aarch64.hpp UseCISCSpill OpenJDK6 bool c2 develop_pd Use ADLC supplied cisc instructions during allocation share/opto/c2_globals.hpp UseCISCSpill OpenJDK6 bool ppc false define_pd_global cpu/ppc/c2_globals_ppc.hpp UseCISCSpill OpenJDK6 bool s390 true define_pd_global cpu/s390/ c2_globals_s390.hpp UseCISCSpill OpenJDK6 bool sparc false define_pd_global cpu/sparc/ c2_globals_sparc.hpp UseCISCSpill OpenJDK6 bool x86 true define_pd_global cpu/x86/c2_globals_x86.hpp UseCLMUL OpenJDK8 bool x86 false product Control whether CLMUL instructions can be used on x86/x64 cpu/x86/globals_x86.hpp Obsoleted UseCMSBestFit OpenJDK6 in JDK14 bool gc true product Use CMS best fit allocation strategy share/gc/cms/ Expired in cms_globals.hpp JDK15 Obsoleted UseCMSInitiatingOccupancyOnly OpenJDK6 in JDK14 bool gc false product Only use occupancy as a criterion for starting a CMS collection share/gc/cms/ Expired in cms_globals.hpp JDK15 UseCMoveUnconditionally OpenJDK9 bool c2 false product Use CMove (scalar and vector) ignoring profitability test. share/opto/c2_globals.hpp UseCRC32CIntrinsics OpenJDK9 bool runtime false diagnostic use intrinsics for java.util.zip.CRC32C share/runtime/globals.hpp UseCRC32Intrinsics OpenJDK8 bool runtime false diagnostic use intrinsics for java.util.zip.CRC32 share/runtime/globals.hpp UseCRC32 OpenJDK9 bool aarch64 false product Use CRC32 instructions for CRC32 computation cpu/aarch64/ globals_aarch64.hpp UseCharacterCompareIntrinsics OpenJDK11 bool c2 false diagnostic Enables intrinsification of java.lang.Character functions share/opto/c2_globals.hpp Obsoleted UseCodeAging OpenJDK9 in JDK20 bool runtime true product Insert counter to detect warm methods share/runtime/globals.hpp Expired in JDK21 UseCodeCacheFlushing OpenJDK6 bool runtime true product Remove cold/old nmethods from the code cache share/runtime/globals.hpp UseCompiler OpenJDK6 bool runtime true product Use Just-In-Time compilation share/runtime/globals.hpp Deprecated Use 32-bit class pointers in 64-bit VM. UseCompressedClassPointers OpenJDK8 in JDK25 bool runtime false lp64_product lp64_product means flag is always constant in 32 bit VM share/runtime/globals.hpp Obsoleted in JDK27 Use 32-bit object references in 64-bit VM. UseCompressedOops OpenJDK6 bool runtime false lp64_product lp64_product means flag is always constant in 32 bit VM share/runtime/globals.hpp Obsoleted UseConcMarkSweepGC OpenJDK6 in JDK14 bool gc false product Use Concurrent Mark-Sweep GC in the old generation share/gc/shared/ Expired in gc_globals.hpp JDK15 UseCondCardMark OpenJDK6 bool gc false product Check for already marked card before updating card table share/gc/shared/ gc_globals.hpp Deprecated in JDK19 Include CPU shares in the CPU availability UseContainerCpuShares OpenJDK11 Obsoleted bool linux false product calculation. os/linux/globals_linux.hpp in JDK20 Expired in JDK21 UseContainerSupport OpenJDK10 bool linux true product Enable detection and runtime container configuration support os/linux/globals_linux.hpp UseCopySignIntrinsic OpenJDK11 bool runtime false diagnostic Enables intrinsification of Math.copySign share/runtime/globals.hpp UseCountLeadingZerosInstruction OpenJDK6 bool x86 false product Use count leading zeros instruction cpu/x86/globals_x86.hpp UseCountLeadingZerosInstructionsPPC64 OpenJDK7 bool ppc true product Use count leading zeros instructions. cpu/ppc/globals_ppc.hpp UseCountTrailingZerosInstruction OpenJDK8 bool x86 false product Use count trailing zeros instruction cpu/x86/globals_x86.hpp UseCountTrailingZerosInstructionsPPC64 OpenJDK11 bool ppc false product Use count trailing zeros instructions. cpu/ppc/globals_ppc.hpp UseCountedLoopSafepoints OpenJDK7 bool c2 false product Force counted loops to keep a safepoint share/opto/c2_globals.hpp Obsoleted UseCounterDecay OpenJDK6 in JDK22 bool runtime true product Adjust recompilation counters share/runtime/globals.hpp Expired in JDK23 UseCpuAllocPath OpenJDK9 bool linux false diagnostic Use CPU_ALLOC code path in os::active_processor_count os/linux/globals_linux.hpp UseCriticalCMSThreadPriority OpenJDK6 bool runtime false experimental ConcurrentMarkSweep thread runs at critical scheduling priority share/runtime/globals.hpp UseCriticalCompilerThreadPriority OpenJDK6 bool runtime false experimental Compiler thread(s) run at critical scheduling priority share/runtime/globals.hpp UseCriticalJavaThreadPriority OpenJDK6 bool runtime false experimental Java thread priority 10 maps to critical scheduling priority share/runtime/globals.hpp Use detached threads that are recycled upon termination UseDetachedThreads OpenJDK6 bool runtime true develop (for Solaris only) share/runtime/globals.hpp UseDivMod OpenJDK6 bool c2 true product Use combined DivMod instruction if available share/opto/c2_globals.hpp UseDynamicNumberOfCompilerThreads OpenJDK11 bool runtime true product Dynamically choose the number of parallel compiler threads share/runtime/globals.hpp Dynamically choose the number of threads up to a maximum of UseDynamicNumberOfGCThreads OpenJDK6 bool gc true product ParallelGCThreads parallel collectors will use for garbage share/gc/shared/ collection work gc_globals.hpp UseEpsilonGC OpenJDK11 bool gc false experimental Use the Epsilon (no-op) garbage collector share/gc/shared/ gc_globals.hpp UseExactTypes OpenJDK6 bool c2 true develop Use exact types to eliminate array store checks and v-calls share/opto/c2_globals.hpp UseExplicitCommit OpenJDK9 bool aix false product Explicit commit for virtual memory. os/aix/globals_aix.hpp UseExtendedFileIO OpenJDK6 bool solaris true product Enable workaround for limitations of stdio FILE structure os/solaris/ globals_solaris.hpp UseExtendedLoadAndReserveInstructionsPPC64 OpenJDK7 bool ppc false product Use extended versions of load-and-reserve instructions. cpu/ppc/globals_ppc.hpp UseFMA OpenJDK9 bool runtime false product Control whether FMA instructions are used when available share/runtime/globals.hpp UseFPUForSpilling OpenJDK6 bool c2 false product Spill integer registers to FPU instead of stack when possible share/opto/c2_globals.hpp UseFakeTimers OpenJDK6 bool runtime false develop Tell whether the VM should use system time or a fake timer share/runtime/globals.hpp UseFastAccessorMethods OpenJDK6 bool zero true product Use fast method entry code for accessor methods cpu/zero/globals_zero.hpp UseFastEmptyMethods OpenJDK6 bool zero true product Use fast method entry code for empty methods cpu/zero/globals_zero.hpp UseFastJNIAccessors OpenJDK6 bool runtime true product Use optimized versions of GetField share/runtime/globals.hpp UseFastLocking OpenJDK6 bool c1 true develop Use fast inlined locking code share/c1/c1_globals.hpp UseFastNewInstance OpenJDK6 bool c1 true develop Use fast inlined instance allocation share/c1/c1_globals.hpp UseFastNewObjectArray OpenJDK6 bool c1 true develop Use fast inlined object array allocation share/c1/c1_globals.hpp UseFastNewTypeArray OpenJDK6 bool c1 true develop Use fast inlined type array allocation share/c1/c1_globals.hpp UseFastSignatureHandlers OpenJDK6 bool runtime true develop Use fast signature handlers for native calls share/runtime/globals.hpp UseFastStosb OpenJDK7 bool x86 false product Use fast-string operation for zeroing: rep stosb cpu/x86/globals_x86.hpp UseFastUnorderedTimeStamps OpenJDK11 bool runtime false experimental Use platform unstable time where supported for timestamps only share/runtime/globals.hpp UseG1GC OpenJDK6 bool gc false product Use the Garbage-First garbage collector share/gc/shared/ gc_globals.hpp Use policy to limit of proportion of time spent in GC share/gc/shared/ UseGCOverheadLimit OpenJDK6 bool gc true product before an OutOfMemory error is thrown gc_globals.hpp Obsoleted UseGCTaskAffinity OpenJDK6 in JDK14 bool gc false product Use worker affinity when asking for GCTasks share/gc/shared/ Expired in gc_globals.hpp JDK16 UseGHASHIntrinsics OpenJDK9 bool runtime false diagnostic Use intrinsics for GHASH versions of crypto share/runtime/globals.hpp UseGlobalValueNumbering OpenJDK6 bool c1 true develop Use Global Value Numbering (separate phase) share/c1/c1_globals.hpp Deprecated in JDK18 UseHeavyMonitors OpenJDK6 Obsoleted bool runtime false product use heavyweight instead of lightweight Java monitors share/runtime/globals.hpp in JDK19 Expired in JDK20 Obsoleted UseHugeTLBFS OpenJDK6 in JDK22 bool bsd false product Use MAP_HUGETLB for large pages os/bsd/globals_bsd.hpp Expired in JDK23 Obsoleted UseHugeTLBFS OpenJDK6 in JDK22 bool linux false product Use MAP_HUGETLB for large pages os/linux/globals_linux.hpp Expired in JDK23 Obsoleted UseImplicitStableValues OpenJDK8 in JDK13 bool c2 true diagnostic Mark well-known stable fields as such (e.g. String.value) share/opto/c2_globals.hpp Expired in JDK14 UseIncDec OpenJDK6 bool x86 true diagnostic Use INC, DEC instructions on x86 cpu/x86/globals_x86.hpp UseInlineCaches OpenJDK6 bool runtime true product Use Inline Caches for virtual calls share/runtime/globals.hpp Carry inline depth of profile point with speculative type UseInlineDepthForSpeculativeTypes OpenJDK8 bool c2 true diagnostic and give priority to profiling from lower inline depth share/opto/c2_globals.hpp UseInterpreter OpenJDK6 bool runtime true product Use interpreter for non-compiled methods share/runtime/globals.hpp UseJVMCICompiler OpenJDK9 bool jvmci false experimental Use JVMCI as the default compiler share/jvmci/ jvmci_globals.hpp UseJumpTables OpenJDK6 bool c2 true product Use JumpTables instead of a binary search tree for switches share/opto/c2_globals.hpp UseLSE OpenJDK9 bool aarch64 false product Use LSE instructions cpu/aarch64/ globals_aarch64.hpp Obsoleted Use LWP-based instead of libthread-based synchronization UseLWPSynchronization OpenJDK6 in JDK15 bool runtime true product (SPARC only) share/runtime/globals.hpp Expired in JDK16 Deprecated in JDK15 Use large page memory in metaspace. UseLargePagesInMetaspace OpenJDK8 Obsoleted bool runtime false product Only used if UseLargePages is enabled. share/runtime/globals.hpp in JDK16 Expired in JDK17 UseLargePagesIndividualAllocation OpenJDK6 bool aix false define_pd_global os/aix/globals_aix.hpp UseLargePagesIndividualAllocation OpenJDK6 bool bsd false define_pd_global os/bsd/globals_bsd.hpp UseLargePagesIndividualAllocation OpenJDK6 bool linux false define_pd_global os/linux/globals_linux.hpp UseLargePagesIndividualAllocation OpenJDK6 bool runtime product_pd Allocate large pages individually for better affinity share/runtime/globals.hpp UseLargePagesIndividualAllocation OpenJDK6 bool solaris false define_pd_global os/solaris/ globals_solaris.hpp UseLargePagesIndividualAllocation OpenJDK6 bool windows true define_pd_global os/windows/ globals_windows.hpp UseLargePages OpenJDK6 bool aix false define_pd_global os/aix/globals_aix.hpp UseLargePages OpenJDK6 bool bsd false define_pd_global os/bsd/globals_bsd.hpp UseLargePages OpenJDK6 bool linux false define_pd_global os/linux/globals_linux.hpp UseLargePages OpenJDK6 bool runtime product_pd Use large page memory share/runtime/globals.hpp UseLargePages OpenJDK6 bool solaris true define_pd_global os/solaris/ globals_solaris.hpp UseLargePages OpenJDK6 bool windows false define_pd_global os/windows/ globals_windows.hpp UseLegacyJNINameEscaping OpenJDK11 bool runtime false product Use the original JNI name escaping scheme share/runtime/globals.hpp UseLibmIntrinsic OpenJDK9 bool x86 true diagnostic Use Libm Intrinsics cpu/x86/globals_x86.hpp Deprecated in JDK24 UseLinuxPosixThreadCPUClocks OpenJDK6 Obsoleted bool linux true product enable fast Linux Posix clocks where available os/linux/globals_linux.hpp in JDK25 Expired in JDK26 UseLoadInstructionsForStackBangingPPC64 OpenJDK7 bool ppc false product Use load instructions for stack banging. cpu/ppc/globals_ppc.hpp UseLocalValueNumbering OpenJDK6 bool c1 true develop Use Local Value Numbering (embedded in GraphBuilder) share/c1/c1_globals.hpp UseLoopCounter OpenJDK6 bool runtime true product Increment invocation counter on backward branch share/runtime/globals.hpp UseLoopInvariantCodeMotion OpenJDK8 bool c1 true product Simple loop invariant code motion for short loops during GVN share/c1/c1_globals.hpp UseLoopPredicate OpenJDK6 bool c2 true product Generate a predicate to select fast/slow loop versions share/opto/c2_globals.hpp UseLoopSafepoints OpenJDK6 bool runtime true develop Generate Safepoint nodes in every loop share/runtime/globals.hpp UseMPMUL OpenJDK10 bool sparc false product Use multi-precision multiply instruction (mpmul) on SPARC cpu/sparc/globals_sparc.hpp UseMallocOnly OpenJDK6 bool runtime false develop Use only malloc/free for allocation (no resource area/arena) share/runtime/globals.hpp UseMathExactIntrinsics OpenJDK8 bool c2 true diagnostic Enables intrinsification of various java.lang.Math functions share/opto/c2_globals.hpp Use maximum compaction in the Parallel Old garbage collector share/gc/parallel/ UseMaximumCompactionOnSystemGC OpenJDK6 bool gc true product for a system GC parallel_globals.hpp Deprecated UseMembar OpenJDK6 in JDK10 bool aarch64 true define_pd_global cpu/aarch64/ Obsoleted globals_aarch64.hpp in JDK12 Deprecated UseMembar OpenJDK6 in JDK10 bool arm true define_pd_global cpu/arm/globals_arm.hpp Obsoleted in JDK12 Deprecated UseMembar OpenJDK6 in JDK10 bool runtime product_pd (Unstable) Issues membars on thread state transitions share/runtime/globals.hpp Obsoleted in JDK12 Deprecated UseMembar OpenJDK6 in JDK10 bool ppc true define_pd_global cpu/ppc/globals_ppc.hpp Obsoleted in JDK12 Deprecated UseMembar OpenJDK6 in JDK10 bool s390 true define_pd_global cpu/s390/globals_s390.hpp Obsoleted in JDK12 Deprecated UseMembar OpenJDK6 in JDK10 bool sparc true define_pd_global cpu/sparc/globals_sparc.hpp Obsoleted in JDK12 Deprecated UseMembar OpenJDK6 in JDK10 bool x86 true define_pd_global cpu/x86/globals_x86.hpp Obsoleted in JDK12 Deprecated UseMembar OpenJDK6 in JDK10 bool zero true define_pd_global cpu/zero/globals_zero.hpp Obsoleted in JDK12 UseMontgomeryMultiplyIntrinsic OpenJDK8 bool c2 false diagnostic Enables intrinsification of BigInteger.montgomeryMultiply() share/opto/c2_globals.hpp UseMontgomerySquareIntrinsic OpenJDK8 bool c2 false diagnostic Enables intrinsification of BigInteger.montgomerySquare() share/opto/c2_globals.hpp UseMulAddIntrinsic OpenJDK8 bool c2 false diagnostic Enables intrinsification of BigInteger.mulAdd() share/opto/c2_globals.hpp UseMultiplyToLenIntrinsic OpenJDK8 bool c2 false diagnostic Enables intrinsification of BigInteger.multiplyToLen() share/opto/c2_globals.hpp UseNUMAInterleaving OpenJDK6 bool runtime false product Interleave memory across NUMA nodes if available share/runtime/globals.hpp UseNUMA OpenJDK6 bool runtime false product Use NUMA if available share/runtime/globals.hpp Obsoleted UseNeon OpenJDK9 in JDK23 bool aarch64 false product Use Neon for CRC32 computation cpu/aarch64/ Expired in globals_aarch64.hpp JDK24 UseNewCode2 OpenJDK6 bool runtime false diagnostic Testing Only: Use the new version while testing share/runtime/globals.hpp UseNewCode3 OpenJDK6 bool runtime false diagnostic Testing Only: Use the new version while testing share/runtime/globals.hpp UseNewCode OpenJDK6 bool runtime false diagnostic Testing Only: Use the new version while testing share/runtime/globals.hpp Obsoleted UseNewLongLShift OpenJDK6 in JDK27 bool x86 false product Use optimized bitwise shift left cpu/x86/globals_x86.hpp Expired in JDK28 UseNiagaraInstrs OpenJDK6 bool sparc false product Use Niagara-efficient instruction subset cpu/sparc/globals_sparc.hpp UseOSErrorReporting OpenJDK6 bool aix false define_pd_global os/aix/globals_aix.hpp UseOSErrorReporting OpenJDK6 bool bsd false define_pd_global os/bsd/globals_bsd.hpp UseOSErrorReporting OpenJDK6 bool linux false define_pd_global os/linux/globals_linux.hpp UseOSErrorReporting OpenJDK6 bool runtime product_pd Let VM fatal error propagate to the OS (ie. WER on Windows) share/runtime/globals.hpp UseOSErrorReporting OpenJDK6 bool solaris false define_pd_global os/solaris/ globals_solaris.hpp UseOSErrorReporting OpenJDK6 bool windows false define_pd_global // for now. os/windows/ globals_windows.hpp UseOnStackReplacement OpenJDK6 bool aarch64 true define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp UseOnStackReplacement OpenJDK6 bool arm true define_pd_global cpu/arm/c1_globals_arm.hpp Use on stack replacement, calls runtime if invoc. counter UseOnStackReplacement OpenJDK6 bool runtime product_pd overflows in loop share/runtime/globals.hpp UseOnStackReplacement OpenJDK6 bool ppc true define_pd_global cpu/ppc/c2_globals_ppc.hpp UseOnStackReplacement OpenJDK6 bool s390 true define_pd_global cpu/s390/ c1_globals_s390.hpp UseOnStackReplacement OpenJDK6 bool sparc true define_pd_global cpu/sparc/ c2_globals_sparc.hpp UseOnStackReplacement OpenJDK6 bool x86 true define_pd_global cpu/x86/c1_globals_x86.hpp UseOnlyInlinedBimorphic OpenJDK6 bool c2 true product Don't use BimorphicInlining if can't inline a second method share/opto/c2_globals.hpp Deprecated in JDK25 UseOprofile OpenJDK6 Obsoleted bool bsd false product enable support for Oprofile profiler os/bsd/globals_bsd.hpp in JDK26 Expired in JDK27 Deprecated in JDK25 UseOprofile OpenJDK6 Obsoleted bool linux false product enable support for Oprofile profiler os/linux/globals_linux.hpp in JDK26 Expired in JDK27 Deprecated in JDK15 UseOptoBiasInlining OpenJDK6 Obsoleted bool c2 true product Generate biased locking code in C2 ideal graph share/opto/c2_globals.hpp in JDK18 Expired in JDK19 Obsoleted UsePSAdaptiveSurvivorSizePolicy OpenJDK6 in JDK26 bool gc true product Use adaptive survivor sizing policies share/gc/shared/ Expired in gc_globals.hpp JDK27 UseParallelGC OpenJDK6 bool gc false product Use the Parallel Scavenge garbage collector share/gc/shared/ gc_globals.hpp Deprecated in JDK14 UseParallelOldGC OpenJDK6 Obsoleted bool gc false product Use the Parallel Old garbage collector share/gc/shared/ in JDK15 gc_globals.hpp Expired in JDK16 Flag to disable jvmstat instrumentation for performance testing UsePerfData OpenJDK6 bool runtime true product and problem isolation purposes share/runtime/globals.hpp UsePopCountInstruction OpenJDK6 bool runtime false product Use population count instruction share/runtime/globals.hpp UsePower6SchedulerPPC64 OpenJDK7 bool ppc false product Use Power6 Scheduler. cpu/ppc/globals_ppc.hpp UsePrivilegedStack OpenJDK6 bool runtime true develop Enable the security JVM functions share/runtime/globals.hpp UseProfiledLoopPredicate OpenJDK11 bool c2 true product move predicates out of loops based on profiling data share/opto/c2_globals.hpp Use pthread-based instead of libthread-based synchronization UsePthreads OpenJDK6 bool runtime false develop (SPARC only) share/runtime/globals.hpp Obsoleted UseRDPCForConstantTableBase OpenJDK6 in JDK16 bool c2 false product Use Sparc RDPC instruction for the constant table base. share/opto/c2_globals.hpp Expired in JDK17 Deprecated in JDK23 UseRTMDeopt OpenJDK8 Obsoleted bool ppc false product Perform deopt and recompilation based on RTM abort ratio cpu/ppc/globals_ppc.hpp in JDK24 Expired in JDK25 Deprecated in JDK23 UseRTMDeopt OpenJDK8 Obsoleted bool x86 false product Perform deopt and recompilation based on RTM abort ratio cpu/x86/globals_x86.hpp in JDK24 Expired in JDK25 UseRTMForStackLocks OpenJDK8 bool ppc false experimental Enable RTM lock eliding for stack locks in compiled code cpu/ppc/globals_ppc.hpp UseRTMForStackLocks OpenJDK8 bool x86 false experimental Enable RTM lock eliding for stack locks in compiled code cpu/x86/globals_x86.hpp Deprecated in JDK23 UseRTMLocking OpenJDK8 Obsoleted bool ppc false product Enable RTM lock eliding for inflated locks in compiled code cpu/ppc/globals_ppc.hpp in JDK24 Expired in JDK25 Deprecated in JDK23 UseRTMLocking OpenJDK8 Obsoleted bool x86 false product Enable RTM lock eliding for inflated locks in compiled code cpu/x86/globals_x86.hpp in JDK24 Expired in JDK25 UseRTMXendForLockBusy OpenJDK8 bool ppc true experimental Use RTM Xend instead of Xabort when lock busy cpu/ppc/globals_ppc.hpp UseRTMXendForLockBusy OpenJDK8 bool x86 true experimental Use RTM Xend instead of Xabort when lock busy cpu/x86/globals_x86.hpp UseRotateAndMaskInstructionsPPC64 OpenJDK7 bool ppc true product Use rotate and mask instructions. cpu/ppc/globals_ppc.hpp Use intrinsics for SHA-1 crypto hash function. UseSHA1Intrinsics OpenJDK8 bool runtime false diagnostic Requires that UseSHA is enabled. share/runtime/globals.hpp Use intrinsics for SHA-224 and SHA-256 crypto hash functions. UseSHA256Intrinsics OpenJDK8 bool runtime false diagnostic Requires that UseSHA is enabled. share/runtime/globals.hpp Use intrinsics for SHA-384 and SHA-512 crypto hash functions. UseSHA512Intrinsics OpenJDK8 bool runtime false diagnostic Requires that UseSHA is enabled. share/runtime/globals.hpp UseSHA OpenJDK8 bool runtime false product Control whether SHA instructions are used when available share/runtime/globals.hpp Obsoleted UseSHM OpenJDK6 in JDK22 bool bsd false product Use SYSV shared memory for large pages os/bsd/globals_bsd.hpp Expired in JDK23 Obsoleted UseSHM OpenJDK6 in JDK22 bool linux false product Use SYSV shared memory for large pages os/linux/globals_linux.hpp Expired in JDK23 Allow trap instructions that make use of SIGTRAP. Use this to UseSIGTRAP OpenJDK7 bool ppc true product switch off all optimizations requiring SIGTRAP. cpu/ppc/globals_ppc.hpp UseSIMDForArrayEquals OpenJDK11 bool aarch64 true product Use SIMD instructions in generated array equals code cpu/aarch64/ globals_aarch64.hpp UseSIMDForMemoryOps OpenJDK9 bool aarch64 false product Use SIMD instructions in generated memory move code cpu/aarch64/ globals_aarch64.hpp UseSSE42Intrinsics OpenJDK6 bool x86 false product SSE4.2 versions of intrinsics cpu/x86/globals_x86.hpp Obsoleted UseSSE OpenJDK6 in JDK15 intx runtime 99 product Highest supported SSE instructions set on x86/x64 share/runtime/globals.hpp Expired in range(0, 99) JDK16 Obsoleted Use semaphore synchronization for the GC Threads, UseSemaphoreGCThreadsSynchronization OpenJDK9 in JDK16 bool gc true diagnostic instead of synchronization based on mutexes share/gc/shared/ Expired in gc_globals.hpp JDK17 UseSerialGC OpenJDK6 bool gc false product Use the Serial garbage collector share/gc/shared/ gc_globals.hpp Deprecated UseSharedSpaces OpenJDK6 in JDK18 bool runtime true product Use shared spaces for metadata share/runtime/globals.hpp Obsoleted in JDK19 Use signal-chaining to invoke signal handlers installed UseSignalChaining OpenJDK6 bool runtime true product by the application (Solaris & Linux only) share/runtime/globals.hpp UseSignumIntrinsic OpenJDK11 bool runtime false diagnostic Enables intrinsification of Math.signum share/runtime/globals.hpp UseSimpleArrayEquals OpenJDK11 bool aarch64 false product Use simpliest and shortest implementation for array equals cpu/aarch64/ globals_aarch64.hpp UseSlowPath OpenJDK6 bool c1 false develop For debugging: test slow cases by always using them share/c1/c1_globals.hpp UseSquareToLenIntrinsic OpenJDK8 bool c2 false diagnostic Enables intrinsification of BigInteger.squareToLen() share/opto/c2_globals.hpp use stack banging for stack overflow checks (required for UseStackBanging OpenJDK6 bool runtime true develop proper StackOverflow handling; disable only to measure cost share/runtime/globals.hpp of stackbanging) UseStaticBranchPredictionForUncommonPathsPPC64 OpenJDK7 bool ppc false product Use static branch prediction hints for uncommon paths. cpu/ppc/globals_ppc.hpp UseStaticBranchPredictionInCompareAndSwapPPC64 OpenJDK7 bool ppc true product Use static branch prediction hints in CAS operations. cpu/ppc/globals_ppc.hpp UseStoreImmI16 OpenJDK6 bool x86 true product Use store immediate 16-bits value instruction on x86 cpu/x86/globals_x86.hpp UseStrictFP OpenJDK6 bool runtime true develop use strict fp if modifier strictfp is set share/runtime/globals.hpp UseStringDeduplication OpenJDK8 bool runtime false product Use string deduplication share/runtime/globals.hpp UseSubwordForMaxVector OpenJDK10 bool c2 true product Use Subword Analysis to set maximum vector size share/opto/c2_globals.hpp UseSuperWord OpenJDK6 bool c2 true product Transform scalar operations into superword operations share/opto/c2_globals.hpp UseSwitchProfiling OpenJDK11 bool runtime true diagnostic leverage profiling for table/lookup switch share/runtime/globals.hpp UseTLAB OpenJDK6 bool aarch64 true define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp UseTLAB OpenJDK6 bool arm true define_pd_global cpu/arm/c1_globals_arm.hpp UseTLAB OpenJDK6 bool gc product_pd Use thread-local object allocation share/gc/shared/ gc_globals.hpp UseTLAB OpenJDK6 bool runtime false define_pd_global share/runtime/globals.hpp UseTLAB OpenJDK6 bool ppc true define_pd_global cpu/ppc/c2_globals_ppc.hpp UseTLAB OpenJDK6 bool s390 true define_pd_global cpu/s390/ c1_globals_s390.hpp UseTLAB OpenJDK6 bool sparc true define_pd_global cpu/sparc/ c2_globals_sparc.hpp UseTLAB OpenJDK6 bool x86 true define_pd_global cpu/x86/c1_globals_x86.hpp UseTableRanges OpenJDK6 bool c1 true develop Faster versions of lookup table using ranges share/c1/c1_globals.hpp UseThreadPriorities OpenJDK6 bool runtime product_pd Use native thread priorities share/runtime/globals.hpp UseThreadPriorities OpenJDK6 bool solaris false define_pd_global os/solaris/ globals_solaris.hpp UseTransparentHugePages OpenJDK7 bool linux false product Use MADV_HUGEPAGE for large pages os/linux/globals_linux.hpp UseTypeProfile OpenJDK6 bool aarch64 false define_pd_global cpu/aarch64/ c1_globals_aarch64.hpp UseTypeProfile OpenJDK6 bool arm false define_pd_global cpu/arm/c1_globals_arm.hpp UseTypeProfile OpenJDK6 bool runtime true product Check interpreter profile for historically monomorphic calls share/runtime/globals.hpp UseTypeProfile OpenJDK6 bool ppc false define_pd_global cpu/ppc/c1_globals_ppc.hpp UseTypeProfile OpenJDK6 bool s390 false define_pd_global cpu/s390/ c1_globals_s390.hpp UseTypeProfile OpenJDK6 bool sparc false define_pd_global cpu/sparc/ c1_globals_sparc.hpp UseTypeProfile OpenJDK6 bool x86 false define_pd_global cpu/x86/c1_globals_x86.hpp UseTypeSpeculation OpenJDK8 bool c2 true product Speculatively propagate types from profiles share/opto/c2_globals.hpp UseUnalignedAccesses OpenJDK9 bool runtime false diagnostic Use unaligned memory accesses in Unsafe share/runtime/globals.hpp UseUnalignedLoadStores OpenJDK6 bool x86 false product Use SSE2 MOVDQU instruction for Arraycopy cpu/x86/globals_x86.hpp UseUniqueSubclasses OpenJDK6 bool c2 true develop Narrow an abstract reference to the unique concrete subclass share/opto/c2_globals.hpp UseVIS OpenJDK6 intx sparc 99 product Highest supported VIS instructions set on SPARC cpu/sparc/globals_sparc.hpp range(0, 99) UseVectorCmov OpenJDK10 bool c2 false product Use Vectorized Cmov share/opto/c2_globals.hpp UseVectorizedMismatchIntrinsic OpenJDK9 bool runtime false diagnostic Enables intrinsification of ArraysSupport.vectorizedMismatch() share/runtime/globals.hpp Obsoleted UseXMMForArrayCopy OpenJDK6 in JDK27 bool runtime false product Use SSE2 MOVQ instruction for Arraycopy share/runtime/globals.hpp Expired in JDK28 UseXMMForObjInit OpenJDK11 bool x86 false product Use XMM/YMM MOVDQU instruction for Object Initialization cpu/x86/globals_x86.hpp UseXmmI2D OpenJDK6 bool x86 false product Use SSE2 CVTDQ2PD instruction to convert Integer to Double cpu/x86/globals_x86.hpp UseXmmI2F OpenJDK6 bool x86 false product Use SSE2 CVTDQ2PS instruction to convert Integer to Float cpu/x86/globals_x86.hpp UseXmmLoadAndClearUpper OpenJDK6 bool x86 true product Load low part of XMM register and clear upper part cpu/x86/globals_x86.hpp UseXmmRegToRegMoveAll OpenJDK6 bool x86 false product Copy all XMM register bits when moving value between registers cpu/x86/globals_x86.hpp UseZGC OpenJDK11 bool gc false experimental Use the Z garbage collector share/gc/shared/ gc_globals.hpp Deprecated in JDK11 VMThreadHintNoPreempt OpenJDK6 Obsoleted bool runtime false product (Solaris only) Give VM thread an extra quanta share/runtime/globals.hpp in JDK12 Expired in JDK13 -1 The native priority at which the VM thread should run VMThreadPriority OpenJDK6 intx runtime range(-1, 127) product (-1 means no change) share/runtime/globals.hpp VMThreadStackSize OpenJDK6 intx aix ppc 2048 define_pd_global os_cpu/aix_ppc/ globals_aix_ppc.hpp VMThreadStackSize OpenJDK6 intx bsd aarch64 2048 define_pd_global os_cpu/bsd_aarch64/ globals_bsd_aarch64.hpp VMThreadStackSize OpenJDK6 intx bsd x86 512 define_pd_global os_cpu/bsd_x86/ globals_bsd_x86.hpp VMThreadStackSize OpenJDK6 intx bsd zero 512 define_pd_global os_cpu/bsd_zero/ globals_bsd_zero.hpp VMThreadStackSize OpenJDK6 intx linux aarch64 2040 define_pd_global os_cpu/linux_aarch64/ globals_linux_aarch64.hpp VMThreadStackSize OpenJDK6 intx linux arm 512 define_pd_global os_cpu/linux_arm/ globals_linux_arm.hpp VMThreadStackSize OpenJDK6 intx linux ppc 2048 define_pd_global os_cpu/linux_ppc/ globals_linux_ppc.hpp VMThreadStackSize OpenJDK6 intx linux s390 1024 define_pd_global os_cpu/linux_s390/ globals_linux_s390.hpp VMThreadStackSize OpenJDK6 intx linux x86 512 define_pd_global os_cpu/linux_x86/ globals_linux_x86.hpp VMThreadStackSize OpenJDK6 intx linux zero 512 define_pd_global os_cpu/linux_zero/ globals_linux_zero.hpp VMThreadStackSize OpenJDK6 intx runtime product_pd Non-Java Thread Stack Size (in Kbytes) share/runtime/globals.hpp VMThreadStackSize OpenJDK6 intx sparc 1024 define_pd_global cpu/sparc/globals_sparc.hpp VMThreadStackSize OpenJDK6 intx solaris x86 512 define_pd_global os_cpu/solaris_x86/ globals_solaris_x86.hpp VMThreadStackSize OpenJDK6 intx windows aarch64 0 define_pd_global os_cpu/windows_aarch64/ globals_windows_aarch64.hpp VMThreadStackSize OpenJDK6 intx windows x86 0 define_pd_global // 0 => use system default os_cpu/windows_x86/ globals_windows_x86.hpp ValueMapInitialSize OpenJDK6 intx c1 11 product Initial size of a value map share/c1/c1_globals.hpp range(1, NOT_LP64(1*K) LP64_ONLY(32*K)) ValueMapMaxLoopSize OpenJDK6 intx c1 8 product maximum size of a loop optimized by global value numbering share/c1/c1_globals.hpp range(0, 128) ValueSearchLimit OpenJDK6 intx c2 1000 product Recursion limit in PhaseMacroExpand::value_from_mem_phi share/opto/c2_globals.hpp range(0, max_jint) VerboseInternalVMTests OpenJDK7 bool gc false notproduct Turn on logging for internal VM tests. share/gc/shared/ gc_globals.hpp Verbose OpenJDK6 bool runtime false develop Print additional debugging information from other modes share/runtime/globals.hpp Verify that activation frame didn't become smaller than its VerifyActivationFrameSize OpenJDK6 bool runtime false develop minimal size share/runtime/globals.hpp VerifyAdapterCalls OpenJDK7 bool runtime trueInDebug diagnostic Verify that i2c/c2i adapters are called properly share/runtime/globals.hpp VerifyAdapterSharing OpenJDK6 bool runtime false develop Verify that the code for shared adapters is the equivalent share/runtime/globals.hpp VerifyAfterGC OpenJDK6 bool gc false diagnostic Verify memory system after GC share/gc/shared/ gc_globals.hpp VerifyAliases OpenJDK6 bool c2 false develop perform extra checks on the results of alias analysis share/opto/c2_globals.hpp VerifyBeforeExit OpenJDK6 bool gc trueInDebug diagnostic Verify system before exiting share/gc/shared/ gc_globals.hpp VerifyBeforeGC OpenJDK6 bool gc false diagnostic Verify memory system before GC share/gc/shared/ gc_globals.hpp VerifyBeforeIteration OpenJDK6 bool runtime false diagnostic Verify memory system before JVMTI iteration share/runtime/globals.hpp VerifyBlockOffsetArray OpenJDK6 bool gc false develop Do (expensive) block offset array verification share/gc/shared/ gc_globals.hpp VerifyCodeCache OpenJDK9 bool runtime false notproduct Verify code cache on memory allocation/deallocation share/runtime/globals.hpp Include miscellaneous runtime verifications in nmethod code; VerifyCompiledCode OpenJDK6 bool runtime false develop default off because it disturbs nmethod size heuristics share/runtime/globals.hpp VerifyConnectionGraph OpenJDK7 bool c2 true notproduct Verify Connection Graph construction in Escape Analysis share/opto/c2_globals.hpp VerifyDUIterators OpenJDK6 bool c2 true notproduct Verify the safety of all iterations of Bi-directional Edges share/opto/c2_globals.hpp VerifyDataPointer OpenJDK6 bool runtime trueInDebug develop Verify the method data pointer during interpreter profiling share/runtime/globals.hpp VerifyDependencies OpenJDK6 bool runtime trueInDebug develop Exercise and verify the compilation dependency mechanism share/runtime/globals.hpp VerifyDuringGC OpenJDK6 bool gc false diagnostic Verify memory system during GC (between phases) share/gc/shared/ gc_globals.hpp Verify memory system before executing any Java code share/gc/shared/ VerifyDuringStartup OpenJDK7 bool gc false diagnostic during VM initialization gc_globals.hpp VerifyFPU OpenJDK6 bool runtime false develop Verify FPU state (check for NaN's, etc.) share/runtime/globals.hpp VerifyGCLevel OpenJDK6 intx gc 0 diagnostic Generation level at which to start +VerifyBefore/AfterGC share/gc/shared/ range(0, 1) gc_globals.hpp VerifyGCStartAt OpenJDK6 uintx gc 0 diagnostic GC invoke count where +VerifyBefore/AfterGC kicks in share/gc/shared/ range(0, max_uintx) gc_globals.hpp GC type(s) to verify when Verify*GC is enabled. share/gc/shared/ VerifyGCType OpenJDK10 ccstrlist gc diagnostic Available types are collector specific. gc_globals.hpp VerifyGraphEdges OpenJDK6 bool c2 false notproduct Verify Bi-directional Edges share/opto/c2_globals.hpp VerifyHashTableKeys OpenJDK6 bool c2 true notproduct Verify the immutability of keys in the VN hash tables share/opto/c2_globals.hpp VerifyIdealNodeCount OpenJDK7 bool c2 false notproduct Verify that tracked dead ideal node count is accurate share/opto/c2_globals.hpp VerifyInterpreterStackTop OpenJDK9 bool arm false develop Verify interpreter stack top at every stack expansion (AArch64 only) cpu/arm/globals_arm.hpp Verify Def-Use modifications during sparse Iterative Global VerifyIterativeGVN OpenJDK6 bool c2 false develop Value Numbering share/opto/c2_globals.hpp Verify JNIEnv.thread == Thread::current() when entering VM VerifyJNIEnvThread OpenJDK6 bool runtime false notproduct from JNI share/runtime/globals.hpp VerifyJNIFields OpenJDK6 bool runtime trueInDebug develop Verify jfieldIDs for instance fields share/runtime/globals.hpp VerifyLastFrame OpenJDK6 bool runtime false notproduct Verify oops on last frame on entry to VM share/runtime/globals.hpp VerifyLoopOptimizations OpenJDK6 bool c2 false notproduct verify major loop optimizations share/opto/c2_globals.hpp Obsoleted VerifyMergedCPBytecodes OpenJDK6 in JDK16 bool runtime true product Verify bytecodes after RedefineClasses constant pool merging share/runtime/globals.hpp Expired in JDK17 VerifyMetaspace OpenJDK11 bool runtime false develop Verify metaspace on chunk movements. share/runtime/globals.hpp VerifyMethodHandles OpenJDK6 bool runtime trueInDebug diagnostic perform extra checks when constructing method handles share/runtime/globals.hpp VerifyObjectStartArray OpenJDK6 bool gc true diagnostic Verify GC object start array if verify before/after share/gc/shared/ gc_globals.hpp VerifyOops OpenJDK6 bool runtime false develop Do plausibility checks for oops share/runtime/globals.hpp VerifyOptoOopOffsets OpenJDK6 bool c2 false notproduct Check types of base addresses in field references share/opto/c2_globals.hpp VerifyOpto OpenJDK6 bool c2 false notproduct Apply more time consuming verification during compilation share/opto/c2_globals.hpp VerifyRegisterAllocator OpenJDK6 bool c2 false notproduct Verify Register Allocator share/opto/c2_globals.hpp VerifyRememberedSets OpenJDK6 bool gc false diagnostic Verify GC remembered sets share/gc/shared/ gc_globals.hpp Verify shared spaces (false for default archive, true for VerifySharedSpaces OpenJDK8 bool runtime false product archive specified by -XX:SharedArchiveFile) share/runtime/globals.hpp VerifyStackAtCalls OpenJDK6 bool runtime false develop Verify that the stack pointer is unchanged after calls share/runtime/globals.hpp VerifyStack OpenJDK6 bool runtime false develop Verify stack of each thread when it is entering a runtime call share/runtime/globals.hpp VerifyStringTableAtExit OpenJDK8 bool runtime false diagnostic verify StringTable contents at exit share/runtime/globals.hpp Memory sub-systems to verify when Verify*GC flag(s) are enabled. One or more sub-systems can be specified in a comma separated string. Sub-systems are: share/gc/shared/ VerifySubSet OpenJDK8 ccstrlist gc diagnostic threads, heap, symbol_table, string_table, codecache, gc_globals.hpp dictionary, classloader_data_graph, metaspace, jni_handles, codecache_oops VerifyThread OpenJDK6 bool runtime false develop Watch the thread register for corruption (SPARC only) share/runtime/globals.hpp WalkStackALot OpenJDK6 bool runtime false notproduct Trace stack (no print) at every exit from the runtime system share/runtime/globals.hpp 999999 size of the largest inlinable method WarmCallMaxSize OpenJDK6 intx c2 range(0, ((intx)MIN2((int64_t)max_intx, develop share/opto/c2_globals.hpp (int64_t)(+1.0e10)))) 999999 execution time of the largest inlinable method WarmCallMaxWork OpenJDK6 intx c2 range(0, ((intx)MIN2((int64_t)max_intx, develop share/opto/c2_globals.hpp (int64_t)(+1.0e10)))) -1 number of calls (per method invocation) to enable inlining WarmCallMinCount OpenJDK6 intx c2 range(-1, ((intx)MIN2((int64_t)max_intx, develop share/opto/c2_globals.hpp (int64_t)(+1.0e10)))) -1 number of calls (per method invocation) to enable inlining WarmCallMinProfit OpenJDK6 intx c2 range(-1, ((intx)MIN2((int64_t)max_intx, develop share/opto/c2_globals.hpp (int64_t)(+1.0e10)))) WarnOnStalledSpinLock OpenJDK6 uintx runtime 0 notproduct Print warnings for stalled SpinLocks share/runtime/globals.hpp WhiteBoxAPI OpenJDK7 bool runtime false diagnostic Enable internal testing APIs share/runtime/globals.hpp WizardMode OpenJDK6 bool runtime false develop Print much more debugging information share/runtime/globals.hpp Number of iterations in a spin loop between checks on share/gc/shared/ WorkStealingHardSpins OpenJDK6 uintx gc 4096 experimental time out of hard spin gc_globals.hpp WorkStealingSleepMillis OpenJDK6 uintx gc 1 experimental Sleep time when sleep is used for yields share/gc/shared/ gc_globals.hpp WorkStealingSpinToYieldRatio OpenJDK6 uintx gc 10 experimental Ratio of hard spins to calls to yield share/gc/shared/ gc_globals.hpp WorkStealingYieldsBeforeSleep OpenJDK6 uintx gc 5000 experimental Number of yields before a sleep is done during work stealing share/gc/shared/ gc_globals.hpp YoungGenerationSizeIncrement OpenJDK6 uintx gc 20 product Adaptive size percentage change in young generation share/gc/shared/ range(0, 100) gc_globals.hpp YoungGenerationSizeSupplementDecay OpenJDK6 uintx gc 8 product Decay factor to YoungedGenerationSizeSupplement share/gc/shared/ range(1, max_uintx) gc_globals.hpp YoungGenerationSizeSupplement OpenJDK6 uintx gc 80 product Supplement to YoungedGenerationSizeIncrement used at startup share/gc/shared/ range(0, 100) gc_globals.hpp YoungPLABSize OpenJDK6 size_t gc 4096 product Size of young gen promotion LAB's (in HeapWords) share/gc/shared/ gc_globals.hpp ZAllocationSpikeTolerance OpenJDK11 double gc 2.0 product Allocation spike tolerance factor share/gc/z/z_globals.hpp ZCollectionInterval OpenJDK11 uint gc 0 product Force GC at a fixed time interval (in seconds) share/gc/z/z_globals.hpp ZConcurrentJNIWeakGlobalHandles OpenJDK11 bool gc true diagnostic Clean JNI WeakGlobalRefs concurrently share/gc/z/z_globals.hpp ZConcurrentStringTable OpenJDK11 bool gc true diagnostic Clean StringTable concurrently share/gc/z/z_globals.hpp ZConcurrentVMWeakHandles OpenJDK11 bool gc true diagnostic Clean VM WeakHandles concurrently share/gc/z/z_globals.hpp ZFragmentationLimit OpenJDK11 double gc 25.0 product Maximum allowed heap fragmentation share/gc/z/z_globals.hpp NOT_LP64(512*M) LP64_ONLY(8*G) Maximum number of bytes allocated for marking stacks ZMarkStacksMax OpenJDK11 size_t gc range(32*M, NOT_LP64(512*M) LP64_ONLY product share/gc/z/z_globals.hpp (1024*G)) ZOptimizeLoadBarriers OpenJDK11 bool gc true diagnostic Apply load barrier optimizations share/gc/z/z_globals.hpp Filesystem path for Java heap backing storage ZPath OpenJDK11 ccstr gc NULL product (must be a tmpfs or a hugetlbfs filesystem) share/gc/z/z_globals.hpp ZProactive OpenJDK11 bool gc true diagnostic Enable proactive GC cycles share/gc/z/z_globals.hpp Allow Java threads to stall and wait for GC to complete ZStallOnOutOfMemory OpenJDK11 bool gc true product instead of immediately throwing an OutOfMemoryError share/gc/z/z_globals.hpp ZStatisticsForceTrace OpenJDK11 bool gc false diagnostic Force tracing of ZStats share/gc/z/z_globals.hpp ZStatisticsInterval OpenJDK11 uint gc 10 product Time between statistics print outs (in seconds) share/gc/z/z_globals.hpp range(1, (uint)-1) ZSymbolTableUnloading OpenJDK11 bool gc false diagnostic Unload unused VM symbols share/gc/z/z_globals.hpp ZUnmapBadViews OpenJDK11 bool gc false diagnostic Unmap bad (inactive) heap views share/gc/z/z_globals.hpp ZVerifyForwarding OpenJDK11 bool gc false diagnostic Verify forwarding tables share/gc/z/z_globals.hpp ZVerifyLoadBarriers OpenJDK11 bool gc false develop Verify that reference loads are followed by barriers share/gc/z/z_globals.hpp ZVerifyMarking OpenJDK11 bool gc false diagnostic Verify marking stacks share/gc/z/z_globals.hpp ZWeakRoots OpenJDK11 bool gc true diagnostic Treat JNI WeakGlobalRefs and StringTable as weak roots share/gc/z/z_globals.hpp Write 0x0101... to empty stack ZapEmptyStackFields OpenJDK9 bool s390 false develop fields. Use this to ease stack debugging. cpu/s390/globals_s390.hpp ZapFillerObjects OpenJDK6 bool runtime trueInDebug develop Zap filler objects share/runtime/globals.hpp ZapHighNonSignificantBits OpenJDK9 bool arm false develop Zap high non-significant bits of values (AArch64 only) cpu/arm/globals_arm.hpp Write 0x0101... to empty memory. ZapMemory OpenJDK7 bool ppc false product Use this to ease debugging. cpu/ppc/globals_ppc.hpp ZapResourceArea OpenJDK6 bool runtime trueInDebug develop Zap freed resource/arena space share/runtime/globals.hpp ZapStackSegments OpenJDK6 bool runtime trueInDebug notproduct Zap allocated/freed stack segments share/runtime/globals.hpp ZapUnusedHeapArea OpenJDK6 bool runtime trueInDebug develop Zap unused heap space share/runtime/globals.hpp ZapVMHandleArea OpenJDK6 bool runtime trueInDebug notproduct Zap freed VM handle space share/runtime/globals.hpp ZeroTLAB OpenJDK6 bool gc false product Zero out the newly created TLAB share/gc/shared/ gc_globals.hpp ZombieALotInterval OpenJDK6 intx runtime 5 notproduct Number of exits until ZombieALot kicks in share/runtime/globals.hpp ZombieALot OpenJDK6 bool runtime false notproduct Create zombies (non-entrant) at exit from the runtime system share/runtime/globals.hpp batch OpenJDK6 disable background compilation Xusage.txt bootclasspath/a OpenJDK6 bootclasspath/p OpenJDK6 bootclasspath OpenJDK6 check:jni OpenJDK6 perform additional checks for JNI functions Xusage.txt future OpenJDK6 enable strictest checks, anticipating future default Xusage.txt hashCode OpenJDK6 intx runtime 5 experimental (Unstable) select hashCode generation algorithm share/runtime/globals.hpp int OpenJDK6 interpreted mode execution only Xusage.txt log OpenJDK9 control JVM logging, use -Xlog:help for details Xusage.txt mixed OpenJDK6 mixed mode execution (default) Xusage.txt ms OpenJDK6 set initial Java heap size Xusage.txt mx OpenJDK6 set maximum Java heap size Xusage.txt noclassgc OpenJDK6 disable class garbage collection Xusage.txt rs OpenJDK6 reduce use of OS signals by Java/VM (see documentation) Xusage.txt share:auto OpenJDK6 use shared class data if possible (default) Xusage.txt share:off OpenJDK6 do not attempt to use shared class data Xusage.txt require using shared class data, otherwise fail. share:on OpenJDK6 Xusage.txt The -X options are non-standard and subject to change without notice. ss OpenJDK6 set java thread stack size Xusage.txt Built on Mon Apr 06 22:22:09 BST 2026 by chriswhocodes All third party trademarks including logos and icons referenced on chriswhocodes.com remain the property of their respective owners. Use of third party trademarks does not indicate any relationship, sponsorship, or endorsement between chriswhocodes.com and the owners of these trademarks. Magnifying glass icon from https://commons.wikimedia.org/wiki/ File:Magnifying_glass_icon_mgx2.svg