public final class GraalFeature extends Object implements org.graalvm.nativeimage.hosted.Feature
FieldsOffsetsFeature
) encodes Graal graphs for runtime compilation,
ensures that all required SubstrateType
, SubstrateMethod
, SubstrateField
objects are created by GraalObjectReplacer
and added to the image. Data that is prepared
during image generation and used at run time is stored in GraalSupport
.Modifier and Type | Class and Description |
---|---|
static class |
GraalFeature.CallTreeNode |
static interface |
GraalFeature.IncludeCalleePredicate |
static class |
GraalFeature.IsEnabled |
static class |
GraalFeature.IsEnabledAndNotLibgraal
This predicate is used to distinguish between building a Graal native image as a shared
library for HotSpot (non-pure) or Graal as a compiler used only for a runtime in the same
image (pure).
|
static class |
GraalFeature.Options |
static class |
GraalFeature.RuntimeBytecodeParser |
static class |
GraalFeature.RuntimeGraphBuilderPhase |
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
Constructor and Description |
---|
GraalFeature() |
Modifier and Type | Method and Description |
---|---|
void |
afterCompilation(org.graalvm.nativeimage.hosted.Feature.AfterCompilationAccess a) |
void |
afterHeapLayout(org.graalvm.nativeimage.hosted.Feature.AfterHeapLayoutAccess a) |
void |
beforeAnalysis(org.graalvm.nativeimage.hosted.Feature.BeforeAnalysisAccess c) |
void |
beforeCompilation(org.graalvm.nativeimage.hosted.Feature.BeforeCompilationAccess c) |
static String |
buildSourceReference(org.graalvm.compiler.nodes.FrameState startState) |
void |
duringAnalysis(org.graalvm.nativeimage.hosted.Feature.DuringAnalysisAccess c) |
void |
duringSetup(org.graalvm.nativeimage.hosted.Feature.DuringSetupAccess c) |
com.oracle.graal.pointsto.meta.HostedProviders |
getHostedProviders() |
GraalObjectReplacer |
getObjectReplacer() |
List<Class<? extends org.graalvm.nativeimage.hosted.Feature>> |
getRequiredFeatures() |
void |
initializeRuntimeCompilationConfiguration(GraalFeature.IncludeCalleePredicate newIncludeCalleePredicate) |
void |
initializeRuntimeCompilationConfiguration(com.oracle.graal.pointsto.meta.HostedProviders newHostedProviders,
org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration newGraphBuilderConfig,
GraalFeature.IncludeCalleePredicate newIncludeCalleePredicate,
Predicate<jdk.vm.ci.meta.ResolvedJavaMethod> newDeoptimizeOnExceptionPredicate) |
org.graalvm.compiler.nodes.StructuredGraph |
lookupMethodGraph(com.oracle.graal.pointsto.meta.AnalysisMethod method) |
SubstrateMethod |
prepareMethodForRuntimeCompilation(Executable method,
FeatureImpl.BeforeAnalysisAccessImpl config) |
SubstrateMethod |
prepareMethodForRuntimeCompilation(jdk.vm.ci.meta.ResolvedJavaMethod method,
FeatureImpl.BeforeAnalysisAccessImpl config) |
SubstrateMethod |
requireFrameInformationForMethod(jdk.vm.ci.meta.ResolvedJavaMethod method) |
public org.graalvm.compiler.nodes.StructuredGraph lookupMethodGraph(com.oracle.graal.pointsto.meta.AnalysisMethod method)
public com.oracle.graal.pointsto.meta.HostedProviders getHostedProviders()
public GraalObjectReplacer getObjectReplacer()
public List<Class<? extends org.graalvm.nativeimage.hosted.Feature>> getRequiredFeatures()
getRequiredFeatures
in interface org.graalvm.nativeimage.hosted.Feature
public void duringSetup(org.graalvm.nativeimage.hosted.Feature.DuringSetupAccess c)
duringSetup
in interface org.graalvm.nativeimage.hosted.Feature
public void beforeAnalysis(org.graalvm.nativeimage.hosted.Feature.BeforeAnalysisAccess c)
beforeAnalysis
in interface org.graalvm.nativeimage.hosted.Feature
public void initializeRuntimeCompilationConfiguration(GraalFeature.IncludeCalleePredicate newIncludeCalleePredicate)
public void initializeRuntimeCompilationConfiguration(com.oracle.graal.pointsto.meta.HostedProviders newHostedProviders, org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration newGraphBuilderConfig, GraalFeature.IncludeCalleePredicate newIncludeCalleePredicate, Predicate<jdk.vm.ci.meta.ResolvedJavaMethod> newDeoptimizeOnExceptionPredicate)
public SubstrateMethod requireFrameInformationForMethod(jdk.vm.ci.meta.ResolvedJavaMethod method)
public SubstrateMethod prepareMethodForRuntimeCompilation(Executable method, FeatureImpl.BeforeAnalysisAccessImpl config)
public SubstrateMethod prepareMethodForRuntimeCompilation(jdk.vm.ci.meta.ResolvedJavaMethod method, FeatureImpl.BeforeAnalysisAccessImpl config)
public void duringAnalysis(org.graalvm.nativeimage.hosted.Feature.DuringAnalysisAccess c)
duringAnalysis
in interface org.graalvm.nativeimage.hosted.Feature
public static String buildSourceReference(org.graalvm.compiler.nodes.FrameState startState)
public void beforeCompilation(org.graalvm.nativeimage.hosted.Feature.BeforeCompilationAccess c)
beforeCompilation
in interface org.graalvm.nativeimage.hosted.Feature
public void afterCompilation(org.graalvm.nativeimage.hosted.Feature.AfterCompilationAccess a)
afterCompilation
in interface org.graalvm.nativeimage.hosted.Feature
public void afterHeapLayout(org.graalvm.nativeimage.hosted.Feature.AfterHeapLayoutAccess a)
afterHeapLayout
in interface org.graalvm.nativeimage.hosted.Feature