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.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, 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, supportsCPUFeature, supportsCPUFeature, toRegisterKind, zapValueForKindappend, 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, zapArgumentSpacepublic SubstrateAMD64LIRGenerator(org.graalvm.compiler.core.common.spi.LIRKindTool lirKindTool,
org.graalvm.compiler.core.amd64.AMD64ArithmeticLIRGenerator arithmeticLIRGen,
org.graalvm.compiler.lir.gen.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.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.core.amd64.AMD64LIRGeneratorpublic 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 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.AMD64LIRGeneratorpublic 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 sp,
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 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.LIRGeneratorTool