public final class LinearScanAssignLocationsPhase extends AllocationPhase
AllocationPhase.AllocationContext
LIRPhase.Options
Modifier and Type | Field and Description |
---|---|
private LinearScan |
allocator |
Constructor and Description |
---|
LinearScanAssignLocationsPhase(LinearScan allocator) |
Modifier and Type | Method and Description |
---|---|
private void |
assignLocations() |
private void |
assignLocations(List<LIRInstruction> instructions) |
private Value |
colorLirOperand(Variable operand,
int opId,
LIRInstruction.OperandMode mode)
Assigns the allocated location for an LIR instruction operand back into the instruction.
|
private void |
computeDebugInfo(LIRInstruction op,
LIRFrameState info) |
private Value |
debugInfoProcedure(LIRInstruction op,
Value operand,
LIRInstruction.OperandMode valueMode,
EnumSet<LIRInstruction.OperandFlag> flags) |
protected <B extends AbstractBlockBase<B>> |
run(TargetDescription target,
LIRGenerationResult lirGenRes,
List<B> codeEmittingOrder,
List<B> linearScanOrder,
LIRGeneratorTool.SpillMoveFactory spillMoveFactory,
RegisterAllocationConfig registerAllocationConfig) |
run
apply, apply, createName, getName
private final LinearScan allocator
LinearScanAssignLocationsPhase(LinearScan allocator)
protected <B extends AbstractBlockBase<B>> void run(TargetDescription target, LIRGenerationResult lirGenRes, List<B> codeEmittingOrder, List<B> linearScanOrder, LIRGeneratorTool.SpillMoveFactory spillMoveFactory, RegisterAllocationConfig registerAllocationConfig)
run
in class AllocationPhase
private Value colorLirOperand(Variable operand, int opId, LIRInstruction.OperandMode mode)
operand
- an LIR instruction operandopId
- the id of the LIR instruction using operand
mode
- the usage mode for operand
by the instructionprivate Value debugInfoProcedure(LIRInstruction op, Value operand, LIRInstruction.OperandMode valueMode, EnumSet<LIRInstruction.OperandFlag> flags)
op
- operand
- valueMode
- flags
- InstructionValueProcedure#doValue(LIRInstruction, Value, OperandMode, EnumSet)
private void computeDebugInfo(LIRInstruction op, LIRFrameState info)
private void assignLocations(List<LIRInstruction> instructions)
private void assignLocations()