|
|||||||||||
PREV NEXT | FRAMES NO FRAMES |
Packages that use LinearScan.CompoundInterval | |
---|---|
org.jikesrvm.compilers.opt.regalloc |
Uses of LinearScan.CompoundInterval in org.jikesrvm.compilers.opt.regalloc |
---|
Subclasses of LinearScan.CompoundInterval in org.jikesrvm.compilers.opt.regalloc | |
---|---|
(package private) static class |
LinearScan.SpillLocationInterval
The following represents the intervals assigned to a particular spill location |
Fields in org.jikesrvm.compilers.opt.regalloc declared as LinearScan.CompoundInterval | |
---|---|
(package private) LinearScan.CompoundInterval |
LinearScan.MappedBasicInterval.container
|
Methods in org.jikesrvm.compilers.opt.regalloc that return LinearScan.CompoundInterval | |
---|---|
(package private) LinearScan.CompoundInterval |
LinearScan.CompoundInterval.copy(Register r)
Copy the ranges into a new interval associated with a register r. |
(package private) LinearScan.CompoundInterval |
LinearScan.CompoundInterval.copy(Register r,
LinearScan.BasicInterval stop)
Copy the ranges into a new interval associated with a register r. |
(package private) LinearScan.CompoundInterval |
LinearScan.ActiveSet.getCurrentInterval(Register r)
Given that a physical register r is currently allocated to an interval in the active set, return the interval. |
(package private) static LinearScan.CompoundInterval |
LinearScan.getInterval(Register reg)
Returns the interval associated with the passed register. |
private LinearScan.CompoundInterval |
LinearScan.ActiveSet.getSpillCandidate(LinearScan.CompoundInterval newInterval)
choose one of the active intervals or the newInterval to spill. |
private LinearScan.CompoundInterval |
LinearScan.IntervalAnalysis.processLiveInterval(LiveIntervalElement live,
BasicBlock bb)
for each live interval associated with this block we either add a new interval, or extend a previous interval if it is contiguous |
(package private) LinearScan.CompoundInterval |
LinearScan.CompoundInterval.removeIntervalsAndCache(LinearScan.CompoundInterval i)
Remove some basic intervals from this compound interval, and return the intervals actually removed. |
private LinearScan.CompoundInterval |
LinearScan.ActiveSet.spillMinUnitCost(LinearScan.CompoundInterval newInterval)
Choose the interval with the min unit cost (defined as the number of defs and uses) |
Methods in org.jikesrvm.compilers.opt.regalloc with parameters of type LinearScan.CompoundInterval | |
---|---|
(package private) void |
LinearScan.CompoundInterval.addNonIntersectingInterval(LinearScan.CompoundInterval i,
LinearScan.BasicInterval stop)
Merge this interval with another, non-intersecting interval. |
(package private) void |
LinearScan.ActiveSet.allocate(LinearScan.BasicInterval newInterval,
LinearScan.CompoundInterval container)
Assign a basic interval to either a register or a spill location. |
private boolean |
LinearScan.ActiveSet.allocateToPhysical(LinearScan.CompoundInterval i,
Register p)
Check whether it's ok to allocate an interval i to physical register p. |
private boolean |
LinearScan.ActiveSet.checkAssignmentIfSpilled(LinearScan.CompoundInterval i,
LinearScan.CompoundInterval spill)
Check whether, if we spilled interval spill, we could then assign interval i to physical register spill.getRegister(). |
(package private) Register |
LinearScan.ActiveSet.findAvailableRegister(LinearScan.CompoundInterval ci)
try to find a free physical register to allocate to the compound interval. |
(package private) LinearScan.SpillLocationInterval |
LinearScan.SpillLocationManager.findOrCreateSpillLocation(LinearScan.CompoundInterval ci)
Return a spill location that is valid to hold the contents of compound interval ci. |
private Register |
LinearScan.ActiveSet.getPhysicalPreference(LinearScan.CompoundInterval ci)
Given the current state of the register allocator, compute the available physical register to which an interval has the highest preference. |
private LinearScan.CompoundInterval |
LinearScan.ActiveSet.getSpillCandidate(LinearScan.CompoundInterval newInterval)
choose one of the active intervals or the newInterval to spill. |
(package private) LinearScan.SpillLocationInterval |
LinearScan.SpillLocationManager.getSpillPreference(LinearScan.CompoundInterval ci,
int spillSize)
Given the current state of the register allocator, compute the available spill location to which ci has the highest preference. |
(package private) boolean |
LinearScan.CompoundInterval.intersects(LinearScan.CompoundInterval i)
Does this interval intersect with i? |
(package private) void |
LinearScan.CompoundInterval.removeAll(LinearScan.CompoundInterval c)
SJF: Apparently our java.util implementation of removeAll() doesn't work. |
(package private) LinearScan.CompoundInterval |
LinearScan.CompoundInterval.removeIntervalsAndCache(LinearScan.CompoundInterval i)
Remove some basic intervals from this compound interval, and return the intervals actually removed. |
(package private) static void |
LinearScan.setInterval(Register reg,
LinearScan.CompoundInterval interval)
Associates the passed live interval with the passed register, using the scratchObject field of Register. |
private LinearScan.CompoundInterval |
LinearScan.ActiveSet.spillMinUnitCost(LinearScan.CompoundInterval newInterval)
Choose the interval with the min unit cost (defined as the number of defs and uses) |
private void |
LinearScan.ActiveSet.updatePhysicalInterval(Register p,
LinearScan.CompoundInterval c,
LinearScan.BasicInterval stop)
Update the interval representing the allocations of a physical register p to include a new compound interval c. |
Constructors in org.jikesrvm.compilers.opt.regalloc with parameters of type LinearScan.CompoundInterval | |
---|---|
LinearScan.MappedBasicInterval(int begin,
int end,
LinearScan.CompoundInterval c)
|
|
LinearScan.MappedBasicInterval(LinearScan.BasicInterval b,
LinearScan.CompoundInterval c)
|
|
|||||||||||
PREV NEXT | FRAMES NO FRAMES |