public class SubstrateAMD64Backend extends SubstrateBackend implements org.graalvm.compiler.core.gen.LIRGenerationProvider
| Modifier and Type | Class and Description |
|---|---|
static class |
SubstrateAMD64Backend.DeadEndOp
Marks a point that is unreachable because a previous instruction never returns.
|
protected static class |
SubstrateAMD64Backend.DeoptEntryStubContext
Generates the prolog of a
Deoptimizer.StubType.EntryStub
method. |
protected static class |
SubstrateAMD64Backend.DeoptExitStubContext
Generates the epilog of a
Deoptimizer.StubType.ExitStub
method. |
static class |
SubstrateAMD64Backend.SubstrateAMD64DirectCallOp |
protected static class |
SubstrateAMD64Backend.SubstrateAMD64FrameContext |
static class |
SubstrateAMD64Backend.SubstrateAMD64IndirectCallOp |
protected class |
SubstrateAMD64Backend.SubstrateAMD64LIRGenerator |
protected static class |
SubstrateAMD64Backend.SubstrateAMD64LIRKindTool |
protected static class |
SubstrateAMD64Backend.SubstrateAMD64MoveFactory |
class |
SubstrateAMD64Backend.SubstrateAMD64NodeLIRBuilder |
protected static class |
SubstrateAMD64Backend.SubstrateLIRGenerationResult |
| 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 |
|---|
SubstrateAMD64Backend(org.graalvm.compiler.phases.util.Providers providers) |
| Modifier and Type | Method and Description |
|---|---|
protected org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator |
createArithmeticLIRGen(jdk.vm.ci.code.RegisterValue nullRegisterValue) |
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.amd64.AMD64NodeMatchRules |
createMatchRules(org.graalvm.compiler.lir.gen.LIRGeneratorTool lirGen) |
protected org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase |
createMoveFactory(org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes,
org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase.BackupSlotProvider backupSlotProvider) |
void |
emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder crb,
org.graalvm.compiler.lir.LIR lir,
jdk.vm.ci.meta.ResolvedJavaMethod installedCodeOwner) |
protected static org.graalvm.compiler.core.common.CompressEncoding |
getCompressEncoding() |
protected static SubstrateAMD64RegisterConfig |
getRegisterConfig(org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes) |
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.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) |
getJavaFrameAnchor, getRuntimeConfiguration, getSuites, hasJavaFrameAnchor, newCompilationResult, newRegisterAllocationConfig, 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 SubstrateAMD64Backend(org.graalvm.compiler.phases.util.Providers providers)
protected static org.graalvm.compiler.core.common.CompressEncoding getCompressEncoding()
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.LIRGenerationProviderprotected org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator createArithmeticLIRGen(jdk.vm.ci.code.RegisterValue nullRegisterValue)
protected static SubstrateAMD64RegisterConfig getRegisterConfig(org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes)
protected org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase createMoveFactory(org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes,
org.graalvm.compiler.core.amd64.AMD64MoveFactoryBase.BackupSlotProvider backupSlotProvider)
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 org.graalvm.compiler.core.amd64.AMD64NodeMatchRules 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.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.LIRGenerationProviderpublic org.graalvm.compiler.phases.Phase newAddressLoweringPhase(jdk.vm.ci.code.CodeCacheProvider codeCache)
newAddressLoweringPhase in class SubstrateBackendpublic 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.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 SubstrateBackend