VM Options Explorer - GraalVM native-image CE 19

Hey Reader! If these notes float your boat you'll find more great JVM info in this book I co-wrote! Optimizing Java: Practical techniques for improving JVM application performance
NameTypeDefaultAvailabilityDescription
TypeAvailability
AOTInlinebooltrueHosted
Perform method inlining in the AOT compiled native image.
AOTInliningDepthToSizeRatedouble2.5Runtime
AOTInliningSizeMaximumint300Runtime
AOTInliningSizeMinimumint50Runtime
AOTTrivialInlinebooltrueHosted
Perform trivial method inlining in the AOT compiled native image.
APIFunctionPrefixString"graal_"Hosted
Prefix that is added to the names of API functions. 
ASMInstructionProfilingStringNoneRuntime
Enables instruction profiling on assembler level. Valid values are a comma separated list of supported instructions. 
Compare with subclasses of Assembler.InstructionCounter.
AbortOnBenchmarkCounterOverflowboolfalseRuntime
Abort VM with SIGILL if benchmark counters controlled by the (Generic|Timed|Benchmark)DynamicCounters.
AddAllCharsetsboolfalseHosted
Make all hosted charsets available at run time.
AddAllFileSystemProvidersbooltrueHosted
Make all supported providers returned by FileSystemProvider.installedProviders() available at run time.
AddAllFileTypeDetectorsbooltrueHosted
Make all supported FileTypeDetector available at run time.
AggregatedMetricsFileStringNoneRuntime
File to which aggregated metrics are dumped at shutdown. A CSV format is used if the file ends with .csv otherwise a 
more human readable format is used. If not specified, metrics are dumped to the console.
AlignedHeapChunkSizeint1048576Hosted
The size of an aligned chunk. 
AllocateInstancePrefetchLinesint1Hosted
Number of cache lines to load after the object address using prefetch instructions generated in JIT compiled code. 
AllocatePrefetchDistanceint256Hosted
Sets the size (in bytes) of the prefetch distance for object allocation. Memory about to be written with the value of 
new objects is prefetched up to this distance starting from the address of the last allocated object. Each Java thread
has its own allocation point.
AllocatePrefetchInstrint0Hosted
Sets the prefetch instruction to prefetch ahead of the allocation pointer. Possible values are from 0 to 3. The actual 
instructions behind the values depend on the platform.
AllocatePrefetchLinesint3Hosted
Number of cache lines to load after the array allocation using prefetch instructions generated in JIT compiled code. 
AllocatePrefetchStepSizeint16Hosted
Sets the step size (in bytes) for sequential prefetch instructions. 
AllocatePrefetchStyleint1Hosted
Generated code style for prefetch instructions: for 0 or less no prefetch instructions are generated and for 1 or more 
prefetch instructions are introduced after each allocation.
AllocationBeforePhysicalMemorySizeint1048576Hosted
Bytes that can be allocated before asking what the physical memory size is.
AllocationProfilingThresholdint1048576Runtime
The minimum size in bytes required for printing an allocation profiling entry. 
AllocationProfilingboolfalseHosted
Enable runtime profiling of allocation.
AllocationSiteSensitiveHeapboolfalseRuntime
A context sensitive heap means that each heap allocated object is modeled by using at least the allocation site.
AllowFoldMethodsboolfalseHosted
Allow MethodTypeFlow to see @Fold methods.
AllowIncompleteClasspathboolfalseHosted
Allow image building with an incomplete class path: report type resolution errors at run time when they are accessed the 
first time, instead of during image building.
AllowVMInspectionboolfalseHosted
Enables features that allow the VM to be inspected during runtime.
AlwaysInlineIntrinsicsboolfalseRuntime
Unconditionally inline intrinsics.
AlwaysInlineVTableStubsboolfalseRuntime
AnalysisContextSensitivityString"insens"Runtime
Controls the static analysis context sensitivity. Available values: insens (context insensitive analysis), allocsens 
(context insensitive analysis, context insensitive heap, allocation site sensitive heap), _1obj (1 object sensitive
analysis with a context insensitive heap), _2obj1h (2 object sensitive with a 1 context sensitive heap).
AnalysisSizeCutoffint8Runtime
The maximum size of type and method profiles returned by the static analysis. -1 indicates no limitation. 
BenchmarkCountersDumpDynamicbooltrueRuntime
Dump dynamic counters.
BenchmarkCountersDumpStaticboolfalseRuntime
Dump static counters.
BenchmarkCountersFileStringNoneRuntime
File to which benchmark counters are dumped. A CSV format is used if the file ends with .csv otherwise a more human 
readable format is used. The fields in the CSV format are: category, group, name, value.
BenchmarkDynamicCountersStringNoneRuntime
Turn on the benchmark counters. The format of this option is:.
BootstrapInitializeOnlyboolfalseRuntime
Do not compile anything on bootstrap but just initialize the compiler.
BootstrapTimeoutdouble15.0Runtime
Maximum time in minutes to spend bootstrapping (0 to disable this limit). 
BootstrapWatchDogCriticalRateRatiodouble0.25Runtime
Ratio of the maximum compilation rate below which the bootstrap compilation rate must not fall (0 or less disables 
monitoring).
CAPCacheDir""Hosted
Directory where information generated by the CAnnotation Processor are cached. 
CLibraryPathHosted
Search path for C libraries passed to the linker (list of comma-separated directories).
CPUFeaturesStringNoneHosted
Comma separated list of CPU features that will be used for image generation on the AMD64 platform. Features SSE and SSE2 
are enabled by default. Other available features are: CX8, CMOV, FXSR, HT, MMX, AMD_3DNOW_PREFETCH, SSE3, SSSE3, SSE4A,
SSE4_1, SSE4_2, POPCNT, LZCNT, TSC, TSCINV, AVX, AVX2, AES, ERMS, CLMUL, BMI1, BMI2, RTM, ADX, AVX512F, AVX512DQ,
AVX512PF, AVX512ER, AVX512CD, AVX512BW.
CStandardString"C89"Hosted
C standard to use in header files. Possible values are: [C89, C99, C11]. 
CanOmitFramebooltrueRuntime
CanonicalGraphStringsCheckConstantsboolfalseRuntime
Exclude virtual nodes when dumping canonical text for graphs.
CanonicalGraphStringsExcludeVirtualsbooltrueRuntime
Exclude virtual nodes when dumping canonical text for graphs.
CanonicalGraphStringsRemoveIdentitiesbooltrueRuntime
Attempts to remove object identity hashes when dumping canonical text for graphs.
CheckRecurringCallbackOnNativeToJavaTransitionboolfalseHosted
Test whether a thread's recurring callback is pending on each transition from native code to Java.
ClassInitializationStringNoneHosted
A comma-separated list of classes appended with their initialization strategy (':build_time', ':rerun', or ':run_time').
Class""Hosted
Class containing the default entry point method. Optional if --shared is used. 
ClearMetricsAfterBootstrapboolfalseRuntime
Clear the debug metrics after bootstrap.
CodeCacheCountersboolfalseHosted
Count accesses to the image and runtime code info table.
CodeInfoEncoderCountersboolfalseHosted
Statistics about code and deoptimization information.
CodeInfoIndexGranularityint256Hosted
The granularity of the index for looking up code metadata. Should be a power of 2. Larger values make the index smaller, 
but access slower.
CompilationBailoutAsFailureboolfalseRuntime
Treat compilation bailouts like compilation failures.
CompilationCountLimitint0Runtime
The number of compilations allowed for any method before the VM exits (a value of 0 means there is no limit). 
CompilationExpirationPeriodint300Runtime
Time limit in seconds before a compilation expires (0 to disable the limit). The compilation alarm will be implicitly 
disabled if assertions are enabled.
CompilationFailureActionStringSilentRuntime
Specifies the action to take when compilation fails. 
CompilationWatchDogStackTraceIntervaldouble60.0Runtime
Interval in seconds between a watch dog reporting stack traces for long running compilations.
CompilationWatchDogStartDelaydouble0.0Runtime
Delay in seconds before watch dog monitoring a compilation (0 disables monitoring). 
CompileGraalWithC1OnlybooltrueRuntime
In tiered mode compile Graal and JVMCI using optimized first tier code.
CompilerBackendString"lir"Hosted
Backend used by the compiler. 
CompilerConfigurationStringNoneRuntime
Names the compiler configuration to use. If omitted, the compiler configuration with the highest auto-selection priority 
is used. To see the set of available configurations, supply the value 'help' to this option.
ConditionalEliminationMaxIterationsint4Runtime
ConditionalEliminationbooltrueRuntime
ConfigurationFileDirectoriesStringNoneHosted
Directories directly containing configuration files for dynamic features at runtime.
ConfigurationResourceRootsStringNoneHosted
Resource path above configuration resources for dynamic features at runtime.
CountWriteBarriersboolfalseHosted
Instrument write barriers with counters.
CountStringNoneRuntime
Pattern for specifying scopes in which counters are enabled. See the Dump option for the pattern syntax. An empty value 
enables all counters unconditionally.
CountersStringNoneRuntime
Comma separated names of counters that are enabled irrespective of the value for Count option. An empty value enables 
all counters unconditionally.
CrashAtStringNoneRuntime
Pattern for method(s) that will trigger an exception when compiled. This option exists to test handling compilation 
crashes gracefully. See the MethodFilter option for the pattern syntax. A ':Bailout' suffix will raise a bailout
exception and a ':PermanentBailout' suffix will raise a permanent bailout exception.
DebugStubsAndSnippetsboolfalseRuntime
Enable debug output for stub code generation and snippet preparation.
DeleteLocalSymbolsbooltrueHosted
Use linker option to remove all local symbols from image.
DeoptALotboolfalseRuntime
DeoptAfterOSRbooltrueRuntime
Deoptimize OSR compiled code when the OSR entry loop is finished if there is no mature profile available for the rest of 
the method.
DeoptimizeAllboolfalseHosted
Compiles all methods as deoptimization targets for testing.
DeoptsToDisableOptimisticOptimizationint40Runtime
DetailedAssertsboolfalseRuntime
Enable expensive assertions if normal assertions (i.e. -ea or -esa) are enabled.
DivertParameterReturningMethodbooltrueRuntime
Analysis: Detect methods that return one of their parameters and hardwire the parameter straight to the return.
DumpLLVMStackMapStringNoneHosted
Dump contents of the generated stackmap to the specified file.
DumpOnErrorboolfalseRuntime
Send compiler IR to dump handlers on error.
DumpOnPhaseChangeStringNoneRuntime
Dump a before and after graph if the named phase changes the graph.%nThe argument is substring matched against the 
simple name of the phase class.
DumpPathString"graal_dumps"Runtime
The directory where various Graal dump files are written. 
DumpStringNoneRuntime
Filter pattern for specifying scopes in which dumping is enabled.
DumpingErrorsAreFatalboolfalseRuntime
Treat any exceptions during dumping as fatal.
DynamicCountersPrintGroupSeparatorbooltrueRuntime
Use grouping separators for number printing.
DynamicProxyConfigurationFilesStringNoneHosted
One or several (comma-separated) paths to JSON files that specify lists of interfaces that define Java proxy classes.
DynamicProxyConfigurationResourcesStringNoneHosted
Resources describing program elements to be made available for reflection (see ProxyConfigurationFiles).
DynamicProxyTracingboolfalseHosted
Enable trace logging for dynamic proxy.
EagerSnippetsboolfalseRuntime
Eagerly construct extra snippet info.
EmitStringEncodingSubstitutionsbooltrueHosted
Emit substitutions for UTF16 and latin1 compression.
EnableAllSecurityServicesboolfalseHosted
Add all security service classes to the generated image.
EnableLoggingFeaturebooltrueHosted
Enable the feature that provides support for logging.
EnableSecurityServicesFeaturebooltrueHosted
Enable the feature that provides support for security services.
EnableURLProtocolsStringNoneHosted
List of comma separated URL protocols to enable.
EnforceMaxRuntimeCompileMethodsboolfalseHosted
Enforce checking of maximum number of methods allowed for runtime compilation. Useful for checking in the gate that the 
number of methods does not go up without a good reason.
EntryPointNamePrefix""Hosted
Prefix that is added to the names of entry point methods. 
EscapeAnalysisIterationsint2Runtime
EscapeAnalysisLoopCutoffint20Runtime
EscapeAnalyzeOnlyStringNoneRuntime
ExactFullUnrollMaxNodesint800Runtime
ExactPartialUnrollMaxNodesint200Runtime
ExitAfterAnalysisboolfalseHosted
Exit after analysis.
ExitAfterCAPCacheboolfalseHosted
Exit image generation after C Annotation Processor Cache creation.
ExitVMOnExceptionboolfalseRuntime
Alias for CompilationFailureAction=ExitVM.
ExtendedAssertsboolfalseRuntime
Enable extended asserts which slow down analysis.
FailedLoopExplosionIsFatalboolfalseRuntime
Do not bail out but throw an exception on failed loop explosion.
FallbackExecutorClasspathStringNoneHosted
Internal option used to specify Classpath for FallbackExecutor.
FallbackExecutorJavaArgStringNoneHosted
Internal option used to specify java arguments for FallbackExecutor.
FallbackExecutorMainClassStringNoneHosted
Internal option used to specify MainClass for FallbackExecutor.
FallbackExecutorRuntimeJavaArgStringNoneRuntime
Internal option used to specify runtime java arguments for FallbackExecutor.
FallbackExecutorSystemPropertyStringNoneHosted
Internal option used to specify system properties for FallbackExecutor.
FallbackThresholdint5Hosted
Define when fallback-image generation should be used. 
FeaturesStringNoneHosted
A comma-separated list of fully qualified Feature implementation classes.
ForceDumpGraphsBeforeCompilationboolfalseRuntime
Force-dump graphs before compilation.
FullUnrollConstantCompareBoostint15Runtime
FullUnrollMaxIterationsint600Runtime
FullUnrollMaxNodesint400Runtime
FullUnrollbooltrueRuntime
GCDebugStartCycleint-1Runtime
Start tracing compiled GC barriers after N garbage collections (disabled if N <= 0). 
GCHistoryint1Hosted
How much history to maintain about garbage collections. 
GatherSafepointStatisticsboolfalseHosted
Gather statistics about each safepoint.
GenLoopSafepointsbooltrueRuntime
GenSafepointsbooltrueRuntime
GeneratePICboolfalseRuntime
Generate position independent code.
GenericDynamicCountersboolfalseRuntime
Turn on the benchmark counters, and displays the results on VM shutdown.
GraalArithmeticStubsboolfalseRuntime
Use Graal arithmetic stubs instead of HotSpot stubs where possible.
GraalCompileOnlyStringNoneRuntime
A filter applied to a method the VM has selected for compilation by Graal. A method not matching the filter is 
redirected to a lower tier compiler. The filter format is the same as for the MethodFilter option.
GraphCompressionThresholdint70Runtime
Graal graph compression is performed when percent of live nodes falls below this value. 
GreyToBlackObjRefDemographicsboolfalseHosted
Develop demographics of the object references visited.
GreyToBlackObjectVisitorDiagnosticHistoryint0Hosted
Keep history of GreyToBlackObjectVisits.  0 implies no history is kept.
GuardPrioritiesbooltrueRuntime
HeapVerificationFailureIsFatalbooltrueRuntime
Verify the heap before and after each collection.
HideSubstitutionStatesboolfalseRuntime
When creating info points hide the methods of the substitutions.
HotSpotPrintInliningboolfalseRuntime
Print inlining optimizations.
HybridStaticContextboolfalseRuntime
Enable hybrid context for static methods, i.e. uses invocation site as context for static methods.
ImageObjectTreeExpandRoots""Runtime
Override the default suppression of specified roots. See: REPORTS.md. 
ImageObjectTreeExpandTypes""Runtime
Override the default suppression of specified types. See: REPORTS.md. 
ImageObjectTreeSuppressRoots""Runtime
Suppress the expansion of specified roots. See: REPORTS.md. 
ImageObjectTreeSuppressTypes""Runtime
Suppress the expansion of specified types. See: REPORTS.md. 
ImmutableCodeboolfalseRuntime
Try to avoid emitting code where patching is required.
IncludeAllTimeZonesboolfalseHosted
When true, all time zones will be pre-initialized in the image.
IncludeLLVMDebugInfoint0Hosted
Include debugging info in the generated image (for LLVM backend). 
IncludeNodeSourcePositionsboolfalseHosted
Track NodeSourcePositions during runtime-compilation.
IncludeResourceBundlesStringNoneHosted
Comma separated list of bundles to be included into the image.
IncludeResourcesStringNoneHosted
Regexp to match names of resources to be included in the image.
InitialCollectionPolicyString"com.oracle.svm.core.genscavenge.CollectionPolicy$ByTime"Hosted
What is the initial collection policy?.
InlineDuringParsingMaxDepthint10Runtime
Maximum depth when inlining during bytecode parsing. 
InlineDuringParsingbooltrueRuntime
Inlines trivial methods during bytecode parsing.
InlineEverythingboolfalseRuntime
InlineIntrinsicsDuringParsingbooltrueRuntime
Inlines intrinsic methods during bytecode parsing.
InlineMegamorphicCallsbooltrueRuntime
Inline calls with megamorphic type profile (i.e., not all types could be recorded).
InlineMonomorphicCallsbooltrueRuntime
Inline calls with monomorphic type profile.
InlinePartialIntrinsicExitDuringParsingbooltrueRuntime
Inlines partial intrinsic exits during bytecode parsing when possible. A partial intrinsic exit is a call within an 
intrinsic to the method being intrinsified and denotes semantics of the original method that the intrinsic does not
support.
InlinePolymorphicCallsbooltrueRuntime
Inline calls with polymorphic type profile.
InlineVTableStubsbooltrueRuntime
InlinebooltrueRuntime
Enable inlining.
InliningDepthErrorint1000Runtime
Maximum inlining depth during partial evaluation before reporting an infinite recursion. 
InspectServerContentPathString"inspect"Runtime
Path to the contents of the Inspect web server. 
InstallSegfaultHandlerbooltrueRuntime
Install segfault handler that prints register contents and full Java stacktrace.
InterceptBailoutboolfalseRuntime
Intercept also bailout exceptions.
IntrinsifybooltrueRuntime
Use compiler intrinsifications.
JNIConfigurationFilesStringNoneHosted
Files describing program elements to be made accessible via JNI (for syntax, see ReflectionConfigurationFiles).
JNIConfigurationResourcesStringNoneHosted
Resources describing program elements to be made accessible via JNI (see JNIConfigurationFiles).
JNIVerboseLookupErrorsboolfalseHosted
Report information about known JNI elements when lookup fails.
JNIbooltrueHosted
Enable Java Native Interface (JNI) support.
LIRDynMoveProfileMethodboolfalseRuntime
Enable dynamic move profiling per method.
LIROptConstantLoadOptimizationboolfalseRuntime
Enable constant load optimization. 
LIROptControlFlowOptimizerboolRuntime
LIROptEdgeMoveOptimizerboolRuntime
LIROptLSRAEliminateSpillMovesboolRuntime
Enable spill move elimination. 
LIROptLSRAOptimizeSpillPositionboolRuntime
Enable spill position optimization. 
LIROptLSStackSlotAllocatorboolRuntime
Use linear scan stack slot allocation. 
LIROptNullCheckOptimizerboolRuntime
LIROptRedundantMoveEliminationboolRuntime
LIROptStackMoveOptimizerboolRuntime
LIROptimizationbooltrueRuntime
Enable LIR level optimiztations.
LIRProfileMethodsboolfalseRuntime
Enables profiling of methods.
LIRProfileMovesboolfalseRuntime
Enables profiling of move types on LIR level. Move types are for example stores (register to stack), constant loads 
(constant to register) or copies (register to register).
LLVMBatchesPerThreadint1Hosted
How many batches per thread should be used for LLVM compilation. 0 means a single batch, -1 means all functions 
separately.
LSRAOptSplitOnlyboolfalseRuntime
LSRA optimization: Only split but do not reassign.
LSRAOptimizationboolfalseRuntime
Enable LSRA optimization.
LargeArrayThresholdint0Hosted
How many bytes is enough to allocate an unaligned chunk for an array? 0 implies (AlignedHeapChunkSize / 8). 
LimitInlinedInvokesdouble5.0Runtime
LimitObjectArrayLengthboolfalseRuntime
Enable a limit for the number of objects recorded for each type of a type state before disabling heap sensitivity for 
that type. The analysis must be heap sensitive.
LinkerRPathStringNoneHosted
Path passed to the linker as the -rpath (list of comma-separated directories).
ListMetricsboolfalseRuntime
Lists on the console at VM shutdown the metric names available to the Timers, Counters and MemUseTrackers options. Note 
that this only lists the metrics that were initialized during the VM execution and so will not include metrics for
compiler code that is not executed.
LoadExceptionObjectInVMboolfalseRuntime
Use a VM runtime call to load and clear the exception object from the thread at the start of a compiled exception 
handler.
LogFileStringNoneRuntime
File to which logging is sent. A %p in the name will be replaced with a string identifying the process, usually the 
process id and %t will be replaced by System.currentTimeMillis().
LogVerboseboolfalseRuntime
Enable more verbose log output when available.
LogStringNoneRuntime
Pattern for specifying scopes in which logging is enabled. See the Dump option for the pattern syntax.
LoopMaxUnswitchint3Runtime
LoopPeelingbooltrueRuntime
LoopUnswitchFrequencyBoostdouble10.0Runtime
LoopUnswitchMaxIncreaseint500Runtime
LoopUnswitchTrivialint10Runtime
LoopUnswitchbooltrueRuntime
MachODebugInfoTestingboolfalseHosted
Test Mach-O debuginfo generation.
MatchExpressionsbooltrueRuntime
Allow backend to match complex expressions.
MaxCallingContextDepthint0Runtime
The maximum length of the methods context chains. 
MaxCallingContextWidthint0Runtime
The maximum number of contexts to record for a method. It only affects the analysis when the max and min calling context 
depth are different.
MaxCompilationProblemsPerActionint2Runtime
The maximum number of compilation failures to handle with the action specified by CompilationFailureAction before 
changing to a less verbose action. This does not apply to the ExitVM action.
MaxConstantObjectsPerTypeint100Runtime
The maximum number of constant objects recorded for each type before merging the constants into one unique constant 
object per type. The analysis must be heap sensitive. It has a minimum value of 1.
MaxHeapContextDepthint0Runtime
The maximum length of the context used to model a heap object in addition to the allocation site; used only when 
ContextSensitiveHeap is enabled.
MaxHeapContextWidthint0Runtime
The maximum number of contexts to record for a heap object. It only affects the analysis when the max and min calling 
context depth are different.
MaxInvokesInTrivialMethodint1Hosted
Maximum number of invokes in a method so that it is considered trivial (for testing only). 
MaxNodesInTrivialLeafMethodint40Hosted
Maximum number of nodes in a method so that it is considered trivial, if it does not have any invokes. 
MaxNodesInTrivialMethodint20Hosted
Maximum number of nodes in a method so that it is considered trivial. 
MaxObjectSetSizeint100Runtime
The maximum number of objects recorded for each type of a type state before disabling heap sensitivity for that type. 
The analysis must be heap sensitive. It has a minimum value of 1.
MaxReachableTypesint-1Hosted
Maximum number of types allowed in the image. Used for tests where small number of types in necessary. 
MaxRuntimeCompileMethodsStringNoneHosted
Maximum number of methods allowed for runtime compilation.
MaxTemplatesPerSnippetint50Runtime
MaxUnrolledObjectZeroingStoresint8Hosted
Define the maximum number of stores for which the loop that zeroes out objects is unrolled. 
MaximumDesiredSizeint20000Runtime
Maximum desired size of the compiler graph in nodes. 
MaximumEscapeAnalysisArrayLengthint128Runtime
The maximum length of an array that will be escape analyzed. 
MaximumHeapSizePercentint80Runtime
The maximum heap size as percent of physical memory. 
MaximumInliningSizeint300Runtime
Inlining is explored up to this number of nodes in the graph for each call site. 
MaximumLoopExplosionCountint10000Runtime
Max number of loop explosions per method. 
MaximumRecursiveInliningint5Runtime
Maximum level of recursive inlining. 
MaximumYoungGenerationSizePercentint10Runtime
The maximum size of the young generation as a percent of the maximum heap size. 
MegamorphicInliningMinMethodProbabilitydouble0.33Runtime
Minimum probability for methods to be inlined for megamorphic type profiles.
MemUseTrackersStringNoneRuntime
Comma separated names of memory usage trackers that are enabled irrespective of the value for TrackMemUse option. An 
empty value enables all memory usage trackers unconditionally.
MethodFilterRootOnlyboolfalseRuntime
Only check MethodFilter against the root method in the context if true, otherwise check all methods.
MethodFilterStringNoneRuntime
Pattern for filtering debug scope output based on method context.
MethodInlineBailoutLimitint5000Runtime
Per-compilation method inlining exploration limit before giving up (use 0 to disable). 
MethodString"main"Hosted
Name of the main entry point method. Optional if --shared is used. 
MetricsFileStringNoneRuntime
File to which metrics are dumped per compilation.
MetricsThreadFilterStringNoneRuntime
Only report metrics for threads whose name matches the regular expression.
MinCallingContextDepthint0Runtime
The minimum length of the methods context chains. 
MinHeapContextDepthint0Runtime
The minimum length of the context used to model a heap object in addition to the allocation site; used only when 
ContextSensitiveHeap is enabled.
MinimalBulkZeroingSizeint2048Runtime
If applicable, use bulk zeroing instructions when the zeroing size in bytes exceeds this threshold. 
MinimumPeelProbabilitydouble0.35Runtime
MitigateSpeculativeExecutionAttacksStringNoneRuntime
Select a strategy to mitigate speculative execution attacks (e.g., SPECTRE). 
MultiThreadedbooltrueHosted
Enable support for threads and and thread-local variables (disable for single-threaded implementation).
MustNotSynchronizeWarningsAreFatalbooltrueHosted
Warnings for @MustNotSynchronize annotations are fatal.
NDCVint0Runtime
Run level for NoDeadCodeVerifyHandler (0 = off, 1 = info, 2 = verbose, 3 = fatal). 
Name""Hosted
Name of the output file to be generated. 
NativeArchitectureboolfalseHosted
Overrides CPUFeatures and uses the native architecture, i.e., the architecture of a machine that builds an image. 
NativeArchitecture takes precedence over CPUFeatures.
NativeLinkerOptionStringNoneHosted
Pass the provided raw option to the linker command that produces the final binary. The possible options are platform 
specific and passed through without any validation.
NewCAPCacheboolfalseHosted
Create a C Annotation Processor Cache. Will erase any previous cache at that same location.
NodeCountersboolfalseRuntime
Counts the number of instances of each node class.
NonFatalIdenticalCompilationSnapshotsint20Runtime
Number of contiguous identical compiler thread stack traces allowed before the VM exits on the basis of a stuck 
compilation.
NumberOfAnalysisThreadsint-1Hosted
The number of threads to use for analysis during native image generation. The number must be smaller than the 
NumberOfThreads.
NumberOfThreadsint12Hosted
The maximum number of threads to use concurrently during native image generation. 
OmitHotExceptionStacktraceboolfalseRuntime
OptAssumptionsbooltrueRuntime
OptConvertDeoptsToGuardsbooltrueRuntime
OptDeoptimizationGroupingbooltrueRuntime
OptDevirtualizeInvokesOptimisticallybooltrueRuntime
OptEarlyReadEliminationbooltrueRuntime
OptEliminateGuardsbooltrueRuntime
OptEliminatePartiallyRedundantGuardsbooltrueRuntime
OptFilterProfiledTypesbooltrueRuntime
OptFloatingReadsbooltrueRuntime
OptImplicitNullChecksbooltrueRuntime
OptLoopTransformbooltrueRuntime
OptReadEliminationbooltrueRuntime
OptScheduleOutOfLoopsbooltrueRuntime
Optimizeint1Hosted
Control native-image code optimizations: 0 - no optimizations, 1 - basic optimizations. 
PEAInliningHintsboolfalseRuntime
PageSizeint0Hosted
Define PageSize of a machine that runs the image. The default = 0 (== same as host machine page size). 
ParseRuntimeOptionsbooltrueHosted
Parse and consume standard options and system properties from the command line arguments when the VM is created.
PartialEscapeAnalysisbooltrueRuntime
PartialUnrollbooltrueRuntime
PathHosted
Directory of the image file to be generated.
PercentTimeInIncrementalCollectionint50Runtime
Percentage of time that should be spent in young generation collections. 
PrintAOTCompilationboolfalseHosted
Print logging information during compilation.
PrintAnalysisCallTreeboolfalseRuntime
Print analysis call tree, a breadth-first tree reduction of the call graph.
PrintBackendCFGbooltrueRuntime
Enable dumping LIR, register allocation and code generation info to the C1Visualizer.
PrintCFGboolfalseRuntime
Enable dumping to the C1Visualizer. Enabling this option implies PrintBackendCFG.
PrintCanonicalGraphStringFlavorint0Runtime
Choose format used when dumping canonical text for graphs: 0 gives a scheduled graph (better for spotting changes 
involving the schedule) while 1 gives a CFG containing expressions rooted at fixed nodes (better for spotting small
structure differences).
PrintCanonicalGraphStringsboolfalseRuntime
Enable dumping canonical text from for graphs.
PrintClassInitializationboolfalseHosted
Prints class initialization info for all classes detected by analysis.
PrintCompilationboolfalseRuntime
Print an informational line to the console for each completed compilation.
PrintDetailedAllocationProfilingbooltrueRuntime
Print detailed information for each allocation site.
PrintFeaturesboolfalseHosted
Print features-specific information.
PrintFlagsStringNoneRuntime
Show available options based on comma-separated option-types (allowed categories: User, Expert, Debug).
PrintGCSummaryboolfalseRuntime
Print summary GC information after main completion.
PrintGCTimeStampsboolfalseRuntime
Print a time stamp at each collection, if +PrintGC or +VerboseGC.
PrintGCTimesboolfalseRuntime
Print the time for each of the phases of each collection, if +VerboseGC.
PrintGCboolfalseRuntime
Print summary GC information after each collection.
PrintGraphFilebooltrueRuntime
Setting to true sets PrintGraph=file, setting to false sets PrintGraph=network.
PrintGraphHostdouble"127.0.0.1"Runtime
Host part of the address to which graphs are dumped. 
PrintGraphPortint4445Runtime
Port part of the address to which graphs are dumped in binary format. 
PrintGraphWithScheduleboolfalseRuntime
Schedule graphs as they are dumped.
PrintGraphStringFileRuntime
Where IdealGraphVisualizer graph dumps triggered by Dump or DumpOnError should be written. 
PrintHeapHistogramboolfalseHosted
Print class statistics of native image heap.
PrintHeapShapeboolfalseRuntime
Print the shape of the heap before and after each collection, if +VerboseGC.
PrintIRWithLIRboolfalseRuntime
Print HIR along side LIR as the latter is generated.
PrintImageElementSizesboolfalseHosted
Print the sizes of the elements of the built image.
PrintImageHeapPartitionSizesboolfalseHosted
Print the sizes of the native image heap as the image is built.
PrintImageObjectTreeboolfalseRuntime
Print boot image object hierarchy.
PrintJNIMethodsboolfalseHosted
Print JNI methods added to generated image.
PrintLIRWithAssemblyboolfalseRuntime
Include the LIR as comments with the final assembly.
PrintMethodHistogramboolfalseHosted
Print statistics of methods in native image heap.
PrintMustNotSynchronizePathbooltrueHosted
Print path for @MustNotSynchronize warnings.
PrintMustNotSynchronizeWarningsbooltrueHosted
Print warnings for @MustNotSynchronize annotations.
PrintProfilingInformationboolfalseRuntime
Print profiling information when parsing a method's bytecode.
PrintRestrictHeapAccessPathbooltrueHosted
Print path for @RestrictHeapAccess warnings.
PrintRestrictHeapAccessWarningsbooltrueHosted
Print warnings for @RestrictHeapAccess annotations.
PrintRuntimeCompileMethodsboolfalseHosted
Print call tree of methods available for runtime compilation.
PrintStaticTruffleBoundariesboolfalseHosted
Print truffle boundaries found during the analysis.
PrintSynchronizedAnalysisboolfalseRuntime
Print types used for Java synchronization.
PrintTruffleExpansionHistogramboolfalseRuntime
Prints a histogram of all expanded Java methods.
PrintTruffleTreesbooltrueRuntime
Enable dumping Truffle ASTs to the IdealGraphVisualizer.
PrintUninterruptibleCalleeDOTGraphboolfalseHosted
Print (to stderr) a DOT graph of the @Uninterruptible annotations.
PrintUninterruptibleWarningsbooltrueHosted
Print warnings for @Uninterruptible annotations.
PrintUniverseboolfalseHosted
Print information about classes, methods, and fields that are present in the native image.
ProbabilisticProfilingbooltrueRuntime
Control probabilistic profiling on AMD64.
ProfileAllocationsContextStringAllocatingMethodRuntime
Control the naming and granularity of the counters when using ProfileAllocations.
ProfileAllocationsboolfalseRuntime
Enable profiling of allocation sites.
ProfileAnalysisOperationsboolfalseRuntime
Track the progress of the static analysis.
ProfileBackedgesbooltrueRuntime
Emit profiling of backedges.
ProfileCompiledMethodsboolfalseRuntime
ProfileConstantObjectsboolfalseRuntime
Track the creation of constant objects.
ProfileDeoptimizationboolfalseHosted
Print logging information during object file writing.
ProfileInvokesbooltrueRuntime
Emit profiling of invokes.
ProfileMonitorsboolfalseRuntime
Enable profiling of monitor operations.
ProfileSimpleMethodsbooltrueRuntime
Profile simple methods.
RawConditionalEliminationbooltrueRuntime
ReadEliminationMaxLoopVisitsint5Runtime
ReassociateInvariantsbooltrueRuntime
ReduceDCEbooltrueRuntime
Disable optional dead code eliminations.
ReflectionConfigurationFilesStringNoneHosted
One or several (comma-separated) paths to JSON files that specify which program elements should be made available via 
reflection.
ReflectionConfigurationResourcesStringNoneHosted
Resources describing program elements to be made available for reflection (see ReflectionConfigurationFiles).
ReflectionPluginTracingboolfalseHosted
Enable trace logging for reflection plugins.
RegisterPressureStringNoneRuntime
Comma separated list of registers that register allocation is limited to.
RemoveNeverExecutedCodebooltrueRuntime
RemoveUnusedSymbolsboolfalseHosted
Use linker option to prevent unreferenced symbols in image.
ReplaceInputsWithConstantsBasedOnStampsbooltrueRuntime
ReportAnalysisForbiddenTypeStringNoneHosted
Report error if <typename>[:<UsageKind>{,<UsageKind>}] is discovered during analysis (valid values for UsageKind: 
InHeap, Allocated, InTypeCheck).
ReportAnalysisStatisticsboolfalseRuntime
Report analysis statistics.
ReportExceptionStackTracesboolfalseHosted
Show exception stack traces for exceptions during image building.).
ReportUnsafeOffsetWarningsboolfalseHosted
Print unsafe operation offset warnings.).
ReportUnsupportedElementsAtRuntimeboolfalseHosted
Report usage of unsupported methods and fields at run time when they are accessed the first time, instead of as an error 
during image building.
ReportUnsupportedFeaturesDuringAnalysisbooltrueRuntime
Unsupported features are fatal.
ResourceConfigurationFilesStringNoneHosted
Files describing Java resources to be included in the image.
ResourceConfigurationResourcesStringNoneHosted
Resources describing Java resources to be included in the image.
ReturnAfterAnalysisboolfalseHosted
Return after analysis.
RuntimeAssertionsFilterStringNoneHosted
Only use Java assert statements for classes that are matching the comma-separated list of package prefixes.
RuntimeAssertionsboolfalseHosted
Enable or disable Java assert statements at run time.
SafepointPromptnessFailureIsFatalbooltrueRuntime
Are safepoint promptness failures fatal?.
SafepointPromptnessFailureNanosint0Runtime
Exit the VM if I can not come to a safepoint in this many nanoseconds. 0 implies forever. 
SafepointPromptnessWarningNanosint0Runtime
Print a warning if I can not come to a safepoint in this many nanoseconds. 0 implies forever. 
ScanObjectsParallelbooltrueRuntime
Object scanning in parallel.
SharedLibraryboolfalseHosted
Build shared library.
ShowConfigurationStringnoneRuntime
Writes to the VM log information about the compiler configuration selected. 
ShowDumpFilesboolfalseRuntime
Print the name of each dump file path as it's created.
ShowSubstitutionSourceInfoboolfalseRuntime
Controls whether the source position information of snippets and method substitutions are exposed to HotSpot. Can be 
useful when profiling to get more precise position information.
SimpleFastInflatedLockingbooltrueRuntime
Handle simple cases for inflated monitors in the fast-path.
SimpleMethodCallsint1Runtime
Maximum number of calls in a simple method. 
SimpleMethodGraphSizeint256Runtime
Maximum number of nodes in a graph for a simple method. 
SimpleMethodIndirectCallsint0Runtime
Maximum number of indirect calls in a simple moethod. 
SmallCompiledLowLevelGraphSizeint300Runtime
If the previous low-level graph size of the method exceeds the threshold, it is not inlined. 
SnippetCountersboolfalseRuntime
Enable counters for various paths in snippets.
SpawnIsolatesbooltrueHosted
Support multiple isolates. .
StackRedZoneSizeint8192Hosted
Size (in bytes) of the red zone reserved at the end of the stack. This stack space can only be used by critical VM code 
and C code, e.g., to report fatal errors.
StackTracebooltrueHosted
Provide method names for stack traces.
StackYellowZoneSizeint32768Hosted
Size (in bytes) of the yellow zone reserved at the end of the stack. This stack space is reserved for VM use and cannot 
be used by the application.
StaticExecutableboolfalseHosted
Build statically linked executable (requires static libc and zlib).
StressExplicitExceptionCodeboolfalseRuntime
Stress the code emitting explicit exception throwing code.
StressInvokeWithExceptionNodeboolfalseRuntime
Stress the code emitting invokes with explicit exception edges.
StressTestEarlyReadsboolfalseRuntime
Stress the code by emitting reads at earliest instead of latest point.
SubstitutionFilesStringNoneHosted
Comma-separated list of file names with declarative substitutions.
SubstitutionResourcesStringNoneHosted
Comma-separated list of resource file names with declarative substitutions.
SupportJsrBytecodesbooltrueRuntime
SupportOSRWithLocksbooltrueRuntime
Support OSR compilations with locks. If DeoptAfterOSR is true we can per definition not have unbalanced enter/exits 
mappings. If DeoptAfterOSR is false insert artificial monitor enters after the OSRStart to have balanced enter/exits in
the graph.
SuppressStderrboolfalseHosted
Suppress console error output for unittests.
SuppressStdoutboolfalseHosted
Suppress console normal output for unittests.
TailDuplicationProbabilitydouble0.5Runtime
TailDuplicationTrivialSizeint1Runtime
TearDownFailureNanosint0Runtime
The number of nanoseconds before tearing down an isolate gives a failure message. 0 implies no message. 
TearDownWarningNanosint0Runtime
The number of nanoseconds before and between which tearing down an isolate gives a warning message. 0 implies no 
warning.
TempDirectory""Hosted
Directory for temporary files generated during native image generation. If this option is specified, the temporary files 
are not deleted so that you can inspect them after native image generation.
TestFile""Hosted
ThrowUnsafeOffsetErrorsbooltrueHosted
Throw unsafe operation offset errors.).
TierABackedgeNotifyFreqLogint16Runtime
Backedge notification frequency. 
TierABackedgeProfileProbabilityLogint12Runtime
Backedge profile probability. 
TierAInvokeInlineeNotifyFreqLogint-1Runtime
Inlinee invocation notification frequency (-1 means count, but do not notify). 
TierAInvokeNotifyFreqLogint13Runtime
Invocation notification frequency. 
TierAInvokeProfileProbabilityLogint8Runtime
Invocation profile probability. 
TieredAOTboolfalseRuntime
Do profiling and callbacks to tiered runtime.
TimeStringNoneRuntime
Pattern for specifying scopes in which timing is enabled. See the Dump option for the pattern syntax. An empty value 
enables all timers unconditionally.
TimedDynamicCountersint-1Runtime
Turn on the benchmark counters, and displays the results every n milliseconds. 
TimersStringNoneRuntime
Comma separated names of timers that are enabled irrespective of the value for Time option. An empty value enables all 
timers unconditionally.
TraceBytecodeParserLevelint0Runtime
The trace level for the bytecode parser. A value of 1 enables instruction tracing and any greater value emits a frame 
state trace just prior to each instruction trace.Instruction tracing output from multiple compiler threads will be
interleaved so use of this option make most sense for single threaded compilation. The MethodFilter option can be used
to refine tracing to selected methods.
TraceCodeCacheboolfalseRuntime
Print logging information for runtime code cache modifications.
TraceDeoptimizationDetailsboolfalseRuntime
Print verbose logging information for every deoptimization.
TraceDeoptimizationboolfalseRuntime
Print logging information for every deoptimization.
TraceEscapeAnalysisboolfalseRuntime
TraceExceptionHandlerStubboolfalseRuntime
Trace execution of stub used to handle an exception thrown by a callee.
TraceHeapChunksboolfalseRuntime
Trace heap chunks during collections, if +VerboseGC and +PrintHeapShape.
TraceHeapVerificationboolfalseHosted
Trace heap verification.
TraceInlineDuringParsingboolfalseRuntime
Traces inlining performed during bytecode parsing.
TraceInliningForStubsAndSnippetsboolfalseRuntime
Enable inlining decision tracing in stubs and snippets.
TraceInliningboolfalseRuntime
Enable tracing of inlining decisions.
TraceLIRGeneratorLevelint0Runtime
The trace level for the LIR generator. 
TraceLoggingFeatureboolfalseHosted
When enabled, logging feature details are printed.
TraceMonitorsMethodFilterStringNoneRuntime
Trace monitor operations in methods whose fully qualified name contains this substring.
TraceMonitorsTypeFilterStringNoneRuntime
Trace monitor operations on objects whose type contains this substring.
TraceObjectPromotionboolfalseHosted
Trace each object promotion.
TraceParserPluginsboolfalseRuntime
Traces use of plugins during bytecode parsing.
TraceSecurityServicesboolfalseHosted
Enable trace logging for the security services feature.
TraceServiceLoaderFeatureboolfalseHosted
When enabled, each service loader resource and class will be printed out to standard output.
TraceStackVerificationboolfalseHosted
Trace stack verification.
TraceTruffleAssumptionsboolfalseRuntime
Print stack trace on assumption invalidation.
TraceTruffleCompilationASTboolfalseRuntime
Print the entire AST after each compilation.
TraceTruffleCompilationCallTreeboolfalseRuntime
Print the inlined call tree for each compiled method.
TraceTruffleCompilationDetailsboolfalseRuntime
Print information for compilation queuing.
TraceTruffleCompilationPolymorphismboolfalseRuntime
Print all polymorphic and generic nodes after each compilation.
TraceTruffleCompilationboolfalseRuntime
Print information for compilation results.
TraceTruffleExpansionSourceboolfalseRuntime
Print source sections for printed expansion trees.
TraceTruffleInliningboolfalseRuntime
Print information for inlining for each compilation.
TraceTrufflePerformanceWarningsboolfalseRuntime
Print potential performance problems.
TraceTruffleSplittingboolfalseRuntime
Print information for each splitted call site.
TraceTruffleStackTraceLimitint20Runtime
Number of stack trace elements printed by TraceTruffleTransferToInterpreter and TraceTruffleAssumptions. 
TraceTruffleTransferToInterpreterboolfalseRuntime
Print stack trace on transfer to interpreter.
TraceUnwindStubboolfalseRuntime
Trace execution of the stub that routes an exception to a handler in the calling frame.
TraceVMOperationsboolfalseRuntime
Trace VMOperation execution.
TrackAccessChainboolfalseRuntime
Track the callers for methods and accessing methods for fields.
TrackInputFlowsboolfalseRuntime
Track the input for type flows.
TrackMemUseStringNoneRuntime
Pattern for specifying scopes in which memory use tracking is enabled. See the Dump option for the pattern syntax. An 
empty value enables all memory use trackers unconditionally.
TrackNodeInsertionboolfalseRuntime
Track source stack trace where a node was inserted into the graph.
TrackNodeSourcePositionboolfalseRuntime
Track the NodeSourcePosition.
TrivialInliningSizeint10Runtime
Graphs with less than this number of nodes are trivial and therefore always inlined. 
TruffleArgumentTypeSpeculationbooltrueRuntime
TruffleBackgroundCompilationbooltrueRuntime
Enable asynchronous truffle compilation in background thread.
TruffleCheckFrameImplementationbooltrueHosted
Enforce that the Truffle runtime provides the only implementation of Frame.
TruffleCheckNeverPartOfCompilationboolfalseHosted
Print a warning message and stack trace when CompilerAsserts.neverPartOfCompilation is reachable.
TruffleCompilationExceptionsAreFatalboolfalseRuntime
Treat compilation exceptions as fatal exceptions that will exit the application.
TruffleCompilationExceptionsArePrintedbooltrueRuntime
Prints the exception stack trace for compilation exceptions.
TruffleCompilationExceptionsAreThrownboolfalseRuntime
Treat compilation exceptions as thrown runtime exceptions.
TruffleCompilationStatisticDetailsboolfalseRuntime
Print additional more verbose Truffle compilation statistics at the end of a run.
TruffleCompilationStatisticsboolfalseRuntime
Print Truffle compilation statistics at the end of a run.
TruffleCompilationThresholdint1000Runtime
Compile call target when call count exceeds this threshold. 
TruffleCompilationbooltrueRuntime
Enable or disable truffle compilation.
TruffleCompileImmediatelyboolfalseRuntime
Compile immediately to test truffle compiler.
TruffleCompileOnlyStringNoneRuntime
Restrict compilation to comma-separated list of includes (or excludes prefixed with tilde).
TruffleCompilerConfigurationStringNoneRuntime
Select a compiler configuration for Truffle compilation (default: use Graal system compiler configuration).
TruffleCompilerThreadsint0Runtime
Manually set the number of compiler threads. 
TruffleEnableInfopointsboolfalseRuntime
Enable support for simple infopoints in truffle partial evaluations.
TruffleExcludeAssertionsbooltrueRuntime
Exclude assertion code from Truffle compilations.
TruffleFirstTierCompilationThresholdint100Runtime
Compile call target in the first tier when call count exceeds this threshold. 
TruffleFirstTierMinInvokeThresholdint1Runtime
Minimum number of calls before a call target is compiled in the first tier. 
TruffleFunctionInliningbooltrueRuntime
Enable automatic inlining of call targets.
TruffleInlineAcrossTruffleBoundaryboolfalseRuntime
Enable inlining across Truffle boundary.
TruffleInlineDuringParsingbooltrueHosted
Inline trivial methods in Truffle graphs during native image generation.
TruffleInliningMaxCallerSizeint2250Runtime
Stop inlining if caller's cumulative tree size would exceed this limit. 
TruffleInstrumentBoundariesPerInlineSiteboolfalseRuntime
Instrument Truffle boundaries by considering different inlining sites as different branches.
TruffleInstrumentBoundariesboolfalseRuntime
Instrument Truffle boundaries and output profiling information to the standard output.
TruffleInstrumentBranchesPerInlineSiteboolfalseRuntime
Instrument branches by considering different inlining sites as different branches.
TruffleInstrumentBranchesboolfalseRuntime
Instrument branches and output profiling information to the standard output.
TruffleInstrumentFilter"*.*.*"Runtime
Method filter for host methods in which to add instrumentation. 
TruffleInstrumentationTableSizeint10000Runtime
Maximum number of instrumentation counters available. 
TruffleIntrinsifyFrameAccessbooltrueRuntime
Intrinsify get/set/is methods of FrameWithoutBoxing to improve Truffle compilation time.
TruffleInvalidationReprofileCountint3Runtime
Delay compilation after an invalidation to allow for reprofiling. 
TruffleIterativePartialEscapeboolfalseRuntime
Run the partial escape analysis iteratively in Truffle compilation.
TruffleLegacySplittingboolfalseRuntime
Use legacy splitting heuristic. This option will be removed.
TruffleMaximumRecursiveInliningint2Runtime
Maximum level of recursive inlining. 
TruffleMinInvokeThresholdint3Runtime
Minimum number of calls before a call target is compiled. 
TruffleMultiTierboolfalseRuntime
Whether to use multiple Truffle compilation tiers by default.
TruffleOSRCompilationThresholdint100000Runtime
Number of loop iterations until on-stack-replacement compilation is triggered. 
TruffleOSRbooltrueRuntime
Enable on stack replacement for Truffle loops.
TrufflePerformanceWarningsAreFatalboolfalseRuntime
Treat performance warnings as fatal occurrences that will exit the applications.
TruffleProfilingEnabledbooltrueRuntime
Enable/disable builtin profiles in com.oracle.truffle.api.profiles.
TruffleReplaceReprofileCountint3Runtime
Delay compilation after a node replacement. 
TruffleReturnTypeSpeculationbooltrueRuntime
TruffleSplittingAllowForcedSplitsbooltrueRuntime
Should forced splits be allowed.
TruffleSplittingDumpDecisionsboolfalseRuntime
Dumps to IGV information on polymorphic events.
TruffleSplittingGrowthLimitdouble1.5Runtime
Disable call target splitting if the number of nodes created by splitting exceeds this factor times node count. 
TruffleSplittingMaxCalleeSizeint100Runtime
Disable call target splitting if tree size exceeds this limit. 
TruffleSplittingMaxNumberOfSplitNodesint500000Runtime
Disable call target splitting if number of nodes created by splitting exceeds this limit.
TruffleSplittingMaxPropagationDepthint5Runtime
Propagate info about a polymorphic specialize through maximum this many call targets. 
TruffleSplittingTraceEventsboolfalseRuntime
Trace details of splitting events and decisions.
TruffleSplittingbooltrueRuntime
Enable call target splitting.
TruffleTimeThresholdint50000Runtime
Defines the maximum timespan in milliseconds that is required for a call target to be queued for compilation. 
TruffleTraceSplittingSummaryboolfalseRuntime
Used for debugging the splitting implementation. Prints splitting summary directly to stdout on shutdown.
TruffleUseFrameWithoutBoxingbooltrueRuntime
TrustFinalDefaultFieldsbooltrueRuntime
Determines whether to treat final fields with default values as constant.
TypeCheckMaxHintsint2Runtime
The maximum number of profiled types that will be used when compiling a profiled type check. Note that 
TypeCheckMinProfileHitProbability also influences whether profiling info is used in compiled type checks.
TypeCheckMinProfileHitProbabilitydouble0.5Runtime
If the probability that a type check will hit one the profiled types (up to TypeCheckMaxHints) is below this value, the 
type check will be compiled without profiling info.
UninterruptibleWarningsAreFatalbooltrueHosted
Warnings for @Uninterruptible annotations are fatal.
UnresolvedIsErrorbooltrueRuntime
Report unresolved elements as errors.
UnrollMaxIterationsint16Runtime
UnsafeAutomaticSubstitutionsLogLevelint1Hosted
Unsafe automatic substitutions logging level: Disabled=0, Basic=1, Info=2, Debug=3.). 
UnsafeOffsetWarningsAreFatalboolfalseHosted
Print unsafe operation offset warnings.).
UseCAPCacheboolfalseHosted
Indicate the C Annotation Processor to use previously cached native information when generating C Type information.
UseCardRememberedSetHeapbooltrueHosted
Use a card remembered set heap for GC.
UseCompilationStatisticsboolfalseRuntime
Enables CompilationStatistics.
UseEncodedGraphsboolfalseRuntime
Encode and decode snippets and substitutions before parsing to test libgraal code path. This option is ignored in the 
context of libgraal.
UseExceptionProbabilitybooltrueRuntime
UseGraalStubsbooltrueRuntime
Use Graal-generated stubs for complicated LIR operations instead of embedding all the emitted code.
UseIndexMaskingboolfalseRuntime
Use index masking after bounds check to mitigate speculative execution attacks.
UseLoopLimitChecksbooltrueRuntime
UseOnlyWritableBootImageHeapboolfalseHosted
Use only a writable native image heap.
UseServiceLoaderFeaturebooltrueHosted
Automatically register services for run-time lookup using ServiceLoader.
UseSnippetGraphCachebooltrueRuntime
Use a cache for snippet graphs.
UseSnippetTemplateCachebooltrueRuntime
Use a LRU cache for snippet templates.
UseStackBasePointerboolfalseHosted
Saves stack base pointer on the stack on method entry.
UseTrappingNullChecksbooltrueRuntime
Use traps for null checks instead of explicit null-checks.
UseTypeCheckHintsbooltrueRuntime
UserRequestedGCPolicyString"com.oracle.svm.core.genscavenge.HeapPolicy$AlwaysCollectCompletely"Hosted
Policy used when users request garbage collection.
UserRequestedGCThresholdint16777216Runtime
Defines the upper bound for the number of remaining bytes in the young generation that cause a collection when 
`System.gc` is called.
VerboseGCboolfalseRuntime
Print more information about the heap before and after each collection.
VerifyBalancedMonitorsboolfalseRuntime
Emit extra code to dynamically check monitor operations are balanced.
VerifyDeoptimizationEntryPointsboolfalseHosted
Verify that all possible deoptimization entry points have been properly compiled and registered in the metadata.
VerifyGraalGraphEdgesboolfalseRuntime
Perform expensive verification of graph inputs, usages, successors and predecessors.
VerifyGraalGraphsbooltrueRuntime
Verify graphs often during compilation when assertions are turned on.
VerifyGraalPhasesSizeboolfalseRuntime
Verify before - after relation of the relative, computed, code size of a graph.
VerifyHeapAfterCollectionboolfalseHosted
Verify the heap after each collection.
VerifyHeapAtReturnboolfalseRuntime
Perform platform dependent validation of the Java heap at returns.
VerifyHeapBeforeCollectionboolfalseHosted
Verify the heap before each collection.
VerifyHeapboolfalseHosted
Verify the heap before and after each collection.
VerifyKillCFGUnusedNodesboolfalseRuntime
Verify that there are no new unused nodes when performing killCFG.
VerifyNamingConventionsboolfalseHosted
Verify naming conventions during image construction.
VerifyPhasesboolfalseRuntime
VerifyStackAfterCollectionboolfalseHosted
Verify the stack after each collection.
VerifyStackBeforeCollectionboolfalseHosted
Verify the stack before each collection.
VerifyStringNoneRuntime
Pattern for specifying scopes in which logging is enabled. See the Dump option for the pattern syntax.
ZapChunksboolfalseHosted
Zap memory chunks.
ZapConsumedHeapChunksboolfalseHosted
Zap consumed memory chunks.
ZapProducedHeapChunksboolfalseHosted
Zap produced memory chunks.
ZapStackOnMethodEntryboolfalseRuntime
Default: - (disabled).