public final class SSAMoveResolver extends MoveResolver
| Constructor and Description |
|---|
SSAMoveResolver(LinearScan allocator) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
areMultipleReadsAllowed() |
protected void |
breakCycle(int spillCandidate) |
boolean |
checkEmpty() |
protected void |
checkMultipleReads() |
protected LIRInstruction |
createMove(AllocatableValue fromOpr,
AllocatableValue toOpr,
AllocatableValue fromLocation,
AllocatableValue toLocation) |
protected boolean |
mightBeBlocked(Value location) |
protected void |
setValueBlocked(Value location,
int direction) |
protected int |
valueBlocked(Value location) |
protected void |
verifyStackSlotMapping() |
addMapping, addMapping, getAllocator, getMappingFrom, isMoveToSelf, mappingFromSize, spillIntervalpublic SSAMoveResolver(LinearScan allocator)
public boolean checkEmpty()
checkEmpty in class MoveResolverprotected void checkMultipleReads()
checkMultipleReads in class MoveResolverprotected void verifyStackSlotMapping()
verifyStackSlotMapping in class MoveResolverprotected boolean areMultipleReadsAllowed()
areMultipleReadsAllowed in class MoveResolverprotected boolean mightBeBlocked(Value location)
mightBeBlocked in class MoveResolverprotected void setValueBlocked(Value location,
int direction)
setValueBlocked in class MoveResolverprotected int valueBlocked(Value location)
valueBlocked in class MoveResolverprotected LIRInstruction createMove(AllocatableValue fromOpr, AllocatableValue toOpr, AllocatableValue fromLocation, AllocatableValue toLocation)
createMove in class MoveResolverfromOpr - operand of the from intervaltoOpr - operand of the to intervalfromLocation - location of the to intervaltoLocation - location of the to intervalprotected void breakCycle(int spillCandidate)
breakCycle in class MoveResolver