public class SSILinearScanLifetimeAnalysisPhase extends LinearScanLifetimeAnalysisPhase
AllocationPhase.AllocationContext
LIRPhase.Options
allocator
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, verifyLiveness
run
apply, apply, createName, getName
public SSILinearScanLifetimeAnalysisPhase(LinearScan linearScan)
protected void addRegisterHint(LIRInstruction op, Value targetValue, LIRInstruction.OperandMode mode, EnumSet<LIRInstruction.OperandFlag> flags, boolean hintAtDef)
addRegisterHint
in class LinearScanLifetimeAnalysisPhase
protected void changeSpillDefinitionPos(LIRInstruction op, AllocatableValue operand, Interval interval, int defPos)
LinearScanLifetimeAnalysisPhase
changeSpillDefinitionPos
in class LinearScanLifetimeAnalysisPhase
protected void buildIntervals()
buildIntervals
in class LinearScanLifetimeAnalysisPhase
protected Interval.RegisterPriority registerPriorityOfOutputOperand(LIRInstruction op)
LinearScanLifetimeAnalysisPhase
registerPriorityOfOutputOperand
in class LinearScanLifetimeAnalysisPhase