protected class SubstrateAMD64Backend.SubstrateAMD64LIRGenerator extends org.graalvm.compiler.core.amd64.AMD64LIRGenerator implements SubstrateLIRGenerator
org.graalvm.compiler.lir.gen.LIRGenerator.Options, org.graalvm.compiler.lir.gen.LIRGenerator.VariableProvider
Constructor and Description |
---|
SubstrateAMD64LIRGenerator(org.graalvm.compiler.core.common.spi.LIRKindTool lirKindTool,
org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator 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 |
---|---|
void |
emitCCall(long address,
jdk.vm.ci.code.CallingConvention nativeCallingConvention,
jdk.vm.ci.meta.Value[] args,
int numberOfFloatingPointArguments) |
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 sp,
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) |
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() |
SubstrateAMD64Backend.SubstrateLIRGenerationResult |
getResult() |
asAddressValue, canStoreConstant, createStrategySwitchOp, createZapArgumentSpace, createZapRegisters, emitAddress, emitArrayCompareTo, emitArrayEquals, emitArrayEquals, emitArrayIndexOf, emitAtomicReadAndAdd, emitAtomicReadAndWrite, emitByteSwap, emitCacheWriteback, emitCacheWritebackSync, emitCompareAndSwapBranch, emitCompareBranch, emitCompareBranchMemory, emitConditionalMove, emitHashTableSwitch, emitIntegerTestBranch, emitIntegerTestMove, emitJump, emitLogicCompareAndSwap, emitMembar, emitNullCheck, emitOverflowCheckBranch, emitPause, emitReturn, emitSpeculationFence, emitStrategySwitch, emitStringLatin1Inflate, emitStringUTF16Compress, emitTableSwitch, emitValueCompareAndSwap, emitZeroMemory, getAVX3Threshold, getMaxVectorSize, getRegisterSize, hasherFor, toRegisterKind, zapValueForKind
append, asAllocatable, attributes, beforeRegisterAllocation, canInlineConstant, createBenchmarkCounter, createMultiBenchmarkCounter, createZapRegisters, createZapRegisters, emitBlackhole, emitConstant, emitForeignCall, emitIncomingValues, emitJavaConstant, emitLoadConstant, emitMove, emitMove, emitMoveConstant, emitReadRegister, emitStrategySwitch, emitWriteRegister, getAddressKind, getArithmetic, getBlockScope, getCodeCache, getCurrentBlock, getForeignCalls, getLIRKind, getLIRKindTool, getMatchScope, getMetaAccess, getMoveFactory, getProviders, getSpillMoveFactory, getValueKind, hasBlockEnd, load, loadNonConst, mayEmbedConstantLoad, needOnlyOopMaps, newVariable, resultOperandFor, setSourcePosition, target, zapArgumentSpace
public SubstrateAMD64LIRGenerator(org.graalvm.compiler.core.common.spi.LIRKindTool lirKindTool, org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator arithmeticLIRGen, org.graalvm.compiler.lir.gen.LIRGeneratorTool.MoveFactory moveFactory, org.graalvm.compiler.phases.util.Providers providers, org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes)
public SubstrateAMD64Backend.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 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.LIRGenerator
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)
emitForeignCallOp
in class org.graalvm.compiler.core.amd64.AMD64LIRGenerator
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 emitCCall(long address, jdk.vm.ci.code.CallingConvention nativeCallingConvention, jdk.vm.ci.meta.Value[] args, int numberOfFloatingPointArguments)
emitCCall
in class org.graalvm.compiler.core.amd64.AMD64LIRGenerator
public void emitVerificationMarker(Object marker)
emitVerificationMarker
in interface SubstrateLIRGenerator
public void emitInstructionSynchronizationBarrier()
emitInstructionSynchronizationBarrier
in interface SubstrateLIRGenerator
public void emitFarReturn(jdk.vm.ci.meta.AllocatableValue result, jdk.vm.ci.meta.Value sp, jdk.vm.ci.meta.Value ip, boolean fromMethodWithCalleeSavedRegisters)
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 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