public class SSILinearScanResolveDataFlowPhase extends LinearScanResolveDataFlowPhase
| Modifier and Type | Class and Description |
|---|---|
private class |
SSILinearScanResolveDataFlowPhase.MyPhiValueVisitor |
AllocationPhase.AllocationContextLIRPhase.Options| Modifier and Type | Field and Description |
|---|---|
private static DebugMetric |
numSSIResolutionMoves |
private static DebugMetric |
numStackToStackMoves |
allocator| Constructor and Description |
|---|
SSILinearScanResolveDataFlowPhase(LinearScan allocator) |
| Modifier and Type | Method and Description |
|---|---|
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.
|
optimizeEmptyBlocks, resolveDataFlow0, runrunapply, apply, createName, getNameprivate static final DebugMetric numSSIResolutionMoves
private static final DebugMetric numStackToStackMoves
public SSILinearScanResolveDataFlowPhase(LinearScan allocator)
protected void resolveDataFlow()
LinearScanResolveDataFlowPhaseresolveDataFlow in class LinearScanResolveDataFlowPhaseprotected void resolveCollectMappings(AbstractBlockBase<?> fromBlock, AbstractBlockBase<?> toBlock, AbstractBlockBase<?> midBlock, MoveResolver moveResolver)
resolveCollectMappings in class LinearScanResolveDataFlowPhase