public abstract class SubstrateBackend
extends org.graalvm.compiler.core.target.Backend
Modifier | Constructor and Description |
---|---|
protected |
SubstrateBackend(org.graalvm.compiler.phases.util.Providers providers) |
Modifier and Type | Method and Description |
---|---|
abstract org.graalvm.compiler.code.CompilationResult |
createJNITrampolineMethod(jdk.vm.ci.meta.ResolvedJavaMethod method,
org.graalvm.compiler.core.common.CompilationIdentifier identifier,
jdk.vm.ci.code.RegisterValue threadArg,
int threadIsolateOffset,
jdk.vm.ci.code.RegisterValue methodIdArg,
int methodObjEntryPointOffset) |
static org.graalvm.compiler.nodes.ValueNode |
getJavaFrameAnchor(org.graalvm.compiler.nodes.CallTargetNode callTarget)
We are re-using the field {InvokeNode#classInit()} to store the
JavaFrameAnchor , see
CFunctionSnippets.matchCallStructure(com.oracle.svm.core.nodes.CFunctionPrologueNode) . |
RuntimeConfiguration |
getRuntimeConfiguration() |
org.graalvm.compiler.phases.tiers.SuitesProvider |
getSuites() |
static boolean |
hasJavaFrameAnchor(org.graalvm.compiler.nodes.CallTargetNode callTarget) |
abstract org.graalvm.compiler.phases.Phase |
newAddressLoweringPhase(jdk.vm.ci.code.CodeCacheProvider codeCache) |
org.graalvm.compiler.code.CompilationResult |
newCompilationResult(org.graalvm.compiler.core.common.CompilationIdentifier compilationIdentifier,
String name) |
org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig |
newRegisterAllocationConfig(jdk.vm.ci.code.RegisterConfig registerConfig,
String[] allocationRestrictedTo) |
void |
setRuntimeConfiguration(RuntimeConfiguration runtimeConfiguration) |
addCodeInstallationTask, addInstalledCode, createCompiledCode, createDefaultInstalledCode, createInstalledCode, createInstalledCode, createInstalledCode, emitBackEnd, getCodeCache, getCompilationIdentifier, getConstantReflection, getForeignCalls, getMetaAccess, getProviders, getTarget, getValueKind
protected SubstrateBackend(org.graalvm.compiler.phases.util.Providers providers)
public void setRuntimeConfiguration(RuntimeConfiguration runtimeConfiguration)
public RuntimeConfiguration getRuntimeConfiguration()
public org.graalvm.compiler.phases.tiers.SuitesProvider getSuites()
getSuites
in class org.graalvm.compiler.core.target.Backend
public org.graalvm.compiler.code.CompilationResult newCompilationResult(org.graalvm.compiler.core.common.CompilationIdentifier compilationIdentifier, String name)
public org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig newRegisterAllocationConfig(jdk.vm.ci.code.RegisterConfig registerConfig, String[] allocationRestrictedTo)
newRegisterAllocationConfig
in class org.graalvm.compiler.core.target.Backend
public static boolean hasJavaFrameAnchor(org.graalvm.compiler.nodes.CallTargetNode callTarget)
public static org.graalvm.compiler.nodes.ValueNode getJavaFrameAnchor(org.graalvm.compiler.nodes.CallTargetNode callTarget)
JavaFrameAnchor
, see
CFunctionSnippets.matchCallStructure(com.oracle.svm.core.nodes.CFunctionPrologueNode)
.public abstract org.graalvm.compiler.phases.Phase newAddressLoweringPhase(jdk.vm.ci.code.CodeCacheProvider codeCache)
public abstract org.graalvm.compiler.code.CompilationResult createJNITrampolineMethod(jdk.vm.ci.meta.ResolvedJavaMethod method, org.graalvm.compiler.core.common.CompilationIdentifier identifier, jdk.vm.ci.code.RegisterValue threadArg, int threadIsolateOffset, jdk.vm.ci.code.RegisterValue methodIdArg, int methodObjEntryPointOffset)