public class IntervalWalker extends Object
| Modifier and Type | Field and Description |
|---|---|
protected org.graalvm.compiler.lir.alloc.lsra.Interval.RegisterBindingLists |
activeLists
Sorted list of intervals, live at the current position.
|
protected LinearScan |
allocator |
protected org.graalvm.compiler.lir.alloc.lsra.Interval.RegisterBinding |
currentBinding
The binding of the current interval being processed.
|
protected int |
currentPosition
The current position (intercept point through the intervals).
|
protected org.graalvm.compiler.lir.alloc.lsra.Interval.RegisterBindingLists |
inactiveLists
Sorted list of intervals in a life time hole at the current position.
|
protected org.graalvm.compiler.lir.alloc.lsra.Interval.RegisterBindingLists |
unhandledLists
Sorted list of intervals, not live before the current position.
|
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
activateCurrent(Interval currentInterval)
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. |
protected void |
removeFromList(Interval interval) |
protected void |
walkTo(int toOpId)
Walk up to
toOpId. |
protected final LinearScan allocator
protected org.graalvm.compiler.lir.alloc.lsra.Interval.RegisterBindingLists unhandledLists
protected org.graalvm.compiler.lir.alloc.lsra.Interval.RegisterBindingLists activeLists
protected org.graalvm.compiler.lir.alloc.lsra.Interval.RegisterBindingLists inactiveLists
protected int currentPosition
protected org.graalvm.compiler.lir.alloc.lsra.Interval.RegisterBinding currentBinding
protected boolean activateCurrent(Interval currentInterval)
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.true if a register was allocated to the currentInterval intervalprotected void removeFromList(Interval interval)
protected void walkTo(int toOpId)
toOpId.