public class LIRSuites extends Object
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 |
---|---|
LIRSuites |
copy() |
LIRPhaseSuite<AllocationPhase.AllocationContext> |
getAllocationStage()
AllocationPhase s are responsible for register allocation and translating
VirtualStackSlot s into StackSlot s. |
LIRPhaseSuite<PostAllocationOptimizationPhase.PostAllocationOptimizationContext> |
getPostAllocationOptimizationStage()
PostAllocationOptimizationPhase s are executed after register allocation and before
machine code generation. |
LIRPhaseSuite<PreAllocationOptimizationPhase.PreAllocationOptimizationContext> |
getPreAllocationOptimizationStage()
PreAllocationOptimizationPhase s are executed between LIR generation and
register allocation. |
boolean |
isImmutable() |
void |
setImmutable() |
public LIRSuites(LIRPhaseSuite<PreAllocationOptimizationPhase.PreAllocationOptimizationContext> preAllocOptStage, LIRPhaseSuite<AllocationPhase.AllocationContext> allocStage, LIRPhaseSuite<PostAllocationOptimizationPhase.PostAllocationOptimizationContext> postAllocStage)
public LIRSuites(LIRSuites other)
public LIRPhaseSuite<PreAllocationOptimizationPhase.PreAllocationOptimizationContext> getPreAllocationOptimizationStage()
PreAllocationOptimizationPhase
s are executed between LIR
generation and
register allocation.
Implementers
can create new
variables
, stack
slots
and virtual stack slots
.
public LIRPhaseSuite<AllocationPhase.AllocationContext> getAllocationStage()
AllocationPhase
s are responsible for register allocation and translating
VirtualStackSlot
s into StackSlot
s.
After the AllocationStage
there should be no more Variable
s and
VirtualStackSlot
s.
public LIRPhaseSuite<PostAllocationOptimizationPhase.PostAllocationOptimizationContext> getPostAllocationOptimizationStage()
PostAllocationOptimizationPhase
s are executed after register allocation and before
machine code generation.
A PostAllocationOptimizationPhase
must not introduce new Variable
s,
VirtualStackSlot
s or StackSlot
s. Blocks might be removed from
LIR.codeEmittingOrder()
by overwriting them with null
.
public boolean isImmutable()
public void setImmutable()
public LIRSuites copy()