Modifier and Type | Field and Description |
---|---|
static com.oracle.graal.compiler.common.spi.ForeignCallDescriptor |
ARITHMETIC_COS |
static com.oracle.graal.compiler.common.spi.ForeignCallDescriptor |
ARITHMETIC_EXP |
static com.oracle.graal.compiler.common.spi.ForeignCallDescriptor |
ARITHMETIC_LOG |
static com.oracle.graal.compiler.common.spi.ForeignCallDescriptor |
ARITHMETIC_LOG10 |
static com.oracle.graal.compiler.common.spi.ForeignCallDescriptor |
ARITHMETIC_POW |
static com.oracle.graal.compiler.common.spi.ForeignCallDescriptor |
ARITHMETIC_SIN |
static com.oracle.graal.compiler.common.spi.ForeignCallDescriptor |
ARITHMETIC_TAN |
private com.oracle.graal.phases.util.Providers |
providers |
Modifier | Constructor and Description |
---|---|
protected |
Backend(com.oracle.graal.phases.util.Providers providers) |
Modifier and Type | Method and Description |
---|---|
protected abstract Assembler |
createAssembler(com.oracle.graal.lir.framemap.FrameMap frameMap)
Creates the assembler used to emit the machine code.
|
abstract void |
emitCode(com.oracle.graal.lir.asm.CompilationResultBuilder crb,
com.oracle.graal.lir.LIR lir,
jdk.internal.jvmci.meta.ResolvedJavaMethod installedCodeOwner)
Emits the code for a given graph.
|
jdk.internal.jvmci.code.CodeCacheProvider |
getCodeCache() |
jdk.internal.jvmci.meta.ConstantReflectionProvider |
getConstantReflection() |
com.oracle.graal.compiler.common.spi.ForeignCallsProvider |
getForeignCalls() |
jdk.internal.jvmci.meta.MetaAccessProvider |
getMetaAccess() |
com.oracle.graal.phases.util.Providers |
getProviders() |
abstract jdk.internal.jvmci.code.stack.StackIntrospection |
getStackIntrospection() |
abstract com.oracle.graal.phases.tiers.SuitesProvider |
getSuites() |
jdk.internal.jvmci.code.TargetDescription |
getTarget() |
BytecodeLIRBuilder |
newBytecodeLIRBuilder(com.oracle.graal.lir.gen.LIRGeneratorTool gen,
BytecodeParserTool parser) |
abstract com.oracle.graal.lir.asm.CompilationResultBuilder |
newCompilationResultBuilder(com.oracle.graal.lir.gen.LIRGenerationResult lirGenResult,
com.oracle.graal.lir.framemap.FrameMap frameMap,
jdk.internal.jvmci.code.CompilationResult compilationResult,
com.oracle.graal.lir.asm.CompilationResultBuilderFactory factory)
Creates the object used to fill in the details of a given compilation result.
|
abstract com.oracle.graal.lir.framemap.FrameMap |
newFrameMap(jdk.internal.jvmci.code.RegisterConfig registerConfig) |
abstract com.oracle.graal.lir.framemap.FrameMapBuilder |
newFrameMapBuilder(jdk.internal.jvmci.code.RegisterConfig registerConfig)
The given registerConfig is optional, in case null is passed the default RegisterConfig from
the CodeCacheProvider will be used.
|
abstract com.oracle.graal.lir.gen.LIRGenerationResult |
newLIRGenerationResult(String compilationUnitName,
com.oracle.graal.lir.LIR lir,
com.oracle.graal.lir.framemap.FrameMapBuilder frameMapBuilder,
jdk.internal.jvmci.meta.ResolvedJavaMethod method,
Object stub) |
abstract com.oracle.graal.lir.gen.LIRGeneratorTool |
newLIRGenerator(jdk.internal.jvmci.code.CallingConvention cc,
com.oracle.graal.lir.gen.LIRGenerationResult lirGenRes) |
abstract com.oracle.graal.nodes.spi.NodeLIRBuilderTool |
newNodeLIRBuilder(com.oracle.graal.nodes.StructuredGraph graph,
com.oracle.graal.lir.gen.LIRGeneratorTool lirGen) |
abstract com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig |
newRegisterAllocationConfig(jdk.internal.jvmci.code.RegisterConfig registerConfig) |
private final com.oracle.graal.phases.util.Providers providers
public static final com.oracle.graal.compiler.common.spi.ForeignCallDescriptor ARITHMETIC_SIN
public static final com.oracle.graal.compiler.common.spi.ForeignCallDescriptor ARITHMETIC_COS
public static final com.oracle.graal.compiler.common.spi.ForeignCallDescriptor ARITHMETIC_TAN
public static final com.oracle.graal.compiler.common.spi.ForeignCallDescriptor ARITHMETIC_EXP
public static final com.oracle.graal.compiler.common.spi.ForeignCallDescriptor ARITHMETIC_LOG
public static final com.oracle.graal.compiler.common.spi.ForeignCallDescriptor ARITHMETIC_LOG10
public static final com.oracle.graal.compiler.common.spi.ForeignCallDescriptor ARITHMETIC_POW
protected Backend(com.oracle.graal.phases.util.Providers providers)
public com.oracle.graal.phases.util.Providers getProviders()
public jdk.internal.jvmci.code.CodeCacheProvider getCodeCache()
public jdk.internal.jvmci.meta.MetaAccessProvider getMetaAccess()
public jdk.internal.jvmci.meta.ConstantReflectionProvider getConstantReflection()
public com.oracle.graal.compiler.common.spi.ForeignCallsProvider getForeignCalls()
public abstract com.oracle.graal.phases.tiers.SuitesProvider getSuites()
public jdk.internal.jvmci.code.TargetDescription getTarget()
public abstract com.oracle.graal.lir.framemap.FrameMapBuilder newFrameMapBuilder(jdk.internal.jvmci.code.RegisterConfig registerConfig)
public abstract com.oracle.graal.compiler.common.alloc.RegisterAllocationConfig newRegisterAllocationConfig(jdk.internal.jvmci.code.RegisterConfig registerConfig)
public abstract com.oracle.graal.lir.framemap.FrameMap newFrameMap(jdk.internal.jvmci.code.RegisterConfig registerConfig)
public abstract com.oracle.graal.lir.gen.LIRGeneratorTool newLIRGenerator(jdk.internal.jvmci.code.CallingConvention cc, com.oracle.graal.lir.gen.LIRGenerationResult lirGenRes)
public abstract com.oracle.graal.lir.gen.LIRGenerationResult newLIRGenerationResult(String compilationUnitName, com.oracle.graal.lir.LIR lir, com.oracle.graal.lir.framemap.FrameMapBuilder frameMapBuilder, jdk.internal.jvmci.meta.ResolvedJavaMethod method, Object stub)
public abstract com.oracle.graal.nodes.spi.NodeLIRBuilderTool newNodeLIRBuilder(com.oracle.graal.nodes.StructuredGraph graph, com.oracle.graal.lir.gen.LIRGeneratorTool lirGen)
public BytecodeLIRBuilder newBytecodeLIRBuilder(com.oracle.graal.lir.gen.LIRGeneratorTool gen, BytecodeParserTool parser)
gen
- the LIRGenerator the BytecodeLIRBuilder should useparser
- the bytecode parser the BytecodeLIRBuilder should useprotected abstract Assembler createAssembler(com.oracle.graal.lir.framemap.FrameMap frameMap)
public abstract com.oracle.graal.lir.asm.CompilationResultBuilder newCompilationResultBuilder(com.oracle.graal.lir.gen.LIRGenerationResult lirGenResult, com.oracle.graal.lir.framemap.FrameMap frameMap, jdk.internal.jvmci.code.CompilationResult compilationResult, com.oracle.graal.lir.asm.CompilationResultBuilderFactory factory)
public abstract jdk.internal.jvmci.code.stack.StackIntrospection getStackIntrospection()
public abstract void emitCode(com.oracle.graal.lir.asm.CompilationResultBuilder crb, com.oracle.graal.lir.LIR lir, jdk.internal.jvmci.meta.ResolvedJavaMethod installedCodeOwner)
installedCodeOwner
- the method the compiled code will be associated with once
installed. This argument can be null.