public class MoveResolver extends Object
| Modifier | Constructor and Description |
|---|---|
protected |
MoveResolver(LinearScan allocator) |
| Modifier and Type | Method and Description |
|---|---|
void |
addMapping(Constant fromOpr,
Interval toInterval) |
void |
addMapping(Interval fromInterval,
Interval toInterval) |
protected boolean |
areMultipleReadsAllowed() |
protected void |
breakCycle(int spillCandidate) |
protected boolean |
checkEmpty() |
protected void |
checkMultipleReads() |
protected LIRInstruction |
createMove(AllocatableValue fromOpr,
AllocatableValue toOpr,
AllocatableValue fromLocation,
AllocatableValue toLocation) |
protected LinearScan |
getAllocator() |
protected Interval |
getMappingFrom(int i) |
protected boolean |
isMoveToSelf(Value from,
Value to) |
protected int |
mappingFromSize() |
protected boolean |
mightBeBlocked(Value location) |
protected void |
setValueBlocked(Value location,
int direction) |
protected void |
spillInterval(int spillCandidate,
Interval fromInterval,
AllocatableValue spillSlot) |
protected int |
valueBlocked(Value location) |
protected void |
verifyStackSlotMapping() |
protected MoveResolver(LinearScan allocator)
protected void setValueBlocked(Value location,
int direction)
protected Interval getMappingFrom(int i)
protected int mappingFromSize()
protected int valueBlocked(Value location)
protected boolean areMultipleReadsAllowed()
protected LinearScan getAllocator()
protected boolean checkEmpty()
protected void checkMultipleReads()
protected void verifyStackSlotMapping()
protected boolean isMoveToSelf(Value from,
Value to)
protected boolean mightBeBlocked(Value location)
protected LIRInstruction createMove(AllocatableValue fromOpr, AllocatableValue toOpr, AllocatableValue fromLocation, AllocatableValue toLocation)
protected void breakCycle(int spillCandidate)
protected void spillInterval(int spillCandidate,
Interval fromInterval,
AllocatableValue spillSlot)
public void addMapping(Constant fromOpr,
Interval toInterval)