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| 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,
Map<SnippetRuntime.SubstrateForeignCallDescriptor,SubstrateForeignCallLinkage> 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, onAnalysisExitdefault void registerForeignCalls(RuntimeConfiguration runtimeConfig, org.graalvm.compiler.phases.util.Providers providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection, Map<SnippetRuntime.SubstrateForeignCallDescriptor,SubstrateForeignCallLinkage> 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 DebugHandlersFactorysproviders - 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.