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| 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.Featurepublic void duringSetup(org.graalvm.nativeimage.hosted.Feature.DuringSetupAccess c)
duringSetup in interface org.graalvm.nativeimage.hosted.Featurepublic void beforeAnalysis(org.graalvm.nativeimage.hosted.Feature.BeforeAnalysisAccess c)
beforeAnalysis in interface org.graalvm.nativeimage.hosted.Featurepublic 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.Featurepublic 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.Featurepublic void afterCompilation(org.graalvm.nativeimage.hosted.Feature.AfterCompilationAccess a)
afterCompilation in interface org.graalvm.nativeimage.hosted.Featurepublic void afterHeapLayout(org.graalvm.nativeimage.hosted.Feature.AfterHeapLayoutAccess a)
afterHeapLayout in interface org.graalvm.nativeimage.hosted.Feature