Package | Description |
---|---|
org.jikesrvm.compilers.opt.ir | |
org.jikesrvm.compilers.opt.liveness | |
org.jikesrvm.compilers.opt.regalloc | |
org.jikesrvm.compilers.opt.regalloc.ia32 |
Modifier and Type | Method and Description |
---|---|
boolean |
MachineSpecificIR.mutateFMOVs(LiveIntervalElement live,
Register register,
int dfnbegin,
int dfnend) |
Modifier and Type | Field and Description |
---|---|
private LiveIntervalElement |
LiveIntervalEnumeration.currentElement |
Modifier and Type | Field and Description |
---|---|
private HashMap<BasicBlock,LiveIntervalElement> |
LiveInterval.liveIntervals |
Modifier and Type | Method and Description |
---|---|
LiveIntervalElement |
LiveInterval.getFirstLiveIntervalElement(BasicBlock bb) |
LiveIntervalElement |
LiveIntervalEnumeration.nextElement() |
Modifier and Type | Method and Description |
---|---|
Iterator<LiveIntervalElement> |
LiveAnalysis.iterateLiveIntervals(Register r) |
Modifier and Type | Method and Description |
---|---|
private void |
LiveAnalysis.addToRegisterMap(Register r,
LiveIntervalElement i) |
private void |
LiveInterval.prependLiveIntervalElement(BasicBlock block,
LiveIntervalElement elem) |
Constructor and Description |
---|
LiveIntervalEnumeration(LiveIntervalElement first) |
Modifier and Type | Field and Description |
---|---|
(package private) LiveIntervalElement |
LiveIntervalElement.next
LiveIntervalElements are linked in a singly-linked list; this is the
next pointer.
|
Modifier and Type | Method and Description |
---|---|
LiveIntervalElement |
LiveIntervalElement.getNext() |
Modifier and Type | Method and Description |
---|---|
(package private) BasicInterval |
CompoundInterval.addRange(RegisterAllocatorState regAllocState,
LiveIntervalElement live,
BasicBlock bb)
Add a new live range to this compound interval.
|
protected boolean |
GenericRegisterRestrictions.contains(LiveIntervalElement R,
int n)
Does a live range R contain an instruction with number n?
|
(package private) int |
RegisterAllocatorState.getDfnBegin(LiveIntervalElement live,
BasicBlock bb) |
(package private) int |
RegisterAllocatorState.getDfnEnd(LiveIntervalElement live,
BasicBlock bb) |
private boolean |
IntervalAnalysis.mutateFMOVs(LiveIntervalElement live,
Register register,
int dfnbegin,
int dfnend)
Mutate FMOVs that end live ranges
|
private boolean |
GenericRegisterRestrictions.overlaps(LiveIntervalElement li1,
LiveIntervalElement li2)
Do two live ranges overlap?
|
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
|
void |
LiveIntervalElement.setNext(LiveIntervalElement Next) |
private boolean |
CompoundInterval.shouldConcatenate(RegisterAllocatorState regAllocState,
LiveIntervalElement live,
BasicBlock bb)
Should we simply merge the live interval
live into a
previous BasicInterval? |
Modifier and Type | Method and Description |
---|---|
void |
GenericRegisterRestrictions.addArchRestrictions(BasicBlock bb,
ArrayList<LiveIntervalElement> symbolics)
Add architecture-specific register restrictions for a basic block.
|
Modifier and Type | Method and Description |
---|---|
void |
RegisterRestrictions.addArchRestrictions(BasicBlock bb,
ArrayList<LiveIntervalElement> symbolics) |