| Modifier and Type | Field and Description |
|---|---|
private LIRPhaseSuite<AllocationPhase.AllocationContext> |
allocStage |
private LIRPhaseSuite<PostAllocationOptimizationPhase.PostAllocationOptimizationContext> |
postAllocStage |
private LIRPhaseSuite<PreAllocationOptimizationPhase.PreAllocationOptimizationContext> |
preAllocOptStage |
| Constructor and Description |
|---|
LIRSuites(LIRPhaseSuite<PreAllocationOptimizationPhase.PreAllocationOptimizationContext> preAllocOptStage,
LIRPhaseSuite<AllocationPhase.AllocationContext> allocStage,
LIRPhaseSuite<PostAllocationOptimizationPhase.PostAllocationOptimizationContext> postAllocStage) |
LIRSuites(LIRSuites other) |
| Modifier and Type | Method and Description |
|---|---|
LIRPhaseSuite<AllocationPhase.AllocationContext> |
getAllocationStage()
AllocationPhases are responsible for register allocation and translating
VirtualStackSlots into StackSlots. |
LIRPhaseSuite<PostAllocationOptimizationPhase.PostAllocationOptimizationContext> |
getPostAllocationOptimizationStage()
PostAllocationOptimizationPhases are executed after register allocation and before
machine code generation. |
LIRPhaseSuite<PreAllocationOptimizationPhase.PreAllocationOptimizationContext> |
getPreAllocationOptimizationStage()
PreAllocationOptimizationPhases are executed between LIR generation and
register allocation. |
private final LIRPhaseSuite<PreAllocationOptimizationPhase.PreAllocationOptimizationContext> preAllocOptStage
private final LIRPhaseSuite<AllocationPhase.AllocationContext> allocStage
private final LIRPhaseSuite<PostAllocationOptimizationPhase.PostAllocationOptimizationContext> postAllocStage
public LIRSuites(LIRPhaseSuite<PreAllocationOptimizationPhase.PreAllocationOptimizationContext> preAllocOptStage, LIRPhaseSuite<AllocationPhase.AllocationContext> allocStage, LIRPhaseSuite<PostAllocationOptimizationPhase.PostAllocationOptimizationContext> postAllocStage)
public LIRPhaseSuite<PreAllocationOptimizationPhase.PreAllocationOptimizationContext> getPreAllocationOptimizationStage()
PreAllocationOptimizationPhases are executed between LIR generation and
register allocation.
Implementers can create new
variables, stack
slots and virtual stack slots.
public LIRPhaseSuite<AllocationPhase.AllocationContext> getAllocationStage()
AllocationPhases are responsible for register allocation and translating
VirtualStackSlots into StackSlots.
After the AllocationStage there should be no more Variables and
VirtualStackSlots.
public LIRPhaseSuite<PostAllocationOptimizationPhase.PostAllocationOptimizationContext> getPostAllocationOptimizationStage()
PostAllocationOptimizationPhases are executed after register allocation and before
machine code generation.
A PostAllocationOptimizationPhase must not introduce new Variables,
VirtualStackSlots or StackSlots.