public class SSILinearScanLifetimeAnalysisPhase extends LinearScanLifetimeAnalysisPhase
AllocationPhase.AllocationContextLIRPhase.Optionsallocator| Constructor and Description |
|---|
SSILinearScanLifetimeAnalysisPhase(LinearScan linearScan) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addRegisterHint(LIRInstruction op,
Value targetValue,
LIRInstruction.OperandMode mode,
EnumSet<LIRInstruction.OperandFlag> flags,
boolean hintAtDef) |
protected void |
buildIntervals() |
protected void |
changeSpillDefinitionPos(LIRInstruction op,
AllocatableValue operand,
Interval interval,
int defPos)
Eliminates moves from register to stack if the stack slot is known to be correct.
|
protected Interval.RegisterPriority |
registerPriorityOfOutputOperand(LIRInstruction op)
Determines the register priority for an instruction's output/result operand.
|
addDef, addTemp, addUse, computeGlobalLiveSets, getMaterializedValue, handleMethodArguments, numberInstructions, registerPriorityOfInputOperand, reportFailure, run, verifyLivenessrunapply, apply, createName, getNamepublic SSILinearScanLifetimeAnalysisPhase(LinearScan linearScan)
protected void addRegisterHint(LIRInstruction op, Value targetValue, LIRInstruction.OperandMode mode, EnumSet<LIRInstruction.OperandFlag> flags, boolean hintAtDef)
addRegisterHint in class LinearScanLifetimeAnalysisPhaseprotected void changeSpillDefinitionPos(LIRInstruction op, AllocatableValue operand, Interval interval, int defPos)
LinearScanLifetimeAnalysisPhasechangeSpillDefinitionPos in class LinearScanLifetimeAnalysisPhaseprotected void buildIntervals()
buildIntervals in class LinearScanLifetimeAnalysisPhaseprotected Interval.RegisterPriority registerPriorityOfOutputOperand(LIRInstruction op)
LinearScanLifetimeAnalysisPhaseregisterPriorityOfOutputOperand in class LinearScanLifetimeAnalysisPhase