public interface HotSpotLIRGenerator extends LIRGeneratorTool
LIRGenerator
and LIRGeneratorTool
.LIRGeneratorTool.BlockScope, LIRGeneratorTool.SpillMoveFactory
append, asAllocatable, attributes, beforeRegisterAllocation, emitAddress, emitArrayEquals, emitAtomicReadAndAdd, emitAtomicReadAndWrite, emitBitCount, emitBitScanForward, emitBitScanReverse, emitBlackhole, emitByteSwap, emitCompareAndSwap, emitCompareBranch, emitConditionalMove, emitCountLeadingZeros, emitCountTrailingZeros, emitData, emitDeoptimize, emitForeignCall, emitIncomingValues, emitIntegerTestBranch, emitIntegerTestMove, emitJump, emitLoad, emitLoadConstant, emitMembar, emitMove, emitMove, emitNullCheck, emitOverflowCheckBranch, emitReturn, emitStore, emitStrategySwitch, emitStrategySwitch, emitUnwind, getBlockScope, getCallingConvention, getCodeCache, getCurrentBlock, getForeignCalls, getMetaAccess, getResult, getSpillMoveFactory, hasBlockEnd, load, loadNonConst, needOnlyOopMaps, newVariable, resultOperandFor, target
emitAdd, emitAnd, emitDiv, emitFloatConvert, emitMathAbs, emitMathSqrt, emitMul, emitMulHigh, emitNarrow, emitNegate, emitNot, emitOr, emitReinterpret, emitRem, emitShl, emitShr, emitSignExtend, emitSub, emitUDiv, emitUMulHigh, emitURem, emitUShr, emitXor, emitZeroExtend, getLIRKind
createBenchmarkCounter, createMultiBenchmarkCounter
void emitTailcall(Value[] args, Value address)
args
- the arguments of the calladdress
- the target address of the callvoid emitDeoptimizeCaller(DeoptimizationAction action, DeoptimizationReason reason)
StandardOp.SaveRegistersOp emitSaveAllRegisters()
SaveAllRegistersNode
.StandardOp.SaveRegistersOp
operationdefault void emitLeaveCurrentStackFrame(StandardOp.SaveRegistersOp saveRegisterOp)
LeaveCurrentStackFrameNode
.saveRegisterOp
- saved registersdefault void emitLeaveDeoptimizedStackFrame(Value frameSize, Value initialInfo)
LeaveDeoptimizedStackFrameNode
.frameSize
- initialInfo
- default void emitEnterUnpackFramesStackFrame(Value framePc, Value senderSp, Value senderFp, StandardOp.SaveRegistersOp saveRegisterOp)
EnterUnpackFramesStackFrameNode
.framePc
- senderSp
- senderFp
- saveRegisterOp
- default void emitLeaveUnpackFramesStackFrame(StandardOp.SaveRegistersOp saveRegisterOp)
LeaveUnpackFramesStackFrameNode
.saveRegisterOp
- default void emitPushInterpreterFrame(Value frameSize, Value framePc, Value senderSp, Value initialInfo)
PushInterpreterFrameNode
.frameSize
- framePc
- senderSp
- initialInfo
- default Value emitUncommonTrapCall(Value trapRequest, StandardOp.SaveRegistersOp saveRegisterOp)
UncommonTrapCallNode
.trapRequest
- saveRegisterOp
- Deoptimization::UnrollBlock
pointerdefault Value emitDeoptimizationFetchUnrollInfoCall(StandardOp.SaveRegistersOp saveRegisterOp)
DeoptimizationFetchUnrollInfoCallNode
.saveRegisterOp
- Deoptimization::UnrollBlock
pointerdefault Value emitCardTableShift()
default Value emitCardTableAddress()
StackSlotValue getLockSlot(int lockDepth)
HotSpotProviders getProviders()
getProviders
in interface LIRGeneratorTool
Value emitCompress(Value pointer, HotSpotVMConfig.CompressEncoding encoding, boolean nonNull)
Value emitUncompress(Value pointer, HotSpotVMConfig.CompressEncoding encoding, boolean nonNull)
void emitPrefetchAllocate(Value address)