public final class LinearScanAssignLocationsPhase extends AllocationPhase
AllocationPhase.AllocationContextLIRPhase.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) |
runapply, apply, createName, getNameprivate 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 AllocationPhaseprivate Value colorLirOperand(Variable operand, int opId, LIRInstruction.OperandMode mode)
operand - an LIR instruction operandopId - the id of the LIR instruction using operandmode - 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()