public interface GraalFeature
extends org.graalvm.nativeimage.hosted.Feature
org.graalvm.nativeimage.hosted.Feature.AfterAnalysisAccess, org.graalvm.nativeimage.hosted.Feature.AfterCompilationAccess, org.graalvm.nativeimage.hosted.Feature.AfterHeapLayoutAccess, org.graalvm.nativeimage.hosted.Feature.AfterImageWriteAccess, org.graalvm.nativeimage.hosted.Feature.AfterRegistrationAccess, org.graalvm.nativeimage.hosted.Feature.BeforeAnalysisAccess, org.graalvm.nativeimage.hosted.Feature.BeforeCompilationAccess, org.graalvm.nativeimage.hosted.Feature.BeforeImageWriteAccess, org.graalvm.nativeimage.hosted.Feature.CompilationAccess, org.graalvm.nativeimage.hosted.Feature.DuringAnalysisAccess, org.graalvm.nativeimage.hosted.Feature.DuringSetupAccess, org.graalvm.nativeimage.hosted.Feature.FeatureAccess, org.graalvm.nativeimage.hosted.Feature.IsInConfigurationAccess, org.graalvm.nativeimage.hosted.Feature.OnAnalysisExitAccess, org.graalvm.nativeimage.hosted.Feature.QueryReachabilityAccess
Modifier and Type | Method and Description |
---|---|
default void |
registerCodeObserver(RuntimeConfiguration runtimeConfig)
Called to register InstalledCodeObserver factories (InstalledCodeObserver.Factory) for
runtime compilation.
|
default void |
registerForeignCalls(RuntimeConfiguration runtimeConfig,
org.graalvm.compiler.phases.util.Providers providers,
org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection,
SubstrateForeignCallsProvider foreignCalls,
boolean hosted)
Called to register foreign calls.
|
default void |
registerGraalPhases(org.graalvm.compiler.phases.util.Providers providers,
org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection,
org.graalvm.compiler.phases.tiers.Suites suites,
boolean hosted)
Called to register lowering providers for static analysis, ahead-of-time compilation, and
runtime compilation.
|
default void |
registerGraphBuilderPlugins(org.graalvm.compiler.phases.util.Providers providers,
org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins plugins,
boolean analysis,
boolean hosted)
Called to register Graal node plugins.
|
default void |
registerInvocationPlugins(org.graalvm.compiler.phases.util.Providers providers,
org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection,
org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins invocationPlugins,
boolean analysis,
boolean hosted)
Called to register Graal invocation plugins.
|
default void |
registerLowerings(RuntimeConfiguration runtimeConfig,
org.graalvm.compiler.options.OptionValues options,
Iterable<org.graalvm.compiler.debug.DebugHandlersFactory> factories,
org.graalvm.compiler.phases.util.Providers providers,
org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection,
Map<Class<? extends org.graalvm.compiler.graph.Node>,NodeLoweringProvider<?>> lowerings,
boolean hosted)
Called to register lowering providers for static analysis, ahead-of-time compilation, and
runtime compilation.
|
afterAnalysis, afterCompilation, afterHeapLayout, afterImageWrite, afterRegistration, beforeAnalysis, beforeCompilation, beforeImageWrite, cleanup, duringAnalysis, duringSetup, getRequiredFeatures, isInConfiguration, onAnalysisExit
default void registerForeignCalls(RuntimeConfiguration runtimeConfig, org.graalvm.compiler.phases.util.Providers providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection, SubstrateForeignCallsProvider foreignCalls, boolean hosted)
runtimeConfig
- The runtime configuration.providers
- Providers that the lowering can use.snippetReflection
- Snippet reflection providers.foreignCalls
- The foreign call registry to add to.hosted
- True if registering for ahead-of-time compilation, false otherwisedefault void registerInvocationPlugins(org.graalvm.compiler.phases.util.Providers providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins invocationPlugins, boolean analysis, boolean hosted)
providers
- Providers that the lowering can use.snippetReflection
- Snippet reflection providers.invocationPlugins
- The invocation plugins to add to.analysis
- true if registering for analysis, false if registering for compilationhosted
- True if registering for ahead-of-time compilation, false otherwisedefault void registerGraphBuilderPlugins(org.graalvm.compiler.phases.util.Providers providers, org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins plugins, boolean analysis, boolean hosted)
providers
- Providers that the node plugins can use.plugins
- The Plugins object where node plugins can be added to.analysis
- true if registering for analysis, false if registering for compilationhosted
- true if registering for ahead-of-time compilation, false if registering fordefault void registerLowerings(RuntimeConfiguration runtimeConfig, org.graalvm.compiler.options.OptionValues options, Iterable<org.graalvm.compiler.debug.DebugHandlersFactory> factories, org.graalvm.compiler.phases.util.Providers providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection, Map<Class<? extends org.graalvm.compiler.graph.Node>,NodeLoweringProvider<?>> lowerings, boolean hosted)
runtimeConfig
- The runtime configuration.options
- The initial option values.factories
- The DebugHandlersFactory
sproviders
- Providers that the lowering can use.snippetReflection
- Snippet reflection providers.lowerings
- The lowering provider registry to add to.hosted
- True if registering for ahead-of-time compilation, false if registering fordefault void registerGraalPhases(org.graalvm.compiler.phases.util.Providers providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection, org.graalvm.compiler.phases.tiers.Suites suites, boolean hosted)
providers
- Providers that the lowering can use.snippetReflection
- Snippet reflection providers.suites
- The Graal compilation suites to add to.hosted
- True if registering for ahead-of-time compilation, false if registering fordefault void registerCodeObserver(RuntimeConfiguration runtimeConfig)
runtimeConfig
- The runtime configuration.