Package | Description |
---|---|
org.jikesrvm.compilers.opt.regalloc |
Modifier and Type | Class and Description |
---|---|
(package private) class |
SpillLocationInterval
The following represents the intervals assigned to a particular spill
location
|
Modifier and Type | Field and Description |
---|---|
(package private) CompoundInterval |
MappedBasicInterval.container |
private CompoundInterval[] |
RegisterAllocatorState.intervals |
Modifier and Type | Method and Description |
---|---|
(package private) CompoundInterval |
CompoundInterval.copy(Register r)
Copies the ranges from this interval into a new interval associated
with a register.
|
(package private) CompoundInterval |
CompoundInterval.copy(Register r,
BasicInterval stop)
Copies the basic intervals up to and including stop into a new interval.
|
(package private) CompoundInterval |
ActiveSet.getCurrentInterval(Register r) |
(package private) CompoundInterval |
RegisterAllocatorState.getInterval(Register reg)
Returns the interval associated with the passed register.
|
private CompoundInterval |
ActiveSet.getSpillCandidate(CompoundInterval newInterval) |
private CompoundInterval |
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) CompoundInterval |
CompoundInterval.removeIntervalsAndCache(CompoundInterval other)
Removes some basic intervals from this compound interval, and returns
the intervals actually removed.
|
private CompoundInterval |
ActiveSet.spillMinUnitCost(CompoundInterval newInterval)
Chooses the interval with the minimal unit cost (defined as the number
of defs and uses).
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
CompoundInterval.addNonIntersectingInterval(CompoundInterval i,
BasicInterval stop)
Merges this interval with another, non-intersecting interval.
|
(package private) void |
ActiveSet.allocate(BasicInterval newInterval,
CompoundInterval container) |
private boolean |
ActiveSet.allocateToPhysical(CompoundInterval i,
Register p)
Checks whether it's ok to allocate an interval to a physical
register.
|
private boolean |
ActiveSet.checkAssignmentIfSpilled(CompoundInterval i,
CompoundInterval spill)
Checks if it would be possible to assign an interval to the physical
register of another interval if that other interval were spilled.
|
(package private) Register |
ActiveSet.findAvailableRegister(CompoundInterval ci) |
(package private) SpillLocationInterval |
SpillLocationManager.findOrCreateSpillLocation(CompoundInterval ci) |
private Register |
ActiveSet.getPhysicalPreference(CompoundInterval ci)
Given the current state of the register allocator, compute the
available physical register to which an interval has the highest
preference.
|
private CompoundInterval |
ActiveSet.getSpillCandidate(CompoundInterval newInterval) |
(package private) SpillLocationInterval |
SpillLocationManager.getSpillPreference(CompoundInterval ci,
int spillSize,
int type)
Given the current state of the register allocator, compute the
available spill location to which ci has the highest preference.
|
(package private) boolean |
CompoundInterval.intersects(CompoundInterval i) |
(package private) CompoundInterval |
CompoundInterval.removeIntervalsAndCache(CompoundInterval other)
Removes some basic intervals from this compound interval, and returns
the intervals actually removed.
|
(package private) void |
RegisterAllocatorState.setInterval(Register reg,
CompoundInterval interval)
Associates the passed live interval with the passed register.
|
private CompoundInterval |
ActiveSet.spillMinUnitCost(CompoundInterval newInterval)
Chooses the interval with the minimal unit cost (defined as the number
of defs and uses).
|
private void |
ActiveSet.updatePhysicalInterval(Register p,
CompoundInterval c,
BasicInterval stop)
Update the interval representing the allocations of a physical
register p to include a new compound interval c.
|
Constructor and Description |
---|
MappedBasicInterval(BasicInterval b,
CompoundInterval c) |
MappedBasicInterval(int begin,
int end,
CompoundInterval c) |