public abstract class HotSpotBackendFactory extends Object
| Constructor and Description |
|---|
HotSpotBackendFactory() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract HotSpotBackend |
createBackend(GraalHotSpotVMConfig config,
HotSpotGraalRuntimeProvider graalRuntime,
HotSpotProviders providers) |
HotSpotBackend |
createBackend(HotSpotGraalRuntimeProvider graalRuntime,
CompilerConfiguration compilerConfiguration,
HotSpotJVMCIRuntime jvmciRuntime,
HotSpotBackend host) |
protected ClassfileBytecodeProvider |
createBytecodeProvider(MetaAccessProvider metaAccess,
HotSpotSnippetReflectionProvider snippetReflection) |
protected HotSpotPlatformConfigurationProvider |
createConfigInfoProvider(GraalHotSpotVMConfig config,
MetaAccessProvider metaAccess) |
protected HotSpotGraalConstantFieldProvider |
createConstantFieldProvider(GraalHotSpotVMConfig config,
MetaAccessProvider metaAccess) |
protected abstract HotSpotHostForeignCallsProvider |
createForeignCalls(HotSpotJVMCIRuntime jvmciRuntime,
HotSpotGraalRuntimeProvider graalRuntime,
MetaAccessProvider metaAccess,
HotSpotCodeCacheProvider codeCache,
HotSpotWordTypes wordTypes,
Value[] nativeABICallerSaveRegisters) |
protected abstract GraphBuilderConfiguration.Plugins |
createGraphBuilderPlugins(HotSpotGraalRuntimeProvider graalRuntime,
CompilerConfiguration compilerConfiguration,
GraalHotSpotVMConfig config,
TargetDescription target,
HotSpotConstantReflectionProvider constantReflection,
HotSpotHostForeignCallsProvider foreignCalls,
MetaAccessProvider metaAccess,
HotSpotSnippetReflectionProvider snippetReflection,
HotSpotReplacementsImpl replacements,
HotSpotWordTypes wordTypes,
OptionValues options) |
protected LoopsDataProvider |
createLoopsDataProvider() |
protected abstract HotSpotLoweringProvider |
createLowerer(HotSpotGraalRuntimeProvider graalRuntime,
MetaAccessProvider metaAccess,
HotSpotHostForeignCallsProvider foreignCalls,
HotSpotRegistersProvider registers,
HotSpotConstantReflectionProvider constantReflection,
HotSpotPlatformConfigurationProvider platformConfig,
HotSpotMetaAccessExtensionProvider metaAccessExtensionProvider,
TargetDescription target) |
protected HotSpotMetaAccessExtensionProvider |
createMetaAccessExtensionProvider() |
protected abstract Value[] |
createNativeABICallerSaveRegisters(GraalHotSpotVMConfig config,
RegisterConfig registerConfig) |
protected abstract HotSpotRegistersProvider |
createRegisters() |
protected HotSpotReplacementsImpl |
createReplacements(TargetDescription target,
HotSpotProviders p,
HotSpotSnippetReflectionProvider snippetReflection,
BytecodeProvider bytecodeProvider) |
protected HotSpotSnippetReflectionProvider |
createSnippetReflection(HotSpotGraalRuntimeProvider runtime,
HotSpotConstantReflectionProvider constantReflection,
HotSpotWordTypes wordTypes) |
protected HotSpotStampProvider |
createStampProvider() |
protected abstract HotSpotSuitesProvider |
createSuites(GraalHotSpotVMConfig config,
HotSpotGraalRuntimeProvider runtime,
CompilerConfiguration compilerConfiguration,
GraphBuilderConfiguration.Plugins plugins,
HotSpotRegistersProvider registers,
HotSpotReplacementsImpl replacements,
OptionValues options) |
protected HotSpotWordTypes |
createWordTypes(MetaAccessProvider metaAccess,
TargetDescription target) |
abstract Class<? extends Architecture> |
getArchitecture()
Gets the class describing the architecture the backend created by this factory is associated
with.
|
abstract String |
getName()
Gets the name of this backend factory.
|
protected HotSpotGraalConstantFieldProvider createConstantFieldProvider(GraalHotSpotVMConfig config, MetaAccessProvider metaAccess)
protected HotSpotWordTypes createWordTypes(MetaAccessProvider metaAccess, TargetDescription target)
protected HotSpotStampProvider createStampProvider()
protected HotSpotPlatformConfigurationProvider createConfigInfoProvider(GraalHotSpotVMConfig config, MetaAccessProvider metaAccess)
protected HotSpotMetaAccessExtensionProvider createMetaAccessExtensionProvider()
protected HotSpotReplacementsImpl createReplacements(TargetDescription target, HotSpotProviders p, HotSpotSnippetReflectionProvider snippetReflection, BytecodeProvider bytecodeProvider)
protected ClassfileBytecodeProvider createBytecodeProvider(MetaAccessProvider metaAccess, HotSpotSnippetReflectionProvider snippetReflection)
protected HotSpotSnippetReflectionProvider createSnippetReflection(HotSpotGraalRuntimeProvider runtime, HotSpotConstantReflectionProvider constantReflection, HotSpotWordTypes wordTypes)
public abstract String getName()
architecture. The CompilerConfigurationFactory can select alternative backends based
on this name.public abstract Class<? extends Architecture> getArchitecture()
protected LoopsDataProvider createLoopsDataProvider()
public final HotSpotBackend createBackend(HotSpotGraalRuntimeProvider graalRuntime, CompilerConfiguration compilerConfiguration, HotSpotJVMCIRuntime jvmciRuntime, HotSpotBackend host)
protected abstract HotSpotBackend createBackend(GraalHotSpotVMConfig config, HotSpotGraalRuntimeProvider graalRuntime, HotSpotProviders providers)
protected abstract Value[] createNativeABICallerSaveRegisters(GraalHotSpotVMConfig config, RegisterConfig registerConfig)
protected abstract GraphBuilderConfiguration.Plugins createGraphBuilderPlugins(HotSpotGraalRuntimeProvider graalRuntime, CompilerConfiguration compilerConfiguration, GraalHotSpotVMConfig config, TargetDescription target, HotSpotConstantReflectionProvider constantReflection, HotSpotHostForeignCallsProvider foreignCalls, MetaAccessProvider metaAccess, HotSpotSnippetReflectionProvider snippetReflection, HotSpotReplacementsImpl replacements, HotSpotWordTypes wordTypes, OptionValues options)
protected abstract HotSpotSuitesProvider createSuites(GraalHotSpotVMConfig config, HotSpotGraalRuntimeProvider runtime, CompilerConfiguration compilerConfiguration, GraphBuilderConfiguration.Plugins plugins, HotSpotRegistersProvider registers, HotSpotReplacementsImpl replacements, OptionValues options)
protected abstract HotSpotRegistersProvider createRegisters()
protected abstract HotSpotLoweringProvider createLowerer(HotSpotGraalRuntimeProvider graalRuntime, MetaAccessProvider metaAccess, HotSpotHostForeignCallsProvider foreignCalls, HotSpotRegistersProvider registers, HotSpotConstantReflectionProvider constantReflection, HotSpotPlatformConfigurationProvider platformConfig, HotSpotMetaAccessExtensionProvider metaAccessExtensionProvider, TargetDescription target)
protected abstract HotSpotHostForeignCallsProvider createForeignCalls(HotSpotJVMCIRuntime jvmciRuntime, HotSpotGraalRuntimeProvider graalRuntime, MetaAccessProvider metaAccess, HotSpotCodeCacheProvider codeCache, HotSpotWordTypes wordTypes, Value[] nativeABICallerSaveRegisters)