Perform method inlining in the AOT compiled native image.
AOTInliningDepthToSizeRate
H
double
2.5
AOTInliningSizeMaximum
H
long
300
AOTInliningSizeMinimum
H
long
50
AOTTrivialInline
H
boolean
Perform trivial method inlining in the AOT compiled native image.
AOTVerifyOops
H
boolean
Generate verify oop checks in AOT code.
APIFunctionPrefix
H
string
graal_
Prefix that is added to the names of API functions.
ASMInstructionProfiling
H
string
None
Enables instruction profiling on assembler level. Valid values are a comma separated list of supported instructions. Compare with subclasses of Assembler.InstructionCounter.
AbortOnBenchmarkCounterOverflow
H
boolean
Abort VM with SIGILL if benchmark counters controlled by the (Generic|Timed|Benchmark)DynamicCounters.
AddAllCharsets
H
boolean
Make all hosted charsets available at run time.
AddAllFileSystemProviders
H
boolean
Make all supported providers returned by FileSystemProvider.installedProviders() available at run time.
AggregatedMetricsFile
H
string
None
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.
AliasArrayTypeFlows
H
boolean
Model all array type flows using a unique elements type flow abstraction.
AlignedHeapChunkSize
H
long
1048576
The size of an aligned chunk.
AllocateInstancePrefetchLines
H
long
1
Number of cache lines to load after the object address using prefetch instructions.
AllocatePrefetchDistance
H
long
256
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.
AllocatePrefetchInstr
H
long
0
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.
AllocatePrefetchLines
H
long
3
Number of cache lines to load after the array allocation using prefetch instructions.
AllocatePrefetchStepSize
H
long
16
Sets the step size (in bytes) for sequential prefetch instructions.
AllocatePrefetchStyle
H
long
1
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.
AllocationBeforePhysicalMemorySize
H
long
1048576
Bytes that can be allocated before (re-)querying the physical memory size.
AllocationProfiling
H
boolean
Enable runtime profiling of allocation.
AllocationSiteSensitiveHeap
H
boolean
A context sensitive heap means that each heap allocated object is modeled by using at least the allocation site.
AllowFoldMethods
H
boolean
Allow MethodTypeFlow to see @Fold methods.
AllowIncompleteClasspath
H
boolean
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.
AllowVMInspection
H
boolean
Enables features that allow the VM to be inspected during runtime.
AlwaysInlineIntrinsics
H
boolean
Unconditionally inline intrinsics.
AlwaysInlineVTableStubs
H
boolean
AnalysisContextSensitivity
H
string
insens
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).
AnalysisSizeCutoff
H
long
8
The maximum size of type and method profiles returned by the static analysis. -1 indicates no limitation.
AnalysisStatisticsFile
H
string
None
Analysis results statistics file.
BenchmarkCounterPrintingCutoff
H
boolean
Use a cutoff to print only most significant counters.
BenchmarkCountersDumpDynamic
H
boolean
Dump dynamic counters.
BenchmarkCountersDumpStatic
H
boolean
Dump static counters.
BenchmarkCountersFile
H
string
None
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.
BenchmarkDynamicCounters
H
string
None
Turn on the benchmark counters. The format of this option is:.
BitcodeOptimizations
H
boolean
Enable LLVM bitcode optimizations.
BootstrapInitializeOnly
H
boolean
Do not compile anything on bootstrap but just initialize the compiler.
BootstrapTimeout
H
double
15
Maximum time in minutes to spend bootstrapping (0 to disable this limit).
BootstrapWatchDogCriticalRateRatio
H
double
0.25
Ratio of the maximum compilation rate below which the bootstrap compilation rate must not fall (0 or less disables monitoring).
CAPCacheDir
H
string
Directory where information generated by the CAnnotation Processor are cached.
CCompilerOption
H
string
None
Provide custom C compiler option used for query code compilation.
CCompilerPath
H
string
None
Provide custom path to C compiler used for query code compilation and linking.
CLibraryPath
H
string
None
Search path for C libraries passed to the linker (list of comma-separated directories).
CPUFeatures
H
string
None
Comma separated list of CPU features that will be used for image generation. The specific options available are platform dependent. For AMD64, SSE and SSE2 are enabled by default. 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, SHA, FMA. On AArch64, no features are enabled by default. Available features are: FP, ASIMD, EVTSTRM, AES, PMULL, SHA1, SHA2, CRC32, LSE, STXR_PREFETCH, A53MAC.
CStandard
H
string
C89
C standard to use in header files. Possible values are: [C89, C99, C11].
CanOmitFrame
H
boolean
CanonicalGraphStringsCheckConstants
H
boolean
Exclude virtual nodes when dumping canonical text for graphs.
CanonicalGraphStringsExcludeVirtuals
H
boolean
Exclude virtual nodes when dumping canonical text for graphs.
CanonicalGraphStringsRemoveIdentities
H
boolean
Attempts to remove object identity hashes when dumping canonical text for graphs.
CheckRecurringCallbackOnNativeToJavaTransition
H
boolean
Test whether a thread's recurring callback is pending on each transition from native code to Java.
CheckToolchain
H
boolean
Check if native-toolchain is known to work with native-image.
Class
H
string
Class containing the default entry point method. Optional if --shared is used.
ClassInitialization
H
string
None
A comma-separated list of classes appended with their initialization strategy (':build_time', ':rerun', or ':run_time').
ClearMetricsAfterBootstrap
H
boolean
Clear the debug metrics after bootstrap.
CodeAlignment
H
long
16
Alignment of AOT and JIT compiled code in bytes.
CodeCacheCounters
H
boolean
Count accesses to the image and runtime code info table.
CodeInfoEncoderCounters
H
boolean
Statistics about code and deoptimization information.
CodeInfoIndexGranularity
H
long
256
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.
CompilationBailoutAsFailure
H
boolean
Treat compilation bailouts like compilation failures.
CompilationCountLimit
H
long
0
The number of compilations allowed for any method before the VM exits (a value of 0 means there is no limit).
CompilationExcludePhases
H
string
None
Exclude certain phases from compilation, either unconditionally or with a method filter.
CompilationExpirationPeriod
H
long
300
Time limit in seconds before a compilation expires (0 to disable the limit). The compilation alarm will be implicitly disabled if assertions are enabled.
CompilationFailureAction
H
string
Silent
Specifies the action to take when compilation fails.
CompilationWatchDogStackTraceInterval
H
double
60
Interval in seconds between a watch dog reporting stack traces for long running compilations.
CompilationWatchDogStartDelay
H
double
0
Delay in seconds before watch dog monitoring a compilation (0 disables monitoring).
CompileGraalWithC1Only
H
boolean
In tiered mode compile Graal and JVMCI using optimized first tier code.
CompilerBackend
H
string
lir
Backend used by the compiler.
CompilerConfiguration
H
string
None
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.
ConditionalElimination
H
boolean
ConditionalEliminationMaxIterations
H
long
4
ConfigurationFileDirectories
H
string
None
Directories directly containing configuration files for dynamic features at runtime.
ConfigurationResourceRoots
H
string
None
Resource path above configuration resources for dynamic features at runtime.
Count
H
string
None
Pattern for specifying scopes in which counters are enabled. See the Dump option for the pattern syntax. An empty value enables all counters unconditionally.
CountWriteBarriers
H
boolean
Instrument write barriers with counters.
Counters
H
string
None
Comma separated names of counters that are enabled irrespective of the value for Count option. An empty value enables all counters unconditionally.
CrashAt
H
string
None
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.
CustomLD
H
string
Path to a custom ld binary for LLVM linking.
DashboardAll
H
boolean
In the dashboard dump, include all available information about the native image (this takes precedence over more specific flags).
DashboardBgv
H
boolean
Set dashboard to use BGV format for dump.
DashboardCode
H
boolean
In the dashboard dump, include the breakdown of the code size across different packages.
DashboardDump
H
string
None
Enable dashboard dumps to the specified file.
DashboardHeap
H
boolean
In the dashboard dump, include the breakdown of the object sizes in the heap across different classes.
DashboardJson
H
boolean
Set dashboard to use JSON format for dump.
DashboardPointsTo
H
boolean
In the dashboard dump, include the information about the points-to analysis.
DashboardPretty
H
boolean
Set dashboard to use pretty print in JSON format.
DeadlockWatchdogExitOnTimeout
H
boolean
Exit the image builder VM after printing call stacks.
DeadlockWatchdogInterval
H
long
10
The interval in minutes between watchdog checks (0 disables the watchdog).
DebugInfoSourceCacheRoot
H
string
sources
Directory under which to create source file cache for Application or GraalVM classes.
DebugInfoSourceSearchPath
H
string
None
Search path for source files for Application or GraalVM classes (list of comma-separated directories or jar files).
DebugStubsAndSnippets
H
boolean
Enable debug output for stub code generation and snippet preparation.
DeleteLocalSymbols
H
boolean
Use linker option to remove all local symbols from image.
DeoptALot
H
boolean
DeoptAfterOSR
H
boolean
Deoptimize OSR compiled code when the OSR entry loop is finished if there is no mature profile available for the rest of the method.
DeoptimizeAll
H
boolean
Compiles all methods as deoptimization targets for testing.
DeoptsToDisableOptimisticOptimization
H
long
40
DetailedAsserts
H
boolean
Enable expensive assertions if normal assertions (i.e. -ea or -esa) are enabled.
DetectUserDirectoriesInImageHeap
H
boolean
When set to true, the image generator verifies that the image heap does not contain a home directory as a substring.
DiagnoseDumpLevel
H
long
3
Specify the DumpLevel if CompilationFailureAction#Diagnose is used.See CompilationFailureAction for details. file:doc-files/CompilationFailureActionHelp.txt.
DisableIntercept
H
boolean
Disable intercepting exceptions in debug scopes.
DivertParameterReturningMethod
H
boolean
Analysis: Detect methods that return one of their parameters and hardwire the parameter straight to the return.
Dump
H
string
None
Filter pattern for specifying scopes in which dumping is enabled.
DumpHeap
H
string
None
Dump the heap at a specific time during image building.The option accepts a list of comma separated phases, any of: after-analysis, before-compilation.
DumpLLVMStackMap
H
string
None
Dump contents of the generated stackmap to the specified file.
DumpOnError
H
boolean
Send compiler IR to dump handlers on error.
DumpOnPhaseChange
H
string
None
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.
DumpPath
H
string
graal_dumps
The directory where various Graal dump files are written.
DumpTargetInfo
H
boolean
Show native-toolchain information and image-build settings.
DumpThreadStacksOnSignal
H
boolean
Dumps all thread stacktraces on SIGQUIT/SIGBREAK.
DumpingErrorsAreFatal
H
boolean
Treat any exceptions during dumping as fatal.
DuplicateIrreducibleLoops
H
boolean
When enabled, some limited amount of duplication will be performed in order compile code containing irreducible loops.
DynamicCountersPrintGroupSeparator
H
boolean
Use grouping separators for number printing.
DynamicProxyConfigurationFiles
H
string
None
One or several (comma-separated) paths to JSON files that specify lists of interfaces that define Java proxy classes.
DynamicProxyConfigurationResources
H
string
None
Resources describing program elements to be made available for reflection (see ProxyConfigurationFiles).
DynamicProxyTracing
H
boolean
Enable trace logging for dynamic proxy.
EagerSnippets
H
boolean
Eagerly construct extra snippet info.
EmitStringEncodingSubstitutions
H
boolean
Emit substitutions for UTF16 and latin1 compression.
EnableAllSecurityServices
H
boolean
Add all security service classes to the generated image.
EnableLoggingFeature
H
boolean
Enable the feature that provides support for logging.
EnableSecurityServicesFeature
H
boolean
Enable the feature that provides support for security services.
EnableURLProtocols
H
string
None
List of comma separated URL protocols to enable.
EnforceMaxRuntimeCompileMethods
H
boolean
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
H
string
Prefix that is added to the names of entry point methods.
EscapeAnalysisIterations
H
long
2
EscapeAnalysisLoopCutoff
H
long
20
EscapeAnalyzeOnly
H
string
None
ExactFullUnrollMaxNodes
H
long
800
ExactPartialUnrollMaxNodes
H
long
200
ExcludeResources
H
string
None
Regexp to match names of resources to be excluded from the image.
ExhaustiveHeapScan
H
boolean
Scan all objects reachable from roots for analysis. By default false.
ExitAfterAnalysis
H
boolean
Exit after analysis.
ExitAfterCAPCache
H
boolean
Exit image generation after C Annotation Processor Cache creation.
ExitAfterQueryCodeGeneration
H
boolean
Output query code for target platform without executing it.
ExitAfterRelocatableImageWrite
H
boolean
Exit after writing relocatable file.
ExitVMOnException
H
boolean
Alias for CompilationFailureActionExitVM.
ExtendedAsserts
H
boolean
Enable extended asserts which slow down analysis.
FailedLoopExplosionIsFatal
H
boolean
Do not bail out but throw an exception on failed loop explosion.
FallbackExecutorClasspath
H
string
None
Internal option used to specify Classpath for FallbackExecutor.
FallbackExecutorJavaArg
H
string
None
Internal option used to specify java arguments for FallbackExecutor.
FallbackExecutorMainClass
H
string
None
Internal option used to specify MainClass for FallbackExecutor.
FallbackExecutorSystemProperty
H
string
None
Internal option used to specify system properties for FallbackExecutor.
FallbackThreshold
H
long
5
Define when fallback-image generation should be used.
Features
H
string
None
A comma-separated list of fully qualified Feature implementation classes.
FoldSecurityManagerGetter
H
boolean
Fold SecurityManager getter.
ForceNoROSectionRelocations
H
boolean
Use only a writable native image heap (requires ld.gold linker).
FullUnroll
H
boolean
FullUnrollConstantCompareBoost
H
long
15
FullUnrollMaxApplication
H
long
60
FullUnrollMaxIterations
H
long
600
FullUnrollMaxNodes
H
long
400
GCDebugStartCycle
H
long
-1
Start tracing compiled GC barriers after N garbage collections (disabled if N < 0).
GatherSafepointStatistics
H
boolean
Gather statistics about each safepoint.
GenLoopSafepoints
H
boolean
GenerateDebugInfo
H
long
0
Insert debug info into the generated native image or library.
GeneratePIC
H
boolean
Generate position independent code.
GenericDynamicCounters
H
boolean
Turn on the benchmark counters, and displays the results on VM shutdown.
GraalArithmeticStubs
H
boolean
Use Graal arithmetic stubs instead of HotSpot stubs where possible.
GraalCompileOnly
H
string
None
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.
GraphCompressionThreshold
H
long
70
Graal graph compression is performed when percent of live nodes falls below this value.
GreyToBlackObjRefDemographics
H
boolean
Develop demographics of the object references visited.
GreyToBlackObjectVisitorDiagnosticHistory
H
long
0
Length of GreyToBlackObjectVisitor history for diagnostics. 0 implies no history is kept.
GuardPriorities
H
boolean
HeapChunkHeaderPadding
H
long
0
Number of bytes at the beginning of each heap chunk that are not used for payload data, i.e., can be freely used as metadata by the heap chunk provider.
HotSpotDeoptExplicitExceptions
H
boolean
Testing only option that forces deopts for exception throws.
HotSpotPostOnExceptions
H
boolean
Testing only option that forces deopts for exception throws.
HotSpotPrintInlining
H
boolean
Print inlining optimizations.
HybridStaticContext
H
boolean
Enable hybrid context for static methods, i.e. uses invocation site as context for static methods.
ImageHeapCardMarking
H
boolean
Enables card marking for image heap objects, which arranges them in chunks. Automatically enabled when supported.
ImageObjectTreeExpandRoots
H
string
Override the default suppression of specified roots. See: Reports.md.
ImageObjectTreeExpandTypes
H
string
Override the default suppression of specified types. See: Reports.md.
ImageObjectTreeSuppressRoots
H
string
Suppress the expansion of specified roots. See: Reports.md.
ImageObjectTreeSuppressTypes
H
string
Suppress the expansion of specified types. See: Reports.md.
ImageSymbolsPrefix
H
string
Common prefix used by method symbols in image.
ImmutableCode
H
boolean
Try to avoid emitting code where patching is required.
IncludeAllTimeZones
H
boolean
When true, all time zones will be pre-initialized in the image.
IncludeLLVMDebugInfo
H
long
0
Include debugging info in the generated image (for LLVM backend).
IncludeNodeSourcePositions
H
boolean
Track NodeSourcePositions during runtime-compilation.
IncludeResourceBundles
H
string
None
Comma separated list of bundles to be included into the image.
IncludeResources
H
string
None
Regexp to match names of resources to be included in the image.
IncludeTimeZones
H
string
The time zones, in addition to the default zone of the host, that will be pre-initialized in the image.
The initial garbage collection policy, as a fully-qualified class name (might require quotes or escaping).
Inline
H
boolean
Enable inlining.
InlineDuringParsing
H
boolean
Inlines trivial methods during bytecode parsing.
InlineDuringParsingMaxDepth
H
long
10
Maximum depth when inlining during bytecode parsing.
InlineEverything
H
boolean
InlineIntrinsicsDuringParsing
H
boolean
Inlines intrinsic methods during bytecode parsing.
InlineMegamorphicCalls
H
boolean
Inline calls with megamorphic type profile (i.e., not all types could be recorded).
InlineMonomorphicCalls
H
boolean
Inline calls with monomorphic type profile.
InlinePartialIntrinsicExitDuringParsing
H
boolean
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.
InlinePolymorphicCalls
H
boolean
Inline calls with polymorphic type profile.
InlineVTableStubs
H
boolean
InliningDepthError
H
long
1000
Maximum inlining depth during partial evaluation before reporting an infinite recursion.
InspectServerContentPath
H
string
inspect
Path to the contents of the Inspect web server.
InstallExitHandlers
H
boolean
Provide java.lang.Terminator exit handlers for executable images.
InterceptBailout
H
boolean
Intercept also bailout exceptions.
Intrinsify
H
boolean
Use compiler intrinsifications.
JNI
H
boolean
Enable Java Native Interface (JNI) support.
JNIConfigurationFiles
H
string
None
Files describing program elements to be made accessible via JNI (for syntax, see ReflectionConfigurationFiles).
JNIConfigurationResources
H
string
None
Resources describing program elements to be made accessible via JNI (see JNIConfigurationFiles).
JNIExportSymbols
H
boolean
Export Invocation API symbols.
JNIVerboseLookupErrors
H
boolean
Report information about known JNI elements when lookup fails.
LIRDynMoveProfileMethod
H
boolean
Enable dynamic move profiling per method.
LIROptConstantLoadOptimization
H
boolean
Enable constant load optimization.
LIROptControlFlowOptimizer
H
boolean
LIROptEdgeMoveOptimizer
H
boolean
LIROptLSRAEliminateSpillMoves
H
boolean
Enable spill move elimination.
LIROptLSRAOptimizeSpillPosition
H
boolean
Enable spill position optimization.
LIROptLSStackSlotAllocator
H
boolean
Use linear scan stack slot allocation.
LIROptNullCheckOptimizer
H
boolean
LIROptRedundantMoveElimination
H
boolean
LIROptStackMoveOptimizer
H
boolean
LIROptimization
H
boolean
Enable LIR level optimiztations.
LIRProfileMethods
H
boolean
Enables profiling of methods.
LIRProfileMoves
H
boolean
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).
LLVMMaxFunctionsPerBatch
H
long
1000
Maximum size of batches used for LLVM compilation. 0 means a single batch, 1 means all functions separately.
LSRAOptSplitOnly
H
boolean
LSRA optimization: Only split but do not reassign.
LSRAOptimization
H
boolean
Enable LSRA optimization.
LargeArrayThreshold
H
long
0
The size at or above which an array will be allocated in its own unaligned chunk. 0 implies (AlignedHeapChunkSize / 8).
LimitInlinedInvokes
H
double
5
LimitObjectArrayLength
H
boolean
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.
LinkerRPath
H
string
None
Path passed to the linker as the -rpath (list of comma-separated directories).
ListMetrics
H
boolean
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.
LoadExceptionObjectInVM
H
boolean
Use a VM runtime call to load and clear the exception object from the thread at the start of a compiled exception handler.
Log
H
string
None
Pattern for specifying scopes in which logging is enabled. See the Dump option for the pattern syntax.
LogFile
H
string
None
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(). If the current runtime is in an isolate, then %i will be replaced by '<isolate id>' otherwise %i is removed. An %I is the same as %i except that the replacement is '<isolate id>@<isolate address>'. Using %o as filename sends logging to System.out whereas %e sends logging to System.err.
LogVerbose
H
boolean
Enable more verbose log output when available.
LoopHeaderAlignment
H
long
16
Alignment in bytes for loop header blocks.
LoopMaxUnswitch
H
long
3
LoopPeeling
H
boolean
LoopPredication
H
boolean
LoopPredicationMainPath
H
boolean
LoopUnswitch
H
boolean
LoopUnswitchFrequencyBoost
H
double
10
LoopUnswitchMaxIncrease
H
long
500
LoopUnswitchTrivial
H
long
10
MatchExpressions
H
boolean
Allow backend to match complex expressions.
MaxCallingContextDepth
H
long
0
The maximum length of the methods context chains.
MaxCallingContextWidth
H
long
0
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.
MaxCompilationProblemsPerAction
H
long
2
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.
MaxConstantObjectsPerType
H
long
100
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.
MaxDuplicationFactor
H
double
2
How much duplication can happen because of irreducible loops before bailing out.
MaxHeapContextDepth
H
long
0
The maximum length of the context used to model a heap object in addition to the allocation site; used only when ContextSensitiveHeap is enabled.
MaxHeapContextWidth
H
long
0
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.
MaxInvokesInTrivialMethod
H
long
1
Maximum number of invokes in a method so that it is considered trivial (for testing only).
MaxNodesInTrivialLeafMethod
H
long
40
Maximum number of nodes in a method so that it is considered trivial, if it does not have any invokes.
MaxNodesInTrivialMethod
H
long
20
Maximum number of nodes in a method so that it is considered trivial.
MaxObjectSetSize
H
long
100
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.
MaxReachableTypes
H
long
-1
Maximum number of types allowed in the image. Used for tests where small number of types in necessary.
MaxRuntimeCompileMethods
H
string
None
Maximum number of methods allowed for runtime compilation.
MaxSurvivorSpaces
H
long
0
Maximum number of survivor spaces.
MaxTemplatesPerSnippet
H
long
50
MaxUnrolledObjectZeroingStores
H
long
8
Define the maximum number of stores for which the loop that zeroes out objects is unrolled.
MaximumDesiredSize
H
long
20000
Maximum desired size of the compiler graph in nodes.
MaximumEscapeAnalysisArrayLength
H
long
128
The maximum length of an array that will be escape analyzed.
MaximumInliningSize
H
long
300
Inlining is explored up to this number of nodes in the graph for each call site.
MaximumLoopExplosionCount
H
long
10000
Max number of loop explosions per method.
MaximumRecursiveInlining
H
long
5
Maximum level of recursive inlining.
MegamorphicInliningMinMethodProbability
H
double
0.33
Minimum probability for methods to be inlined for megamorphic type profiles.
MemUseTrackers
H
string
None
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.
Method
H
string
main
Name of the main entry point method. Optional if --shared is used.
MethodFilter
H
string
None
Pattern for matching methods. The syntax for a pattern is:.
MethodFilterRootOnly
H
boolean
Only check MethodFilter against the root method in the context if true, otherwise check all methods.
MethodInlineBailoutLimit
H
long
5000
Per-compilation method inlining exploration limit before giving up (use 0 to disable).
MetricsFile
H
string
None
File to which metrics are dumped per compilation.
MinCallingContextDepth
H
long
0
The minimum length of the methods context chains.
MinHeapContextDepth
H
long
0
The minimum length of the context used to model a heap object in addition to the allocation site; used only when ContextSensitiveHeap is enabled.
MinimalBulkZeroingSize
H
long
2048
If applicable, use bulk zeroing instructions when the zeroing size in bytes exceeds this threshold.
MinimumPeelFrequency
H
double
0.35
MultiThreaded
H
boolean
Enable support for threads and and thread-local variables (disable for single-threaded implementation).
MustNotSynchronizeWarningsAreFatal
H
boolean
Warnings for @MustNotSynchronize annotations are fatal.
NDCV
H
long
0
Run level for NoDeadCodeVerifyHandler (0 off, 1 info, 2 verbose, 3 fatal).
Name
H
string
Name of the output file to be generated.
NativeArchitecture
H
boolean
Overrides CPUFeatures and uses the native architecture, i.e., the architecture of a machine that builds an image. NativeArchitecture takes precedence over CPUFeatures.
NativeLinkerOption
H
string
None
Pass the provided raw option that will be appended to the linker command to produce the final binary. The possible options are platform specific and passed through without any validation.
NeverInline
H
string
None
Pattern for disabling inlining of methods during image generation.
NewCAPCache
H
boolean
Create a C Annotation Processor Cache. Will erase any previous cache at that same location.
NodeCounters
H
boolean
Counts the number of instances of each node class.
NonFatalIdenticalCompilationSnapshots
H
long
20
Number of contiguous identical compiler thread stack traces allowed before the VM exits on the basis of a stuck compilation.
NumberOfAnalysisThreads
H
long
-1
The number of threads to use for analysis during native image generation. The number must be smaller than the NumberOfThreads.
NumberOfThreads
H
long
2
The maximum number of threads to use concurrently during native image generation.
ObjdumpExecutables
H
string
None
Comma separated list of candidate GNU objdump executables. If not specified, disassembling via GNU objdump is disabled. Otherwise, the first existing executable in the list is used.
OmitHotExceptionStacktrace
H
boolean
OptAssumptions
H
boolean
OptConvertDeoptsToGuards
H
boolean
OptDeoptimizationGrouping
H
boolean
OptDevirtualizeInvokesOptimistically
H
boolean
OptEarlyReadElimination
H
boolean
OptEliminateGuards
H
boolean
OptFloatingReads
H
boolean
OptImplicitNullChecks
H
boolean
OptReadElimination
H
boolean
OptScheduleOutOfLoops
H
boolean
Optimize
H
long
2
Control native-image code optimizations: 0 - no optimizations, 1 - basic optimizations, 2 - aggressive optimizations.
PageSize
H
long
0
Define PageSize of a machine that runs the image. The default 0 ( same as host machine page size).
ParseRuntimeOptions
H
boolean
Parse and consume standard options and system properties from the command line arguments when the VM is created.
PartialEscapeAnalysis
H
boolean
PartialUnroll
H
boolean
Path
H
string
None
Directory of the image file to be generated.
PeelALot
H
boolean
PreserveFramePointer
H
boolean
Saves stack base pointer on the stack on method entry.
PrintAOTCompilation
H
boolean
Print logging information during compilation.
PrintAnalysisCallTree
H
boolean
Print analysis call tree, a breadth-first tree reduction of the call graph.
PrintAnalysisStatistics
H
boolean
Print analysis results statistics.
PrintBackendCFG
H
boolean
Enable dumping LIR, register allocation and code generation info to the C1Visualizer.
PrintBlockMapping
H
boolean
Enable dumping CFG built during initial BciBlockMapping.
PrintCFG
H
boolean
Enable dumping to the C1Visualizer. Enabling this option implies PrintBackendCFG.
PrintCanonicalGraphStringFlavor
H
long
0
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).
PrintCanonicalGraphStrings
H
boolean
Enable dumping canonical text from for graphs.
PrintClassInitialization
H
boolean
Prints class initialization info for all classes detected by analysis.
PrintCompilation
H
boolean
Print an informational line to the console for each completed compilation.
PrintFeatures
H
boolean
Print features-specific information.
PrintFlags
H
string
None
Show available options based on comma-separated option-types (allowed categories: User, Expert, Debug).
PrintFlagsWithExtraHelp
H
string
None
Print extra help, if available, based on comma-separated option names. Pass * to show all options that contain extra help.
PrintGraph
H
string
File
Where IdealGraphVisualizer graph dumps triggered by Dump or DumpOnError should be written.
PrintGraphFile
H
boolean
Setting to true sets PrintGraphfile, setting to false sets PrintGraphnetwork.
PrintGraphHost
H
string
127.0.0.1
Host part of the address to which graphs are dumped.
PrintGraphPort
H
long
4445
Port part of the address to which graphs are dumped in binary format.
PrintGraphWithSchedule
H
boolean
Schedule graphs as they are dumped.
PrintHeapHistogram
H
boolean
Print class statistics of native image heap.
PrintIRWithLIR
H
boolean
Print HIR along side LIR as the latter is generated.
PrintImageElementSizes
H
boolean
Print the sizes of the elements of the built image.
PrintImageHeapPartitionSizes
H
boolean
Print the sizes of the native image heap as the image is built.
PrintImageObjectTree
H
boolean
Print boot image object hierarchy.
PrintJNIMethods
H
boolean
Print JNI methods added to generated image.
PrintLIRWithAssembly
H
boolean
Include the LIR as comments with the final assembly.
PrintMethodHistogram
H
boolean
Print statistics of methods in native image heap.
PrintMustNotSynchronizePath
H
boolean
Print path for @MustNotSynchronize warnings.
PrintMustNotSynchronizeWarnings
H
boolean
Print warnings for @MustNotSynchronize annotations.
PrintPointsToStatistics
H
boolean
Report analysis statistics.
PrintProfilingInformation
H
boolean
Print profiling information when parsing a method's bytecode.
PrintRestrictHeapAccessPath
H
boolean
Print path for @RestrictHeapAccess warnings.
PrintRestrictHeapAccessWarnings
H
boolean
Print warnings for @RestrictHeapAccess annotations.
PrintRuntimeCompileMethods
H
boolean
Print call tree of methods available for runtime compilation.
PrintStaticTruffleBoundaries
H
boolean
Print truffle boundaries found during the analysis.
PrintSynchronizedAnalysis
H
boolean
Print types used for Java synchronization.
PrintUninterruptibleCalleeDOTGraph
H
boolean
Print (to stderr) a DOT graph of the @Uninterruptible annotations.
PrintUniverse
H
boolean
Print information about classes, methods, and fields that are present in the native image.
ProbabilisticProfiling
H
boolean
Control probabilistic profiling on AMD64.
ProfileAllocations
H
boolean
Enable profiling of allocation sites.
ProfileAllocationsContext
H
string
AllocatingMethod
Control the naming and granularity of the counters when using ProfileAllocations.
ProfileAnalysisOperations
H
boolean
Track the progress of the static analysis.
ProfileBackedges
H
boolean
Emit profiling of backedges.
ProfileCompiledMethods
H
boolean
ProfileConstantObjects
H
boolean
Track the creation of constant objects.
ProfileDeoptimization
H
boolean
Print logging information during object file writing.
ProfileInvokes
H
boolean
Emit profiling of invokes.
ProfileMonitors
H
boolean
Enable profiling of monitor operations.
ProfileSimpleMethods
H
boolean
Profile simple methods.
QueryCodeDir
H
string
Directory where query code for target platform should be output.
RawConditionalElimination
H
boolean
ReadEliminationMaxLoopVisits
H
long
5
ReassociateExpressions
H
boolean
Re-associate loop invariants and constants.
ReduceDCE
H
boolean
Disable optional dead code eliminations.
ReflectionConfigurationFiles
H
string
None
One or several (comma-separated) paths to JSON files that specify which program elements should be made available via reflection.
ReflectionConfigurationResources
H
string
None
Resources describing program elements to be made available for reflection (see ReflectionConfigurationFiles).
ReflectionPluginTracing
H
boolean
Enable trace logging for reflection plugins.
RegisterPressure
H
string
None
Comma separated list of registers that register allocation is limited to.
RelaxTypeFlowStateConstraints
H
boolean
Allow a type flow state to contain types not compatible with its declared type.
RemoveNeverExecutedCode
H
boolean
RemoveSaturatedTypeFlows
H
boolean
Enable the type flow saturation analysis performance optimization.
RemoveUnusedSymbols
H
boolean
Use linker option to prevent unreferenced symbols in image.
ReplaceInputsWithConstantsBasedOnStamps
H
boolean
ReportAnalysisForbiddenType
H
string
None
Report error if <typename>[:<UsageKind>{,<UsageKind>}] is discovered during analysis (valid values for UsageKind: InHeap, Allocated, Reachable).
ReportExceptionStackTraces
H
boolean
Show exception stack traces for exceptions during image building.).
ReportUnsafeOffsetWarnings
H
boolean
Print unsafe operation offset warnings.).
ReportUnsupportedElementsAtRuntime
H
boolean
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.
ResourceConfigurationFiles
H
string
None
Files describing Java resources to be included in the image.
ResourceConfigurationResources
H
string
None
Resources describing Java resources to be included in the image.
ReturnAfterAnalysis
H
boolean
Return after analysis.
ReturnSpecialRegs
H
boolean
Return special registers from functions in LLVM bitcode. This may decrease performance if the target doesn't support returning multiple values from a function.
RuntimeAssertions
H
string
None
Enable or disable Java assert statements at run time.
RuntimeSystemAssertions
H
boolean
Enable or disable Java system assertions at run time.
ScanObjectsParallel
H
boolean
Object scanning in parallel.
ServiceLoaderFeatureExcludeServiceProviders
H
string
None
Comma-separated list of service providers that should be excluded.
ServiceLoaderFeatureExcludeServices
H
string
None
Comma-separated list of services that should be excluded.
SharedLibrary
H
boolean
Build shared library.
ShowConfiguration
H
string
none
Writes to the VM log information about the compiler configuration selected.
ShowDumpFiles
H
boolean
Print the name of each dump file path as it's created.
ShowSubstitutionSourceInfo
H
boolean
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.
SimpleFastInflatedLocking
H
boolean
Handle simple cases for inflated monitors in the fast-path.
SimpleMethodCalls
H
long
1
Maximum number of calls in a simple method.
SimpleMethodGraphSize
H
long
256
Maximum number of nodes in a graph for a simple method.
SimpleMethodIndirectCalls
H
long
0
Maximum number of indirect calls in a simple moethod.
SmallCompiledLowLevelGraphSize
H
long
330
If the previous low-level graph size of the method exceeds the threshold, it is not inlined.
SnippetCounters
H
boolean
Enable counters for various paths in snippets.
SoftRefLRUPolicyMSPerMB
H
long
1000
Soft references: this number of milliseconds multiplied by the free heap memory in MByte is the time span for which a soft reference will keep its referent alive after its last access.
SpawnIsolates
H
long
1000
Support multiple isolates.
SpectrePHTBarriers
H
string
None
Select a strategy to mitigate speculative bounds check bypass (aka Spectre-PHT or Spectre V1).
SpectrePHTIndexMasking
H
boolean
Mask indices to scope access to allocation size after bounds check.
StackRedZoneSize
H
long
8192
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.
StackTrace
H
boolean
Provide method names for stack traces.
StackYellowZoneSize
H
long
32768
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.
StaticExecutable
H
boolean
Build statically linked executable (requires static libc and zlib).
StaticExecutableWithDynamicLibC
H
boolean
Builds a statically linked executable with libc dynamically linked.
StressExplicitExceptionCode
H
boolean
Stress the code emitting explicit exception throwing code.
StressInvokeWithExceptionNode
H
boolean
Stress the code emitting invokes with explicit exception edges.
StressTestEarlyReads
H
boolean
Stress the code by emitting reads at earliest instead of latest point.
StrictConfiguration
H
boolean
Causes unknown attributes in configuration objects to abort the image build instead of emitting a warning.
StrictQueryCodeCompilation
H
boolean
Use strict checks when performing query code compilation.
StringIndexOfLimit
H
long
4096
String.indexOf invocations will be evaluated at compile time if the receiver is a constant and its length is lower than this value.
SubstitutionFiles
H
string
None
Comma-separated list of file names with declarative substitutions.
SubstitutionResources
H
string
None
Comma-separated list of resource file names with declarative substitutions.
SupportCompileInIsolates
H
boolean
Support runtime compilation in separate isolates (enable at runtime with option CompileInIsolates).
SupportJsrBytecodes
H
boolean
SupportOSRWithLocks
H
boolean
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.
SupportRecurringCallback
H
boolean
Support a per-thread timer that is called at a specific interval.
SuppressStderr
H
boolean
Suppress console error output for unittests.
SuppressStdout
H
boolean
Suppress console normal output for unittests.
TempDirectory
H
string
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
H
string
ThrowUnsafeOffsetErrors
H
boolean
Throw unsafe operation offset errors.).
TierABackedgeNotifyFreqLog
H
long
16
Backedge notification frequency.
TierABackedgeProfileProbabilityLog
H
long
12
Backedge profile probability.
TierAInvokeInlineeNotifyFreqLog
H
long
-1
Inlinee invocation notification frequency (-1 means count, but do not notify).
TierAInvokeNotifyFreqLog
H
long
13
Invocation notification frequency.
TierAInvokeProfileProbabilityLog
H
long
8
Invocation profile probability.
TieredAOT
H
boolean
Do profiling and callbacks to tiered runtime.
Time
H
string
None
Pattern for specifying scopes in which timing is enabled. See the Dump option for the pattern syntax. An empty value enables all timers unconditionally.
TimedDynamicCounters
H
long
-1
Turn on the benchmark counters, and displays the results every n milliseconds.
Timers
H
string
None
Comma separated names of timers that are enabled irrespective of the value for Time option. An empty value enables all timers unconditionally.
TraceBytecodeParserLevel
H
long
0
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.
TraceClassInitialization
H
string
Comma-separated list of fully-qualified class names that class initialization is traced for.
TraceEscapeAnalysis
H
boolean
TraceExceptionHandlerStub
H
boolean
Trace execution of stub used to handle an exception thrown by a callee.
TraceHeapVerification
H
boolean
Trace heap verification.
TraceInlineDuringParsing
H
boolean
Traces inlining performed during bytecode parsing.
TraceInlining
H
boolean
Enable tracing of inlining decisions.
TraceInliningForStubsAndSnippets
H
boolean
Enable inlining decision tracing in stubs and snippets.
TraceLIRGeneratorLevel
H
long
0
The trace level for the LIR generator.
TraceLoggingFeature
H
boolean
When enabled, logging feature details are printed.
TraceMonitorsMethodFilter
H
string
None
Trace monitor operations in methods whose fully qualified name contains this substring.
TraceMonitorsTypeFilter
H
string
None
Trace monitor operations on objects whose type contains this substring.
TraceNativeToolUsage
H
boolean
Trace all native tool invocations as part of image building.
TraceObjectInstantiation
H
string
Comma-separated list of fully-qualified class names that object instantiation is traced for.
TraceObjectPromotion
H
boolean
Trace each object promotion (generates significant amounts of output).
TraceParserPlugins
H
boolean
Traces use of plugins during bytecode parsing.
TraceSecurityServices
H
boolean
Enable trace logging for the security services feature.
TraceServiceLoaderFeature
H
boolean
When enabled, each service loader resource and class will be printed out to standard output.
TraceStackVerification
H
boolean
Trace stack verification.
TraceUnwindStub
H
boolean
Trace execution of the stub that routes an exception to a handler in the calling frame.
TraceVMOperations
H
boolean
Trace VMOperation execution.
TrackAccessChain
H
boolean
Track the callers for methods and accessing methods for fields.
TrackInputFlows
H
boolean
Track the input for type flows.
TrackMemUse
H
string
None
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.
TrackNodeInsertion
H
boolean
Track source stack trace where a node was inserted into the graph.
TrackNodeSourcePosition
H
boolean
Track the NodeSourcePosition.
TreatRuntimeCodeInfoReferencesAsWeak
H
boolean
Determines if references from runtime-compiled code to Java heap objects should be treated as strong or weak.
TrivialInliningSize
H
long
10
Graphs with less than this number of nodes are trivial and therefore always inlined.
TruffleCheckBlackListedMethods
H
boolean
Fail if a method known as not suitable for partial evaluation is reachable for runtime compilation.
TruffleCheckFrameImplementation
H
boolean
Enforce that the Truffle runtime provides the only implementation of Frame.
TruffleCheckNeverPartOfCompilation
H
boolean
Check that CompilerAsserts.neverPartOfCompilation is not reachable for runtime compilation.
TruffleCompilerConfiguration
H
string
None
Select a compiler configuration for Truffle compilation (default: use Graal system compiler configuration).
TruffleInlineDuringParsing
H
boolean
Inline trivial methods in Truffle graphs during native image generation.
TruffleMultiThreaded
H
boolean
Enable support for Truffle background compilation.
TrufflePropagateCompilationErrors
H
boolean
Propagate Truffle compilation errors.
TrustFinalDefaultFields
H
boolean
Determines whether to treat final fields with default values as constant.
TypeCheckMaxHints
H
long
2
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.
TypeCheckMinProfileHitProbability
H
double
0.5
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.
TypeFlowSaturationCutoff
H
long
20
The maximum number of types recorded in a type flow. -1 indicates no limitation.
Force branch instructions to align with 32-bytes boundary, to mitigate the jcc erratum. See https://www.intel.com/content/dam/support/us/en/documents/processors/mitigations-jump-conditional-code-erratum.pdf for more details. If not set explicitly, the default value will be determined according to the CPU model.
UseCAPCache
H
boolean
Indicate the C Annotation Processor to use previously cached native information when generating C Type information.
UseCalleeSavedRegisters
H
boolean
Use callee saved registers to reduce spilling for low-frequency calls to stubs (if callee saved registers are supported by the architecture).
UseCardRememberedSetHeap
H
boolean
Use a card remembered set heap for GC.
UseCompilationStatistics
H
boolean
Enables CompilationStatistics.
UseContainerSupport
H
boolean
Enable detection and runtime container configuration support.
UseDedicatedVMOperationThread
H
boolean
Determines if VM operations should be executed in a dedicated thread.
UseEncodedGraphs
H
boolean
Encode and decode snippets and substitutions before parsing to test libgraal code path. This option is ignored in the context of libgraal.
UseExceptionProbability
H
boolean
UseGraalStubs
H
boolean
Use Graal-generated stubs for complicated LIR operations instead of embedding all the emitted code.
UseLegacyTypeCheck
H
boolean
Revert to using previous native-image type check.
UseLibC
H
string
glibc
Selects the libc implementation to use. Available implementations: glibc, musl.
UseLoopLimitChecks
H
boolean
UseReferenceHandlerThread
H
boolean
Populate reference queues in a separate thread rather than after a garbage collection.
UseServiceLoaderFeature
H
boolean
Automatically register services for run-time lookup using ServiceLoader.
UseSnippetGraphCache
H
boolean
Use a cache for snippet graphs.
UseSnippetTemplateCache
H
boolean
Use a LRU cache for snippet templates.
UseTrappingNullChecks
H
boolean
Use traps for null checks instead of explicit null-checks.
Policy used when user code requests garbage collection.
Verify
H
string
None
Pattern for specifying scopes in which logging is enabled. See the Dump option for the pattern syntax.
VerifyBalancedMonitors
H
boolean
Emit extra code to dynamically check monitor operations are balanced.
VerifyDeoptimizationEntryPoints
H
boolean
Verify that all possible deoptimization entry points have been properly compiled and registered in the metadata.
VerifyDirtyCardsAfterCollection
H
boolean
Verify dirty cards after each collection.
VerifyDirtyCardsBeforeCollection
H
boolean
Verify dirty cards before each collection.
VerifyGraalGraphEdges
H
boolean
Perform expensive verification of graph inputs, usages, successors and predecessors.
VerifyGraalGraphs
H
boolean
Verify graphs often during compilation when assertions are turned on.
VerifyGraalPhasesSize
H
boolean
Verify before - after relation of the relative, computed, code size of a graph.
VerifyHeap
H
boolean
Verify the heap before and after each collection.
VerifyHeapAfterCollection
H
boolean
Verify the heap after each collection.
VerifyHeapAtReturn
H
boolean
Perform platform dependent validation of the Java heap at returns.
VerifyHeapBeforeCollection
H
boolean
Verify the heap before each collection.
VerifyKillCFGUnusedNodes
H
boolean
Verify that there are no new unused nodes when performing killCFG.
VerifyNamingConventions
H
boolean
Verify naming conventions during image construction.
VerifyPhases
H
boolean
VerifyStackAfterCollection
H
boolean
Verify stacks after each collection.
VerifyStackBeforeCollection
H
boolean
Verify stacks before each collection.
ZapChunks
H
boolean
Fill unused memory chunks with a sentinel value.
ZapConsumedHeapChunks
H
boolean
After use, Fill memory chunks with a sentinel value.
ZapProducedHeapChunks
H
boolean
Before use, fill memory chunks with a sentinel value.
ZapStackOnMethodEntry
H
boolean
AOTInliningDepthToSizeRate
R
double
2.5
AOTInliningSizeMaximum
R
long
300
AOTInliningSizeMinimum
R
long
50
AOTVerifyOops
R
boolean
Generate verify oop checks in AOT code.
ASMInstructionProfiling
R
string
None
Enables instruction profiling on assembler level. Valid values are a comma separated list of supported instructions. Compare with subclasses of Assembler.InstructionCounter.
AbortOnBenchmarkCounterOverflow
R
boolean
Abort VM with SIGILL if benchmark counters controlled by the (Generic|Timed|Benchmark)DynamicCounters.
ActiveProcessorCount
R
long
-1
Overwrites the available number of processors provided by the OS. Any value < 0 means using the processor count from the OS.
AggregatedMetricsFile
R
string
None
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.
AliasArrayTypeFlows
R
boolean
Model all array type flows using a unique elements type flow abstraction.
AllocationProfilingThreshold
R
long
1048576
The minimum size in bytes required for printing an allocation profiling entry.
AllocationSiteSensitiveHeap
R
boolean
A context sensitive heap means that each heap allocated object is modeled by using at least the allocation site.
AlwaysInlineIntrinsics
R
boolean
Unconditionally inline intrinsics.
AlwaysInlineVTableStubs
R
boolean
AnalysisContextSensitivity
R
string
insens
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).
AnalysisSizeCutoff
R
long
8
The maximum size of type and method profiles returned by the static analysis. -1 indicates no limitation.
AnalysisStatisticsFile
R
string
None
Analysis results statistics file.
BenchmarkCounterPrintingCutoff
R
boolean
Use a cutoff to print only most significant counters.
BenchmarkCountersDumpDynamic
R
boolean
Dump dynamic counters.
BenchmarkCountersDumpStatic
R
boolean
Dump static counters.
BenchmarkCountersFile
R
string
None
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.
BenchmarkDynamicCounters
R
string
None
Turn on the benchmark counters. The format of this option is:.
BootstrapInitializeOnly
R
boolean
Do not compile anything on bootstrap but just initialize the compiler.
BootstrapTimeout
R
double
15
Maximum time in minutes to spend bootstrapping (0 to disable this limit).
BootstrapWatchDogCriticalRateRatio
R
double
0.25
Ratio of the maximum compilation rate below which the bootstrap compilation rate must not fall (0 or less disables monitoring).
CanOmitFrame
R
boolean
CanonicalGraphStringsCheckConstants
R
boolean
Exclude virtual nodes when dumping canonical text for graphs.
CanonicalGraphStringsExcludeVirtuals
R
boolean
Exclude virtual nodes when dumping canonical text for graphs.
CanonicalGraphStringsRemoveIdentities
R
boolean
Attempts to remove object identity hashes when dumping canonical text for graphs.
ClearMetricsAfterBootstrap
R
boolean
Clear the debug metrics after bootstrap.
CompilationBailoutAsFailure
R
boolean
Treat compilation bailouts like compilation failures.
CompilationCountLimit
R
long
0
The number of compilations allowed for any method before the VM exits (a value of 0 means there is no limit).
CompilationExcludePhases
R
string
None
Exclude certain phases from compilation, either unconditionally or with a method filter.
CompilationExpirationPeriod
R
long
300
Time limit in seconds before a compilation expires (0 to disable the limit). The compilation alarm will be implicitly disabled if assertions are enabled.
CompilationFailureAction
R
string
Silent
Specifies the action to take when compilation fails.
CompilationIsolateAddressSpaceSize
R
long
0
Size of the reserved address space of each compilation isolate (0: default for new isolates).
CompilationWatchDogStackTraceInterval
R
double
60
Interval in seconds between a watch dog reporting stack traces for long running compilations.
CompilationWatchDogStartDelay
R
double
0
Delay in seconds before watch dog monitoring a compilation (0 disables monitoring).
CompileGraalWithC1Only
R
boolean
In tiered mode compile Graal and JVMCI using optimized first tier code.
CompileInIsolates
R
boolean
Activate runtime compilation in separate isolates (enable support during image build with option SupportCompileInIsolates).
CompilerConfiguration
R
string
None
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.
ConditionalElimination
R
boolean
ConditionalEliminationMaxIterations
R
long
4
Count
R
string
None
Pattern for specifying scopes in which counters are enabled. See the Dump option for the pattern syntax. An empty value enables all counters unconditionally.
Counters
R
string
None
Comma separated names of counters that are enabled irrespective of the value for Count option. An empty value enables all counters unconditionally.
CrashAt
R
string
None
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.
DebugStubsAndSnippets
R
boolean
Enable debug output for stub code generation and snippet preparation.
DeoptALot
R
boolean
DeoptAfterOSR
R
boolean
Deoptimize OSR compiled code when the OSR entry loop is finished if there is no mature profile available for the rest of the method.
DeoptsToDisableOptimisticOptimization
R
long
40
DetailedAsserts
R
boolean
Enable expensive assertions if normal assertions (i.e. -ea or -esa) are enabled.
DiagnoseDumpLevel
R
long
3
Specify the DumpLevel if CompilationFailureAction#Diagnose is used.See CompilationFailureAction for details. file:doc-files/CompilationFailureActionHelp.txt.
DisableIntercept
R
boolean
Disable intercepting exceptions in debug scopes.
DivertParameterReturningMethod
R
boolean
Analysis: Detect methods that return one of their parameters and hardwire the parameter straight to the return.
Dump
R
string
None
Filter pattern for specifying scopes in which dumping is enabled.
DumpOnError
R
boolean
Send compiler IR to dump handlers on error.
DumpOnPhaseChange
R
string
None
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.
DumpPath
R
string
graal_dumps
The directory where various Graal dump files are written.
DumpingErrorsAreFatal
R
boolean
Treat any exceptions during dumping as fatal.
DuplicateIrreducibleLoops
R
boolean
When enabled, some limited amount of duplication will be performed in order compile code containing irreducible loops.
DynamicCountersPrintGroupSeparator
R
boolean
Use grouping separators for number printing.
EagerSnippets
R
boolean
Eagerly construct extra snippet info.
EscapeAnalysisIterations
R
long
2
EscapeAnalysisLoopCutoff
R
long
20
EscapeAnalyzeOnly
R
string
None
ExactFullUnrollMaxNodes
R
long
800
ExactPartialUnrollMaxNodes
R
long
200
ExhaustiveHeapScan
R
boolean
Scan all objects reachable from roots for analysis. By default false.
ExitVMOnException
R
boolean
Alias for CompilationFailureActionExitVM.
ExtendedAsserts
R
boolean
Enable extended asserts which slow down analysis.
FailedLoopExplosionIsFatal
R
boolean
Do not bail out but throw an exception on failed loop explosion.
FallbackExecutorRuntimeJavaArg
R
string
None
Internal option used to specify runtime java arguments for FallbackExecutor.
ForceDumpGraphsBeforeCompilation
R
boolean
Force-dump graphs before compilation.
FullUnroll
R
boolean
FullUnrollConstantCompareBoost
R
long
15
FullUnrollMaxApplication
R
long
60
FullUnrollMaxIterations
R
long
600
FullUnrollMaxNodes
R
long
400
GCDebugStartCycle
R
long
-1
Start tracing compiled GC barriers after N garbage collections (disabled if N < 0).
GenLoopSafepoints
R
boolean
GeneratePIC
R
boolean
Generate position independent code.
GenericDynamicCounters
R
boolean
Turn on the benchmark counters, and displays the results on VM shutdown.
GraalArithmeticStubs
R
boolean
Use Graal arithmetic stubs instead of HotSpot stubs where possible.
GraalCompileOnly
R
string
None
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.
GraphCompressionThreshold
R
long
70
Graal graph compression is performed when percent of live nodes falls below this value.
GuardPriorities
R
boolean
HeapVerificationFailureIsFatal
R
boolean
Failed verification of the heap (if enabled) causes termination.
HotSpotDeoptExplicitExceptions
R
boolean
Testing only option that forces deopts for exception throws.
HotSpotPostOnExceptions
R
boolean
Testing only option that forces deopts for exception throws.
HotSpotPrintInlining
R
boolean
Print inlining optimizations.
HybridStaticContext
R
boolean
Enable hybrid context for static methods, i.e. uses invocation site as context for static methods.
ImageObjectTreeExpandRoots
R
string
Override the default suppression of specified roots. See: Reports.md.
ImageObjectTreeExpandTypes
R
string
Override the default suppression of specified types. See: Reports.md.
ImageObjectTreeSuppressRoots
R
string
Suppress the expansion of specified roots. See: Reports.md.
ImageObjectTreeSuppressTypes
R
string
Suppress the expansion of specified types. See: Reports.md.
ImmutableCode
R
boolean
Try to avoid emitting code where patching is required.
Inline
R
boolean
Enable inlining.
InlineDuringParsing
R
boolean
Inlines trivial methods during bytecode parsing.
InlineDuringParsingMaxDepth
R
long
10
Maximum depth when inlining during bytecode parsing.
InlineEverything
R
boolean
InlineIntrinsicsDuringParsing
R
boolean
Inlines intrinsic methods during bytecode parsing.
InlineMegamorphicCalls
R
boolean
Inline calls with megamorphic type profile (i.e., not all types could be recorded).
InlineMonomorphicCalls
R
boolean
Inline calls with monomorphic type profile.
InlinePartialIntrinsicExitDuringParsing
R
boolean
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.
InlinePolymorphicCalls
R
boolean
Inline calls with polymorphic type profile.
InlineVTableStubs
R
boolean
InliningDepthError
R
long
1000
Maximum inlining depth during partial evaluation before reporting an infinite recursion.
InspectServerContentPath
R
string
inspect
Path to the contents of the Inspect web server.
InstallSegfaultHandler
R
boolean
Install segfault handler that prints register contents and full Java stacktrace.
InterceptBailout
R
boolean
Intercept also bailout exceptions.
Intrinsify
R
boolean
Use compiler intrinsifications.
LIRDynMoveProfileMethod
R
boolean
Enable dynamic move profiling per method.
LIROptConstantLoadOptimization
R
boolean
Enable constant load optimization.
LIROptControlFlowOptimizer
R
boolean
LIROptEdgeMoveOptimizer
R
boolean
LIROptLSRAEliminateSpillMoves
R
boolean
Enable spill move elimination.
LIROptLSRAOptimizeSpillPosition
R
boolean
Enable spill position optimization.
LIROptLSStackSlotAllocator
R
boolean
Use linear scan stack slot allocation.
LIROptNullCheckOptimizer
R
boolean
LIROptRedundantMoveElimination
R
boolean
LIROptStackMoveOptimizer
R
boolean
LIROptimization
R
boolean
Enable LIR level optimiztations.
LIRProfileMethods
R
boolean
Enables profiling of methods.
LIRProfileMoves
R
boolean
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).
LSRAOptSplitOnly
R
boolean
LSRA optimization: Only split but do not reassign.
LSRAOptimization
R
boolean
Enable LSRA optimization.
LimitInlinedInvokes
R
double
5
LimitObjectArrayLength
R
boolean
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.
ListMetrics
R
boolean
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.
LoadExceptionObjectInVM
R
boolean
Use a VM runtime call to load and clear the exception object from the thread at the start of a compiled exception handler.
Log
R
string
None
Pattern for specifying scopes in which logging is enabled. See the Dump option for the pattern syntax.
LogFile
R
string
None
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(). If the current runtime is in an isolate, then %i will be replaced by '<isolate id>' otherwise %i is removed. An %I is the same as %i except that the replacement is '<isolate id>@<isolate address>'. Using %o as filename sends logging to System.out whereas %e sends logging to System.err.
LogVerbose
R
boolean
Enable more verbose log output when available.
LoopHeaderAlignment
R
long
16
Alignment in bytes for loop header blocks.
LoopMaxUnswitch
R
long
3
LoopPeeling
R
boolean
LoopPredication
R
boolean
LoopPredicationMainPath
R
boolean
LoopUnswitch
R
boolean
LoopUnswitchFrequencyBoost
R
double
10
LoopUnswitchMaxIncrease
R
long
500
LoopUnswitchTrivial
R
long
10
MatchExpressions
R
boolean
Allow backend to match complex expressions.
MaxCallingContextDepth
R
long
0
The maximum length of the methods context chains.
MaxCallingContextWidth
R
long
0
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.
MaxCompilationProblemsPerAction
R
long
2
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.
MaxConstantObjectsPerType
R
long
100
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.
MaxDirectMemorySize
R
long
0
Maximum total size of NIO direct-buffer allocations.
MaxDuplicationFactor
R
double
2
How much duplication can happen because of irreducible loops before bailing out.
MaxHeapContextDepth
R
long
0
The maximum length of the context used to model a heap object in addition to the allocation site; used only when ContextSensitiveHeap is enabled.
MaxHeapContextWidth
R
long
0
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.
MaxHeapSize
R
long
0
The maximum heap size at run-time, in bytes.
MaxNewSize
R
long
0
The maximum size of the young generation at run-time, in bytes.
MaxObjectSetSize
R
long
100
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.
MaxTemplatesPerSnippet
R
long
50
MaximumDesiredSize
R
long
20000
Maximum desired size of the compiler graph in nodes.
MaximumEscapeAnalysisArrayLength
R
long
128
The maximum length of an array that will be escape analyzed.
MaximumHeapSizePercent
R
long
80
The maximum heap size as percent of physical memory.
MaximumInliningSize
R
long
300
Inlining is explored up to this number of nodes in the graph for each call site.
MaximumLoopExplosionCount
R
long
10000
Max number of loop explosions per method.
MaximumRecursiveInlining
R
long
5
Maximum level of recursive inlining.
MaximumYoungGenerationSizePercent
R
long
10
The maximum size of the young generation as a percentage of the maximum heap size.
MegamorphicInliningMinMethodProbability
R
double
0.33
Minimum probability for methods to be inlined for megamorphic type profiles.
MemUseTrackers
R
string
None
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.
MethodFilter
R
string
None
Pattern for matching methods. The syntax for a pattern is:.
MethodFilterRootOnly
R
boolean
Only check MethodFilter against the root method in the context if true, otherwise check all methods.
MethodInlineBailoutLimit
R
long
5000
Per-compilation method inlining exploration limit before giving up (use 0 to disable).
MetricsFile
R
string
None
File to which metrics are dumped per compilation.
MinCallingContextDepth
R
long
0
The minimum length of the methods context chains.
MinHeapContextDepth
R
long
0
The minimum length of the context used to model a heap object in addition to the allocation site; used only when ContextSensitiveHeap is enabled.
MinHeapSize
R
long
0
The minimum heap size at run-time, in bytes.
MinimalBulkZeroingSize
R
long
2048
If applicable, use bulk zeroing instructions when the zeroing size in bytes exceeds this threshold.
MinimumPeelFrequency
R
double
0.35
NDCV
R
long
0
Run level for NoDeadCodeVerifyHandler (0 off, 1 info, 2 verbose, 3 fatal).
NodeCounters
R
boolean
Counts the number of instances of each node class.
NonFatalIdenticalCompilationSnapshots
R
long
20
Number of contiguous identical compiler thread stack traces allowed before the VM exits on the basis of a stuck compilation.
ObjdumpExecutables
R
string
None
Comma separated list of candidate GNU objdump executables. If not specified, disassembling via GNU objdump is disabled. Otherwise, the first existing executable in the list is used.
OmitHotExceptionStacktrace
R
boolean
OptAssumptions
R
boolean
OptConvertDeoptsToGuards
R
boolean
OptDeoptimizationGrouping
R
boolean
OptDevirtualizeInvokesOptimistically
R
boolean
OptEarlyReadElimination
R
boolean
OptEliminateGuards
R
boolean
OptFloatingReads
R
boolean
OptImplicitNullChecks
R
boolean
OptReadElimination
R
boolean
OptScheduleOutOfLoops
R
boolean
PartialEscapeAnalysis
R
boolean
PartialUnroll
R
boolean
PeelALot
R
boolean
PercentTimeInIncrementalCollection
R
long
50
Percentage of total collection time that should be spent on young generation collections.
PreferContainerQuotaForCPUCount
R
boolean
Calculate the container CPU availability based on the value of quotas (if set), when true. Otherwise, use the CPU shares value, provided it is less than quota.
PrintAnalysisCallTree
R
boolean
Print analysis call tree, a breadth-first tree reduction of the call graph.
PrintAnalysisStatistics
R
boolean
Print analysis results statistics.
PrintBackendCFG
R
boolean
Enable dumping LIR, register allocation and code generation info to the C1Visualizer.
PrintBlockMapping
R
boolean
Enable dumping CFG built during initial BciBlockMapping.
PrintCFG
R
boolean
Enable dumping to the C1Visualizer. Enabling this option implies PrintBackendCFG.
PrintCanonicalGraphStringFlavor
R
long
0
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).
PrintCanonicalGraphStrings
R
boolean
Enable dumping canonical text from for graphs.
PrintCompilation
R
boolean
Print an informational line to the console for each completed compilation.
PrintDetailedAllocationProfiling
R
boolean
Print detailed information for each allocation site.
PrintFlags
R
string
None
Show available options based on comma-separated option-types (allowed categories: User, Expert, Debug).
PrintFlagsWithExtraHelp
R
string
None
Print extra help, if available, based on comma-separated option names. Pass * to show all options that contain extra help.
PrintGC
R
boolean
Print summary GC information after each collection.
PrintGCSummary
R
boolean
Print summary GC information after application main method returns.
PrintGCTimeStamps
R
boolean
Print a time stamp at each collection, if +PrintGC or +VerboseGC.
PrintGCTimes
R
boolean
Print the time for each of the phases of each collection, if +VerboseGC.
PrintGraph
R
string
File
Where IdealGraphVisualizer graph dumps triggered by Dump or DumpOnError should be written.
PrintGraphFile
R
boolean
Setting to true sets PrintGraphfile, setting to false sets PrintGraphnetwork.
PrintGraphHost
R
string
127.0.0.1
Host part of the address to which graphs are dumped.
PrintGraphPort
R
long
4445
Port part of the address to which graphs are dumped in binary format.
PrintGraphWithSchedule
R
boolean
Schedule graphs as they are dumped.
PrintHeapShape
R
boolean
Print the shape of the heap before and after each collection, if +VerboseGC.
PrintIRWithLIR
R
boolean
Print HIR along side LIR as the latter is generated.
PrintImageObjectTree
R
boolean
Print boot image object hierarchy.
PrintLIRWithAssembly
R
boolean
Include the LIR as comments with the final assembly.
PrintPointsToStatistics
R
boolean
Report analysis statistics.
PrintProfilingInformation
R
boolean
Print profiling information when parsing a method's bytecode.
PrintSynchronizedAnalysis
R
boolean
Print types used for Java synchronization.
ProbabilisticProfiling
R
boolean
Control probabilistic profiling on AMD64.
ProfileAllocations
R
boolean
Enable profiling of allocation sites.
ProfileAllocationsContext
R
string
AllocatingMethod
Control the naming and granularity of the counters when using ProfileAllocations.
ProfileAnalysisOperations
R
boolean
Track the progress of the static analysis.
ProfileBackedges
R
boolean
Emit profiling of backedges.
ProfileCompiledMethods
R
boolean
ProfileConstantObjects
R
boolean
Track the creation of constant objects.
ProfileInvokes
R
boolean
Emit profiling of invokes.
ProfileMonitors
R
boolean
Enable profiling of monitor operations.
ProfileSimpleMethods
R
boolean
Profile simple methods.
RawConditionalElimination
R
boolean
ReadEliminationMaxLoopVisits
R
long
5
ReassociateExpressions
R
boolean
Re-associate loop invariants and constants.
ReduceDCE
R
boolean
Disable optional dead code eliminations.
RegisterPressure
R
string
None
Comma separated list of registers that register allocation is limited to.
RelaxTypeFlowStateConstraints
R
boolean
Allow a type flow state to contain types not compatible with its declared type.
RemoveNeverExecutedCode
R
boolean
RemoveSaturatedTypeFlows
R
boolean
Enable the type flow saturation analysis performance optimization.
ReplaceInputsWithConstantsBasedOnStamps
R
boolean
SafepointPromptnessFailureNanos
R
long
0
Exit the VM if I can not come to a safepoint in this many nanoseconds. 0 implies forever.
SafepointPromptnessWarningNanos
R
long
0
Print a warning if I can not come to a safepoint in this many nanoseconds. 0 implies forever.
ScanObjectsParallel
R
boolean
Object scanning in parallel.
ShowConfiguration
R
string
none
Writes to the VM log information about the compiler configuration selected.
ShowDumpFiles
R
boolean
Print the name of each dump file path as it's created.
ShowSubstitutionSourceInfo
R
boolean
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.
SimpleFastInflatedLocking
R
boolean
Handle simple cases for inflated monitors in the fast-path.
SimpleMethodCalls
R
long
1
Maximum number of calls in a simple method.
SimpleMethodGraphSize
R
long
256
Maximum number of nodes in a graph for a simple method.
SimpleMethodIndirectCalls
R
long
0
Maximum number of indirect calls in a simple moethod.
SmallCompiledLowLevelGraphSize
R
long
330
If the previous low-level graph size of the method exceeds the threshold, it is not inlined.
SnippetCounters
R
boolean
Enable counters for various paths in snippets.
SpectrePHTBarriers
R
string
None
Select a strategy to mitigate speculative bounds check bypass (aka Spectre-PHT or Spectre V1).
SpectrePHTIndexMasking
R
boolean
Mask indices to scope access to allocation size after bounds check.
StackSize
R
long
0
The size of each thread stack at run-time, in bytes.
StressExplicitExceptionCode
R
boolean
Stress the code emitting explicit exception throwing code.
StressInvokeWithExceptionNode
R
boolean
Stress the code emitting invokes with explicit exception edges.
StressTestEarlyReads
R
boolean
Stress the code by emitting reads at earliest instead of latest point.
StringIndexOfLimit
R
long
4096
String.indexOf invocations will be evaluated at compile time if the receiver is a constant and its length is lower than this value.
SupportJsrBytecodes
R
boolean
SupportOSRWithLocks
R
boolean
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.
TearDownFailureNanos
R
long
0
The number of nanoseconds before tearing down an isolate gives a failure message. 0 implies no message.
TearDownWarningNanos
R
long
0
The number of nanoseconds before and between which tearing down an isolate gives a warning message. 0 implies no warning.
TierABackedgeNotifyFreqLog
R
long
16
Backedge notification frequency.
TierABackedgeProfileProbabilityLog
R
long
12
Backedge profile probability.
TierAInvokeInlineeNotifyFreqLog
R
long
-1
Inlinee invocation notification frequency (-1 means count, but do not notify).
TierAInvokeNotifyFreqLog
R
long
13
Invocation notification frequency.
TierAInvokeProfileProbabilityLog
R
long
8
Invocation profile probability.
TieredAOT
R
boolean
Do profiling and callbacks to tiered runtime.
Time
R
string
None
Pattern for specifying scopes in which timing is enabled. See the Dump option for the pattern syntax. An empty value enables all timers unconditionally.
TimedDynamicCounters
R
long
-1
Turn on the benchmark counters, and displays the results every n milliseconds.
Timers
R
string
None
Comma separated names of timers that are enabled irrespective of the value for Time option. An empty value enables all timers unconditionally.
TraceBytecodeParserLevel
R
long
0
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.
TraceCodeCache
R
boolean
Print logging information for runtime code cache modifications.
TraceDeoptimization
R
boolean
Print logging information for every deoptimization.
TraceDeoptimizationDetails
R
boolean
Print verbose logging information for every deoptimization.
TraceEscapeAnalysis
R
boolean
TraceExceptionHandlerStub
R
boolean
Trace execution of stub used to handle an exception thrown by a callee.
TraceHeapChunks
R
boolean
Trace heap chunks during collections, if +VerboseGC and +PrintHeapShape.
TraceInlineDuringParsing
R
boolean
Traces inlining performed during bytecode parsing.
TraceInlining
R
boolean
Enable tracing of inlining decisions.
TraceInliningForStubsAndSnippets
R
boolean
Enable inlining decision tracing in stubs and snippets.
TraceLIRGeneratorLevel
R
long
0
The trace level for the LIR generator.
TraceMonitorsMethodFilter
R
string
None
Trace monitor operations in methods whose fully qualified name contains this substring.
TraceMonitorsTypeFilter
R
string
None
Trace monitor operations on objects whose type contains this substring.
TraceParserPlugins
R
boolean
Traces use of plugins during bytecode parsing.
TraceUnwindStub
R
boolean
Trace execution of the stub that routes an exception to a handler in the calling frame.
TrackAccessChain
R
boolean
Track the callers for methods and accessing methods for fields.
TrackInputFlows
R
boolean
Track the input for type flows.
TrackMemUse
R
string
None
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.
TrackNodeInsertion
R
boolean
Track source stack trace where a node was inserted into the graph.
TrackNodeSourcePosition
R
boolean
Track the NodeSourcePosition.
TrivialInliningSize
R
long
10
Graphs with less than this number of nodes are trivial and therefore always inlined.
TruffleCompilerConfiguration
R
string
None
Select a compiler configuration for Truffle compilation (default: use Graal system compiler configuration).
TrustFinalDefaultFields
R
boolean
Determines whether to treat final fields with default values as constant.
TypeCheckMaxHints
R
long
2
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.
TypeCheckMinProfileHitProbability
R
double
0.5
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.
TypeFlowSaturationCutoff
R
long
20
The maximum number of types recorded in a type flow. -1 indicates no limitation.
UnresolvedIsError
R
boolean
Report unresolved elements as errors.
UnrollMaxIterations
R
long
16
UseBranchesWithin32ByteBoundary
R
boolean
Force branch instructions to align with 32-bytes boundary, to mitigate the jcc erratum. See https://www.intel.com/content/dam/support/us/en/documents/processors/mitigations-jump-conditional-code-erratum.pdf for more details. If not set explicitly, the default value will be determined according to the CPU model.
UseCompilationStatistics
R
boolean
Enables CompilationStatistics.
UseEncodedGraphs
R
boolean
Encode and decode snippets and substitutions before parsing to test libgraal code path. This option is ignored in the context of libgraal.
UseExceptionProbability
R
boolean
UseGraalStubs
R
boolean
Use Graal-generated stubs for complicated LIR operations instead of embedding all the emitted code.
UseLoopLimitChecks
R
boolean
UseSnippetGraphCache
R
boolean
Use a cache for snippet graphs.
UseSnippetTemplateCache
R
boolean
Use a LRU cache for snippet templates.
UseTrappingNullChecks
R
boolean
Use traps for null checks instead of explicit null-checks.
UseTypeCheckHints
R
boolean
UserRequestedGCThreshold
R
long
16777216
With the skeptical policy for user-requested collections, the threshold for the young generation size to cause a collection.
VerboseGC
R
boolean
Print more information about the heap before and after each collection.
Verify
R
string
None
Pattern for specifying scopes in which logging is enabled. See the Dump option for the pattern syntax.
VerifyBalancedMonitors
R
boolean
Emit extra code to dynamically check monitor operations are balanced.
VerifyGraalGraphEdges
R
boolean
Perform expensive verification of graph inputs, usages, successors and predecessors.
VerifyGraalGraphs
R
boolean
Verify graphs often during compilation when assertions are turned on.
VerifyGraalPhasesSize
R
boolean
Verify before - after relation of the relative, computed, code size of a graph.
VerifyHeapAtReturn
R
boolean
Perform platform dependent validation of the Java heap at returns.
VerifyKillCFGUnusedNodes
R
boolean
Verify that there are no new unused nodes when performing killCFG.
VerifyPhases
R
boolean
WriteableCodeCache
R
boolean
Allocate code cache with write access, allowing inlining of objects.