public class SubstrateAArch64Backend extends SubstrateBackend implements org.graalvm.compiler.core.gen.LIRGenerationProvider
| Modifier and Type | Field and Description |
|---|---|
static String |
MARK_EPILOGUE_END |
static String |
MARK_EPILOGUE_INCD_RSP |
static String |
MARK_EPILOGUE_START |
static String |
MARK_PROLOGUE_DECD_RSP |
static String |
MARK_PROLOGUE_END |
static String |
MARK_PROLOGUE_SAVED_REGS |
| Constructor and Description |
|---|
SubstrateAArch64Backend(org.graalvm.compiler.phases.util.Providers providers) |
| Modifier and Type | Method and Description |
|---|---|
protected org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator |
createArithmeticLIRGen(jdk.vm.ci.meta.AllocatableValue nullRegisterValue) |
protected jdk.vm.ci.code.CompiledCode |
createCompiledCode(jdk.vm.ci.meta.ResolvedJavaMethod method,
jdk.vm.ci.code.CompilationRequest compilationRequest,
org.graalvm.compiler.code.CompilationResult compilationResult,
boolean isDefault,
org.graalvm.compiler.options.OptionValues options) |
org.graalvm.compiler.code.CompilationResult |
createJNITrampolineMethod(jdk.vm.ci.meta.ResolvedJavaMethod method,
org.graalvm.compiler.core.common.CompilationIdentifier identifier,
jdk.vm.ci.code.RegisterValue methodIdArg,
int offset) |
protected org.graalvm.compiler.core.common.spi.LIRKindTool |
createLirKindTool() |
protected org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules |
createMatchRules(org.graalvm.compiler.lir.gen.LIRGeneratorTool lirGen) |
protected org.graalvm.compiler.core.aarch64.AArch64MoveFactory |
createMoveFactory(org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes) |
void |
emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder crb,
org.graalvm.compiler.lir.LIR lir,
jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner) |
protected jdk.vm.ci.aarch64.AArch64Kind |
getCompressedOopKind() |
protected static org.graalvm.compiler.core.common.CompressEncoding |
getCompressEncoding() |
static int |
getDeoptScratchSpace()
Returns the amount of scratch space which must be reserved for return value registers in
DeoptimizedFrame. |
protected static SubstrateAArch64RegisterConfig |
getRegisterConfig(org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes) |
org.graalvm.compiler.phases.tiers.SuitesProvider |
getSuites() |
org.graalvm.compiler.phases.Phase |
newAddressLoweringPhase(jdk.vm.ci.code.CodeCacheProvider codeCache) |
org.graalvm.compiler.lir.asm.CompilationResultBuilder |
newCompilationResultBuilder(org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenResult,
org.graalvm.compiler.lir.framemap.FrameMap frameMap,
org.graalvm.compiler.code.CompilationResult compilationResult,
org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory) |
org.graalvm.compiler.lir.framemap.FrameMap |
newFrameMap(jdk.vm.ci.code.RegisterConfig registerConfig) |
org.graalvm.compiler.lir.framemap.FrameMapBuilder |
newFrameMapBuilder(jdk.vm.ci.code.RegisterConfig registerConfig) |
org.graalvm.compiler.lir.gen.LIRGenerationResult |
newLIRGenerationResult(org.graalvm.compiler.core.common.CompilationIdentifier compilationId,
org.graalvm.compiler.lir.LIR lir,
jdk.vm.ci.code.RegisterConfig registerConfig,
org.graalvm.compiler.nodes.StructuredGraph graph,
Object stub) |
org.graalvm.compiler.lir.gen.LIRGeneratorTool |
newLIRGenerator(org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes) |
org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool |
newNodeLIRBuilder(org.graalvm.compiler.nodes.StructuredGraph graph,
org.graalvm.compiler.lir.gen.LIRGeneratorTool lirGen) |
org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig |
newRegisterAllocationConfig(jdk.vm.ci.code.RegisterConfig registerConfig,
String[] allocationRestrictedTo) |
getJavaFrameAnchor, getRuntimeConfiguration, hasJavaFrameAnchor, newCompilationResult, setRuntimeConfigurationaddCodeInstallationTask, addInstalledCode, createDefaultInstalledCode, createInstalledCode, createInstalledCode, createInstalledCode, emitBackEnd, getCodeCache, getCompilationIdentifier, getConstantReflection, getForeignCalls, getMetaAccess, getProviders, getTarget, getValueKindpublic static final String MARK_PROLOGUE_DECD_RSP
public static final String MARK_PROLOGUE_SAVED_REGS
public static final String MARK_PROLOGUE_END
public static final String MARK_EPILOGUE_START
public static final String MARK_EPILOGUE_INCD_RSP
public static final String MARK_EPILOGUE_END
public SubstrateAArch64Backend(org.graalvm.compiler.phases.util.Providers providers)
protected static org.graalvm.compiler.core.common.CompressEncoding getCompressEncoding()
public org.graalvm.compiler.lir.framemap.FrameMapBuilder newFrameMapBuilder(jdk.vm.ci.code.RegisterConfig registerConfig)
public org.graalvm.compiler.lir.framemap.FrameMap newFrameMap(jdk.vm.ci.code.RegisterConfig registerConfig)
public org.graalvm.compiler.lir.asm.CompilationResultBuilder newCompilationResultBuilder(org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenResult,
org.graalvm.compiler.lir.framemap.FrameMap frameMap,
org.graalvm.compiler.code.CompilationResult compilationResult,
org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory factory)
newCompilationResultBuilder in interface org.graalvm.compiler.core.gen.LIRGenerationProviderprotected org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator createArithmeticLIRGen(jdk.vm.ci.meta.AllocatableValue nullRegisterValue)
protected static SubstrateAArch64RegisterConfig getRegisterConfig(org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes)
protected org.graalvm.compiler.core.aarch64.AArch64MoveFactory createMoveFactory(org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes)
protected org.graalvm.compiler.core.common.spi.LIRKindTool createLirKindTool()
public org.graalvm.compiler.lir.gen.LIRGeneratorTool newLIRGenerator(org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes)
newLIRGenerator in interface org.graalvm.compiler.core.gen.LIRGenerationProviderprotected jdk.vm.ci.aarch64.AArch64Kind getCompressedOopKind()
protected org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules createMatchRules(org.graalvm.compiler.lir.gen.LIRGeneratorTool lirGen)
public org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool newNodeLIRBuilder(org.graalvm.compiler.nodes.StructuredGraph graph,
org.graalvm.compiler.lir.gen.LIRGeneratorTool lirGen)
newNodeLIRBuilder in interface org.graalvm.compiler.core.gen.LIRGenerationProviderpublic org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig newRegisterAllocationConfig(jdk.vm.ci.code.RegisterConfig registerConfig,
String[] allocationRestrictedTo)
newRegisterAllocationConfig in class SubstrateBackendpublic org.graalvm.compiler.code.CompilationResult createJNITrampolineMethod(jdk.vm.ci.meta.ResolvedJavaMethod method,
org.graalvm.compiler.core.common.CompilationIdentifier identifier,
jdk.vm.ci.code.RegisterValue methodIdArg,
int offset)
createJNITrampolineMethod in class SubstrateBackendprotected jdk.vm.ci.code.CompiledCode createCompiledCode(jdk.vm.ci.meta.ResolvedJavaMethod method,
jdk.vm.ci.code.CompilationRequest compilationRequest,
org.graalvm.compiler.code.CompilationResult compilationResult,
boolean isDefault,
org.graalvm.compiler.options.OptionValues options)
createCompiledCode in class org.graalvm.compiler.core.target.Backendpublic void emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder crb,
org.graalvm.compiler.lir.LIR lir,
jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner)
emitCode in interface org.graalvm.compiler.core.gen.LIRGenerationProviderpublic org.graalvm.compiler.phases.tiers.SuitesProvider getSuites()
getSuites in class SubstrateBackendpublic static int getDeoptScratchSpace()
DeoptimizedFrame.public org.graalvm.compiler.lir.gen.LIRGenerationResult newLIRGenerationResult(org.graalvm.compiler.core.common.CompilationIdentifier compilationId,
org.graalvm.compiler.lir.LIR lir,
jdk.vm.ci.code.RegisterConfig registerConfig,
org.graalvm.compiler.nodes.StructuredGraph graph,
Object stub)
newLIRGenerationResult in interface org.graalvm.compiler.core.gen.LIRGenerationProviderpublic org.graalvm.compiler.phases.Phase newAddressLoweringPhase(jdk.vm.ci.code.CodeCacheProvider codeCache)
newAddressLoweringPhase in class SubstrateBackend