protected 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.MoveFactory moveFactory,
org.graalvm.compiler.phases.util.Providers providers,
org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes) |
| Modifier and Type | Method and Description |
|---|---|
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,
boolean fromMethodWithCalleeSavedRegisters) |
protected void |
emitForeignCallOp(org.graalvm.compiler.core.common.spi.ForeignCallLinkage linkage,
jdk.vm.ci.meta.Value targetAddress,
jdk.vm.ci.meta.Value result,
jdk.vm.ci.meta.Value[] arguments,
jdk.vm.ci.meta.Value[] temps,
org.graalvm.compiler.lir.LIRFrameState info) |
protected jdk.vm.ci.meta.Value |
emitIndirectForeignCallAddress(org.graalvm.compiler.core.common.spi.ForeignCallLinkage linkage) |
void |
emitInstructionSynchronizationBarrier() |
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) |
protected boolean |
getDestroysCallerSavedRegisters(jdk.vm.ci.meta.ResolvedJavaMethod targetMethod) |
SubstrateRegisterConfig |
getRegisterConfig() |
SubstrateAArch64Backend.SubstrateLIRGenerationResult |
getResult() |
asAddressValue, createStrategySwitchOp, createZapArgumentSpace, createZapRegisters, emitAddress, emitArrayCompareTo, emitArrayEquals, emitArrayIndexOf, emitAtomicReadAndAdd, emitAtomicReadAndWrite, emitByteSwap, emitCacheWriteback, emitCacheWritebackSync, emitCompare, emitCompareBranch, emitConditionalMove, emitIntegerTestBranch, emitIntegerTestMove, emitJump, emitLogicCompareAndSwap, emitMembar, emitNullCheck, emitOverflowCheckBranch, emitPause, emitSpeculationFence, emitStrategySwitch, emitTableSwitch, emitValueCompareAndSwap, emitZeroMemory, emitZeroMemory, loadReg, moveSp, toRegisterKind, zapValueForKindappend, 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, zapArgumentSpacepublic SubstrateAArch64LIRGenerator(org.graalvm.compiler.core.common.spi.LIRKindTool lirKindTool,
org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator arithmeticLIRGen,
org.graalvm.compiler.lir.gen.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.LIRGeneratorToolgetResult in class org.graalvm.compiler.lir.gen.LIRGeneratorpublic SubstrateRegisterConfig getRegisterConfig()
getRegisterConfig in interface org.graalvm.compiler.lir.gen.LIRGeneratorToolgetRegisterConfig in class org.graalvm.compiler.lir.gen.LIRGeneratorprotected boolean getDestroysCallerSavedRegisters(jdk.vm.ci.meta.ResolvedJavaMethod targetMethod)
protected jdk.vm.ci.meta.Value emitIndirectForeignCallAddress(org.graalvm.compiler.core.common.spi.ForeignCallLinkage linkage)
emitIndirectForeignCallAddress in class org.graalvm.compiler.lir.gen.LIRGeneratorprotected void emitForeignCallOp(org.graalvm.compiler.core.common.spi.ForeignCallLinkage linkage,
jdk.vm.ci.meta.Value targetAddress,
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.LIRGeneratorpublic void emitUnwind(jdk.vm.ci.meta.Value operand)
emitUnwind in interface org.graalvm.compiler.lir.gen.LIRGeneratorToolpublic 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.LIRGeneratorToolpublic void emitVerificationMarker(Object marker)
emitVerificationMarker in interface SubstrateLIRGeneratorpublic void emitInstructionSynchronizationBarrier()
emitInstructionSynchronizationBarrier in interface SubstrateLIRGeneratorpublic void emitFarReturn(jdk.vm.ci.meta.AllocatableValue result,
jdk.vm.ci.meta.Value stackPointer,
jdk.vm.ci.meta.Value ip,
boolean fromMethodWithCalleeSavedRegisters)
emitFarReturn in interface SubstrateLIRGeneratorpublic void emitDeadEnd()
emitDeadEnd in interface SubstrateLIRGeneratorpublic void emitPrefetchAllocate(jdk.vm.ci.meta.Value address)
emitPrefetchAllocate in interface org.graalvm.compiler.lir.gen.LIRGeneratorToolpublic 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.LIRGeneratorToolpublic 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.LIRGeneratorToolpublic void emitCCall(long address,
jdk.vm.ci.code.CallingConvention nativeCallingConvention,
jdk.vm.ci.meta.Value[] args)
emitCCall in class org.graalvm.compiler.core.aarch64.AArch64LIRGeneratorpublic void emitConvertNullToZero(jdk.vm.ci.meta.AllocatableValue result,
jdk.vm.ci.meta.Value value)
emitConvertNullToZero in interface org.graalvm.compiler.lir.gen.LIRGeneratorToolpublic void emitConvertZeroToNull(jdk.vm.ci.meta.AllocatableValue result,
jdk.vm.ci.meta.Value value)
emitConvertZeroToNull in interface org.graalvm.compiler.lir.gen.LIRGeneratorToolpublic void emitReturn(jdk.vm.ci.meta.JavaKind kind,
jdk.vm.ci.meta.Value input)
emitReturn in interface org.graalvm.compiler.lir.gen.LIRGeneratorTool