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 |
SubstrateBackend.SubstrateMarkId
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 threadArg,
int threadIsolateOffset,
jdk.vm.ci.code.RegisterValue methodIdArg,
int methodObjEntryPointOffset) |
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() |
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,
org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig registerAllocationConfig,
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) |
protected static boolean |
useLinearPointerCompression() |
getJavaFrameAnchor, getNewThreadStatus, getRuntimeConfiguration, getSuites, hasJavaFrameAnchor, newCompilationResult, newRegisterAllocationConfig, setRuntimeConfiguration, shouldEmitOnlyIndirectCalls
addCodeInstallationTask, addInstalledCode, createDefaultInstalledCode, createInstalledCode, createInstalledCode, createInstalledCode, emitBackEnd, getCodeCache, getCompilationIdentifier, getConstantReflection, getForeignCalls, getMetaAccess, getProviders, getTarget, getValueKind
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, org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig registerAllocationConfig, org.graalvm.compiler.nodes.StructuredGraph graph, Object stub)
newLIRGenerationResult
in interface org.graalvm.compiler.core.gen.LIRGenerationProvider
protected org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator createArithmeticLIRGen(jdk.vm.ci.code.RegisterValue nullRegisterValue)
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.LIRGenerationProvider
protected 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.LIRGenerationProvider
protected static boolean useLinearPointerCompression()
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.LIRGenerationProvider
public org.graalvm.compiler.phases.Phase newAddressLoweringPhase(jdk.vm.ci.code.CodeCacheProvider codeCache)
newAddressLoweringPhase
in class SubstrateBackend
public 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.Backend
public 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.LIRGenerationProvider
public 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)
createJNITrampolineMethod
in class SubstrateBackend