public class LinearScanResolveDataFlowPhase extends AllocationPhase
AllocationPhase.AllocationContextLIRPhase.Options| Modifier and Type | Field and Description |
|---|---|
protected LinearScan |
allocator |
| Modifier | Constructor and Description |
|---|---|
protected |
LinearScanResolveDataFlowPhase(LinearScan allocator) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
optimizeEmptyBlocks(MoveResolver moveResolver,
BitSet blockCompleted) |
protected void |
resolveCollectMappings(AbstractBlockBase<?> fromBlock,
AbstractBlockBase<?> toBlock,
AbstractBlockBase<?> midBlock,
MoveResolver moveResolver) |
protected void |
resolveDataFlow()
Inserts necessary moves (spilling or reloading) at edges between blocks for intervals that
have been split.
|
protected void |
resolveDataFlow0(MoveResolver moveResolver,
BitSet blockCompleted) |
(package private) void |
resolveFindInsertPos(AbstractBlockBase<?> fromBlock,
AbstractBlockBase<?> toBlock,
MoveResolver moveResolver) |
protected <B extends AbstractBlockBase<B>> |
run(TargetDescription target,
LIRGenerationResult lirGenRes,
List<B> codeEmittingOrder,
List<B> linearScanOrder,
LIRGeneratorTool.SpillMoveFactory spillMoveFactory,
RegisterAllocationConfig registerAllocationConfig) |
runapply, apply, createName, getNameprotected final LinearScan allocator
protected LinearScanResolveDataFlowPhase(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 AllocationPhaseprotected void resolveCollectMappings(AbstractBlockBase<?> fromBlock, AbstractBlockBase<?> toBlock, AbstractBlockBase<?> midBlock, MoveResolver moveResolver)
void resolveFindInsertPos(AbstractBlockBase<?> fromBlock, AbstractBlockBase<?> toBlock, MoveResolver moveResolver)
protected void resolveDataFlow()
protected void optimizeEmptyBlocks(MoveResolver moveResolver, BitSet blockCompleted)
protected void resolveDataFlow0(MoveResolver moveResolver, BitSet blockCompleted)