protected final class SubstrateAArch64Backend.SubstrateAArch64LIRGenerator extends org.graalvm.compiler.core.aarch64.AArch64LIRGenerator implements SubstrateLIRGenerator
org.graalvm.compiler.lir.gen.LIRGenerator.Options, org.graalvm.compiler.lir.gen.LIRGenerator.VariableProvider
Constructor and Description |
---|
SubstrateAArch64LIRGenerator(org.graalvm.compiler.core.common.spi.LIRKindTool lirKindTool,
org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator arithmeticLIRGen,
org.graalvm.compiler.lir.gen.LIRGeneratorTool.MoveFactory moveFactory,
org.graalvm.compiler.phases.util.Providers providers,
org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes) |
Modifier and Type | Method and Description |
---|---|
org.graalvm.compiler.lir.LIRInstruction |
createZapArgumentSpace(jdk.vm.ci.code.StackSlot[] zappedStack,
jdk.vm.ci.meta.JavaConstant[] zapValues) |
org.graalvm.compiler.lir.StandardOp.ZapRegistersOp |
createZapRegisters(jdk.vm.ci.code.Register[] zappedRegisters,
jdk.vm.ci.meta.JavaConstant[] zapValues) |
void |
emitCCall(long address,
jdk.vm.ci.code.CallingConvention nativeCallingConvention,
jdk.vm.ci.meta.Value[] args) |
jdk.vm.ci.meta.Value |
emitCompress(jdk.vm.ci.meta.Value pointer,
org.graalvm.compiler.core.common.CompressEncoding encoding,
boolean isNonNull) |
void |
emitConvertNullToZero(jdk.vm.ci.meta.AllocatableValue result,
jdk.vm.ci.meta.Value value) |
void |
emitConvertZeroToNull(jdk.vm.ci.meta.AllocatableValue result,
jdk.vm.ci.meta.Value value) |
void |
emitDeadEnd() |
void |
emitDeoptimize(jdk.vm.ci.meta.Value actionAndReason,
jdk.vm.ci.meta.Value failedSpeculation,
org.graalvm.compiler.lir.LIRFrameState state) |
void |
emitFarReturn(jdk.vm.ci.meta.AllocatableValue result,
jdk.vm.ci.meta.Value stackPointer,
jdk.vm.ci.meta.Value ip) |
protected void |
emitForeignCallOp(org.graalvm.compiler.core.common.spi.ForeignCallLinkage linkage,
jdk.vm.ci.meta.Value result,
jdk.vm.ci.meta.Value[] arguments,
jdk.vm.ci.meta.Value[] temps,
org.graalvm.compiler.lir.LIRFrameState info) |
void |
emitPrefetchAllocate(jdk.vm.ci.meta.Value address) |
void |
emitReturn(jdk.vm.ci.meta.JavaKind kind,
jdk.vm.ci.meta.Value input) |
jdk.vm.ci.meta.Value |
emitUncompress(jdk.vm.ci.meta.Value pointer,
org.graalvm.compiler.core.common.CompressEncoding encoding,
boolean isNonNull) |
void |
emitUnwind(jdk.vm.ci.meta.Value operand) |
void |
emitVerificationMarker(Object marker) |
SubstrateRegisterConfig |
getRegisterConfig() |
SubstrateAArch64Backend.SubstrateLIRGenerationResult |
getResult() |
asAddressValue, canStoreConstant, createStrategySwitchOp, emitAddress, emitArrayCompareTo, emitArrayEquals, emitAtomicReadAndAdd, emitAtomicReadAndWrite, emitByteSwap, emitCompare, emitCompareBranch, emitConditionalMove, emitIntegerTestBranch, emitIntegerTestMove, emitJump, emitLogicCompareAndSwap, emitMembar, emitNullCheck, emitOverflowCheckBranch, emitPause, emitSpeculationFence, emitStrategySwitch, emitTableSwitch, emitValueCompareAndSwap, emitZeroMemory, emitZeroMemory, isCompareConstant, loadNonCompareConst, loadReg, moveSp, toRegisterKind, zapValueForKind
append, asAllocatable, attributes, beforeRegisterAllocation, canInlineConstant, createBenchmarkCounter, createMultiBenchmarkCounter, createZapRegisters, createZapRegisters, emitBlackhole, emitConstant, emitForeignCall, emitHashTableSwitch, emitIncomingValues, emitJavaConstant, emitLoadConstant, emitMove, emitMove, emitMoveConstant, emitReadRegister, emitStrategySwitch, emitWriteRegister, getAddressKind, getArithmetic, getBlockScope, getCodeCache, getCurrentBlock, getForeignCalls, getLIRKind, getLIRKindTool, getMatchScope, getMetaAccess, getMoveFactory, getProviders, getSpillMoveFactory, getValueKind, hasBlockEnd, hasherFor, load, loadNonConst, mayEmbedConstantLoad, needOnlyOopMaps, newVariable, resultOperandFor, setSourcePosition, target, zapArgumentSpace
public SubstrateAArch64LIRGenerator(org.graalvm.compiler.core.common.spi.LIRKindTool lirKindTool, org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator arithmeticLIRGen, org.graalvm.compiler.lir.gen.LIRGeneratorTool.MoveFactory moveFactory, org.graalvm.compiler.phases.util.Providers providers, org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes)
public SubstrateAArch64Backend.SubstrateLIRGenerationResult getResult()
getResult
in interface org.graalvm.compiler.lir.gen.LIRGeneratorTool
getResult
in class org.graalvm.compiler.lir.gen.LIRGenerator
public SubstrateRegisterConfig getRegisterConfig()
getRegisterConfig
in interface org.graalvm.compiler.lir.gen.LIRGeneratorTool
getRegisterConfig
in class org.graalvm.compiler.lir.gen.LIRGenerator
protected void emitForeignCallOp(org.graalvm.compiler.core.common.spi.ForeignCallLinkage linkage, jdk.vm.ci.meta.Value result, jdk.vm.ci.meta.Value[] arguments, jdk.vm.ci.meta.Value[] temps, org.graalvm.compiler.lir.LIRFrameState info)
emitForeignCallOp
in class org.graalvm.compiler.lir.gen.LIRGenerator
public void emitUnwind(jdk.vm.ci.meta.Value operand)
emitUnwind
in interface org.graalvm.compiler.lir.gen.LIRGeneratorTool
public void emitDeoptimize(jdk.vm.ci.meta.Value actionAndReason, jdk.vm.ci.meta.Value failedSpeculation, org.graalvm.compiler.lir.LIRFrameState state)
emitDeoptimize
in interface org.graalvm.compiler.lir.gen.LIRGeneratorTool
public void emitVerificationMarker(Object marker)
emitVerificationMarker
in interface SubstrateLIRGenerator
public void emitFarReturn(jdk.vm.ci.meta.AllocatableValue result, jdk.vm.ci.meta.Value stackPointer, jdk.vm.ci.meta.Value ip)
emitFarReturn
in interface SubstrateLIRGenerator
public void emitDeadEnd()
emitDeadEnd
in interface SubstrateLIRGenerator
public void emitPrefetchAllocate(jdk.vm.ci.meta.Value address)
emitPrefetchAllocate
in interface org.graalvm.compiler.lir.gen.LIRGeneratorTool
public jdk.vm.ci.meta.Value emitCompress(jdk.vm.ci.meta.Value pointer, org.graalvm.compiler.core.common.CompressEncoding encoding, boolean isNonNull)
emitCompress
in interface org.graalvm.compiler.lir.gen.LIRGeneratorTool
public jdk.vm.ci.meta.Value emitUncompress(jdk.vm.ci.meta.Value pointer, org.graalvm.compiler.core.common.CompressEncoding encoding, boolean isNonNull)
emitUncompress
in interface org.graalvm.compiler.lir.gen.LIRGeneratorTool
public void emitCCall(long address, jdk.vm.ci.code.CallingConvention nativeCallingConvention, jdk.vm.ci.meta.Value[] args)
emitCCall
in class org.graalvm.compiler.core.aarch64.AArch64LIRGenerator
public org.graalvm.compiler.lir.StandardOp.ZapRegistersOp createZapRegisters(jdk.vm.ci.code.Register[] zappedRegisters, jdk.vm.ci.meta.JavaConstant[] zapValues)
createZapRegisters
in interface org.graalvm.compiler.lir.gen.DiagnosticLIRGeneratorTool
createZapRegisters
in class org.graalvm.compiler.lir.gen.LIRGenerator
public org.graalvm.compiler.lir.LIRInstruction createZapArgumentSpace(jdk.vm.ci.code.StackSlot[] zappedStack, jdk.vm.ci.meta.JavaConstant[] zapValues)
createZapArgumentSpace
in interface org.graalvm.compiler.lir.gen.DiagnosticLIRGeneratorTool
createZapArgumentSpace
in class org.graalvm.compiler.lir.gen.LIRGenerator
public void emitConvertNullToZero(jdk.vm.ci.meta.AllocatableValue result, jdk.vm.ci.meta.Value value)
emitConvertNullToZero
in interface org.graalvm.compiler.lir.gen.LIRGeneratorTool
public void emitConvertZeroToNull(jdk.vm.ci.meta.AllocatableValue result, jdk.vm.ci.meta.Value value)
emitConvertZeroToNull
in interface org.graalvm.compiler.lir.gen.LIRGeneratorTool
public void emitReturn(jdk.vm.ci.meta.JavaKind kind, jdk.vm.ci.meta.Value input)
emitReturn
in interface org.graalvm.compiler.lir.gen.LIRGeneratorTool