public class NativeImageGenerator extends Object
Constructor and Description |
---|
NativeImageGenerator(ImageClassLoader loader,
HostedOptionProvider optionProvider,
org.graalvm.collections.Pair<Method,CEntryPointData> mainEntryPoint) |
Modifier and Type | Method and Description |
---|---|
protected static void |
clearSystemPropertiesForImage() |
static com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor |
createAnalysisSubstitutionProcessor(jdk.vm.ci.meta.MetaAccessProvider originalMetaAccess,
org.graalvm.compiler.api.replacements.SnippetReflectionProvider originalSnippetReflection,
com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor cEnumProcessor,
com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor automaticSubstitutions,
com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor annotationSubstitutions,
List<com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor> additionalSubstitutionProcessors) |
static com.oracle.graal.pointsto.meta.AnalysisUniverse |
createAnalysisUniverse(org.graalvm.compiler.options.OptionValues options,
jdk.vm.ci.code.TargetDescription target,
ImageClassLoader loader,
jdk.vm.ci.meta.MetaAccessProvider originalMetaAccess,
org.graalvm.compiler.api.replacements.SnippetReflectionProvider originalSnippetReflection,
AnnotationSubstitutionProcessor annotationSubstitutions,
com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor cEnumProcessor,
ClassInitializationSupport classInitializationSupport,
List<com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor> additionalSubstitutions,
ForkJoinPool buildExecutor) |
static UnsafeAutomaticSubstitutionProcessor |
createAutomaticUnsafeSubstitutions(org.graalvm.compiler.api.replacements.SnippetReflectionProvider originalSnippetReflection,
AnnotationSubstitutionProcessor annotationSubstitutions) |
static Inflation |
createBigBang(org.graalvm.compiler.options.OptionValues options,
jdk.vm.ci.code.TargetDescription target,
com.oracle.graal.pointsto.meta.AnalysisUniverse aUniverse,
NativeLibraries nativeLibraries,
ForkJoinPool analysisExecutor,
Runnable heartbeatCallback,
com.oracle.graal.pointsto.meta.AnalysisMetaAccess aMetaAccess,
AnalysisConstantReflectionProvider aConstantReflection,
org.graalvm.compiler.word.WordTypes aWordTypes,
org.graalvm.compiler.api.replacements.SnippetReflectionProvider aSnippetReflection,
AnnotationSubstitutionProcessor annotationSubstitutionProcessor,
org.graalvm.compiler.core.common.spi.ForeignCallsProvider aForeignCalls,
ClassInitializationSupport classInitializationSupport) |
static AnnotationSubstitutionProcessor |
createDeclarativeSubstitutionProcessor(jdk.vm.ci.meta.MetaAccessProvider originalMetaAccess,
ImageClassLoader loader,
ClassInitializationSupport classInitializationSupport) |
static org.graalvm.compiler.lir.phases.LIRSuites |
createFirstTierLIRSuites(FeatureHandler featureHandler,
org.graalvm.compiler.phases.util.Providers providers,
boolean hosted) |
static org.graalvm.compiler.phases.tiers.Suites |
createFirstTierSuites(FeatureHandler featureHandler,
RuntimeConfiguration runtimeConfig,
org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection,
boolean hosted) |
static org.graalvm.compiler.lir.phases.LIRSuites |
createLIRSuites(FeatureHandler featureHandler,
org.graalvm.compiler.phases.util.Providers providers,
boolean hosted) |
static org.graalvm.compiler.phases.tiers.Suites |
createSuites(FeatureHandler featureHandler,
RuntimeConfiguration runtimeConfig,
org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection,
boolean hosted) |
static SubstrateTargetDescription |
createTarget(org.graalvm.nativeimage.Platform platform) |
static org.graalvm.nativeimage.Platform |
defaultPlatform(ClassLoader classLoader) |
static Path |
generatedFiles(org.graalvm.compiler.options.OptionValues optionValues) |
com.oracle.graal.pointsto.BigBang |
getBigbang() |
AbstractBootImage |
getBuiltImage() |
static boolean |
includedIn(org.graalvm.nativeimage.Platform platform,
Class<? extends org.graalvm.nativeimage.Platform> platformGroup)
Duplicates the logic in
Platform.includedIn(Class) , but can be used in cases where
the VMConfiguration is not yet set up. |
static boolean |
includedIn(org.graalvm.nativeimage.Platform platform,
org.graalvm.nativeimage.Platforms platformsAnnotation)
Returns true if the provided platform is included in at least one of the provided platform
groups defined by the annotation.
|
static void |
initializeBigBang(Inflation bigbang,
org.graalvm.compiler.options.OptionValues options,
FeatureHandler featureHandler,
NativeLibraries nativeLibraries,
org.graalvm.compiler.debug.DebugContext debug,
com.oracle.graal.pointsto.meta.AnalysisMetaAccess aMetaAccess,
com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor substitutions,
ImageClassLoader loader,
boolean initForeignCalls,
org.graalvm.compiler.nodes.graphbuilderconf.ClassInitializationPlugin classInitializationPlugin) |
void |
interruptBuild() |
static void |
registerGraphBuilderPlugins(FeatureHandler featureHandler,
RuntimeConfiguration runtimeConfig,
com.oracle.graal.pointsto.meta.HostedProviders providers,
com.oracle.graal.pointsto.meta.AnalysisMetaAccess aMetaAccess,
com.oracle.graal.pointsto.meta.AnalysisUniverse aUniverse,
HostedMetaAccess hMetaAccess,
HostedUniverse hUniverse,
NativeLibraries nativeLibs,
ImageClassLoader loader,
boolean analysis,
boolean hosted,
AnnotationSubstitutionProcessor annotationSubstitutionProcessor,
org.graalvm.compiler.nodes.graphbuilderconf.ClassInitializationPlugin classInitializationPlugin,
ClassInitializationSupport classInitializationSupport,
jdk.vm.ci.code.TargetDescription target) |
static void |
registerReplacements(org.graalvm.compiler.debug.DebugContext debug,
FeatureHandler featureHandler,
RuntimeConfiguration runtimeConfig,
org.graalvm.compiler.phases.util.Providers providers,
org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection,
boolean hosted,
boolean initForeignCalls) |
void |
run(Map<Method,CEntryPointData> entryPoints,
JavaMainWrapper.JavaMainSupport javaMainSupport,
String imageName,
AbstractBootImage.NativeImageKind k,
com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor harnessSubstitutions,
ForkJoinPool compilationExecutor,
ForkJoinPool analysisExecutor,
org.graalvm.collections.EconomicSet<String> allOptionNames)
Executes the image build.
|
protected static void |
setSystemPropertiesForImageEarly() |
public NativeImageGenerator(ImageClassLoader loader, HostedOptionProvider optionProvider, org.graalvm.collections.Pair<Method,CEntryPointData> mainEntryPoint)
public static org.graalvm.nativeimage.Platform defaultPlatform(ClassLoader classLoader)
public static boolean includedIn(org.graalvm.nativeimage.Platform platform, Class<? extends org.graalvm.nativeimage.Platform> platformGroup)
Platform.includedIn(Class)
, but can be used in cases where
the VMConfiguration is not yet set up.public static boolean includedIn(org.graalvm.nativeimage.Platform platform, org.graalvm.nativeimage.Platforms platformsAnnotation)
public static SubstrateTargetDescription createTarget(org.graalvm.nativeimage.Platform platform)
public void run(Map<Method,CEntryPointData> entryPoints, JavaMainWrapper.JavaMainSupport javaMainSupport, String imageName, AbstractBootImage.NativeImageKind k, com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor harnessSubstitutions, ForkJoinPool compilationExecutor, ForkJoinPool analysisExecutor, org.graalvm.collections.EconomicSet<String> allOptionNames)
protected static void setSystemPropertiesForImageEarly()
protected static void clearSystemPropertiesForImage()
public static com.oracle.graal.pointsto.meta.AnalysisUniverse createAnalysisUniverse(org.graalvm.compiler.options.OptionValues options, jdk.vm.ci.code.TargetDescription target, ImageClassLoader loader, jdk.vm.ci.meta.MetaAccessProvider originalMetaAccess, org.graalvm.compiler.api.replacements.SnippetReflectionProvider originalSnippetReflection, AnnotationSubstitutionProcessor annotationSubstitutions, com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor cEnumProcessor, ClassInitializationSupport classInitializationSupport, List<com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor> additionalSubstitutions, ForkJoinPool buildExecutor)
public static AnnotationSubstitutionProcessor createDeclarativeSubstitutionProcessor(jdk.vm.ci.meta.MetaAccessProvider originalMetaAccess, ImageClassLoader loader, ClassInitializationSupport classInitializationSupport)
public static UnsafeAutomaticSubstitutionProcessor createAutomaticUnsafeSubstitutions(org.graalvm.compiler.api.replacements.SnippetReflectionProvider originalSnippetReflection, AnnotationSubstitutionProcessor annotationSubstitutions)
public static com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor createAnalysisSubstitutionProcessor(jdk.vm.ci.meta.MetaAccessProvider originalMetaAccess, org.graalvm.compiler.api.replacements.SnippetReflectionProvider originalSnippetReflection, com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor cEnumProcessor, com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor automaticSubstitutions, com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor annotationSubstitutions, List<com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor> additionalSubstitutionProcessors)
public static void initializeBigBang(Inflation bigbang, org.graalvm.compiler.options.OptionValues options, FeatureHandler featureHandler, NativeLibraries nativeLibraries, org.graalvm.compiler.debug.DebugContext debug, com.oracle.graal.pointsto.meta.AnalysisMetaAccess aMetaAccess, com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor substitutions, ImageClassLoader loader, boolean initForeignCalls, org.graalvm.compiler.nodes.graphbuilderconf.ClassInitializationPlugin classInitializationPlugin)
public static Inflation createBigBang(org.graalvm.compiler.options.OptionValues options, jdk.vm.ci.code.TargetDescription target, com.oracle.graal.pointsto.meta.AnalysisUniverse aUniverse, NativeLibraries nativeLibraries, ForkJoinPool analysisExecutor, Runnable heartbeatCallback, com.oracle.graal.pointsto.meta.AnalysisMetaAccess aMetaAccess, AnalysisConstantReflectionProvider aConstantReflection, org.graalvm.compiler.word.WordTypes aWordTypes, org.graalvm.compiler.api.replacements.SnippetReflectionProvider aSnippetReflection, AnnotationSubstitutionProcessor annotationSubstitutionProcessor, org.graalvm.compiler.core.common.spi.ForeignCallsProvider aForeignCalls, ClassInitializationSupport classInitializationSupport)
public void interruptBuild()
public static void registerGraphBuilderPlugins(FeatureHandler featureHandler, RuntimeConfiguration runtimeConfig, com.oracle.graal.pointsto.meta.HostedProviders providers, com.oracle.graal.pointsto.meta.AnalysisMetaAccess aMetaAccess, com.oracle.graal.pointsto.meta.AnalysisUniverse aUniverse, HostedMetaAccess hMetaAccess, HostedUniverse hUniverse, NativeLibraries nativeLibs, ImageClassLoader loader, boolean analysis, boolean hosted, AnnotationSubstitutionProcessor annotationSubstitutionProcessor, org.graalvm.compiler.nodes.graphbuilderconf.ClassInitializationPlugin classInitializationPlugin, ClassInitializationSupport classInitializationSupport, jdk.vm.ci.code.TargetDescription target)
public static void registerReplacements(org.graalvm.compiler.debug.DebugContext debug, FeatureHandler featureHandler, RuntimeConfiguration runtimeConfig, org.graalvm.compiler.phases.util.Providers providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection, boolean hosted, boolean initForeignCalls)
public static org.graalvm.compiler.phases.tiers.Suites createSuites(FeatureHandler featureHandler, RuntimeConfiguration runtimeConfig, org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection, boolean hosted)
public static org.graalvm.compiler.phases.tiers.Suites createFirstTierSuites(FeatureHandler featureHandler, RuntimeConfiguration runtimeConfig, org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection, boolean hosted)
public static org.graalvm.compiler.lir.phases.LIRSuites createLIRSuites(FeatureHandler featureHandler, org.graalvm.compiler.phases.util.Providers providers, boolean hosted)
public static org.graalvm.compiler.lir.phases.LIRSuites createFirstTierLIRSuites(FeatureHandler featureHandler, org.graalvm.compiler.phases.util.Providers providers, boolean hosted)
public AbstractBootImage getBuiltImage()
public com.oracle.graal.pointsto.BigBang getBigbang()
public static Path generatedFiles(org.graalvm.compiler.options.OptionValues optionValues)