public class OptimizingLinearScanWalker extends IntervalWalker
Modifier and Type | Class and Description |
---|---|
static class |
OptimizingLinearScanWalker.Options |
Modifier and Type | Field and Description |
---|---|
protected Register[] |
availableRegs |
protected int[] |
blockPos |
protected List<Interval>[] |
spillIntervals |
protected int[] |
usePos |
activeLists, allocator, currentBinding, currentPosition, inactiveLists, unhandledLists
Modifier and Type | Method and Description |
---|---|
protected boolean |
activateCurrent(Interval interval)
Processes the
currentInterval interval in an attempt to allocate a physical register
to it and thus allow it to be moved to a list of active intervals. |
void |
finishAllocation() |
protected void |
handleSpillSlot(Interval interval)
This is called for every interval that is assigned to a stack slot.
|
removeFromList, walkTo
protected Register[] availableRegs
protected final int[] usePos
protected final int[] blockPos
protected void handleSpillSlot(Interval interval)
protected boolean activateCurrent(Interval interval)
IntervalWalker
currentInterval
interval in an attempt to allocate a physical register
to it and thus allow it to be moved to a list of active intervals.activateCurrent
in class IntervalWalker
true
if a register was allocated to the currentInterval
intervalpublic void finishAllocation()