|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.compilers.opt.liveness.LiveInterval
final class LiveInterval
This class contains useful methods for managing liveIntervals.
Field Summary | |
---|---|
private static boolean |
DEBUG
|
Constructor Summary | |
---|---|
LiveInterval()
|
Method Summary | |
---|---|
private static boolean |
containsUnresolvedElement(BasicBlock block,
Register reg)
Check to see if an unresolved LiveIntervalElement node for the register passed exists for the basic block passed. |
static void |
createEndLiveRange(LiveSet set,
BasicBlock block,
Instruction inst)
This method iterates over each element in the the passed live set. |
static void |
createEndLiveRange(Register reg,
BasicBlock block,
Instruction inst)
This method checks if an existing unresolved live interval node, i.e., one that has an end instruction, but no beginning instruction, is present for the register and basic block passed. |
static void |
moveUpwardExposedRegsToFront(BasicBlock block)
This method finds any LiveInterval node that does not have a start instruction (it is null) and moves this node to the front of the list. |
static void |
printLiveIntervalList(BasicBlock block)
Print the live intervals for a block. |
static void |
setStartLiveRange(Register reg,
Instruction inst,
BasicBlock block)
This method finds the LiveInterval node for the register and basic block passed. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final boolean DEBUG
Constructor Detail |
---|
LiveInterval()
Method Detail |
---|
public static void createEndLiveRange(LiveSet set, BasicBlock block, Instruction inst)
set
- the set of registers, encoded as a LiveSet objectblock
- the basic blockinst
- the instruction where the register's live range ends,
null represents the end of the basic blockpublic static void createEndLiveRange(Register reg, BasicBlock block, Instruction inst)
inst
. If one
already exists no action is taken.
reg
- The registerblock
- The basic blockinst
- The end instruction to use, if we have to create a neode.public static void setStartLiveRange(Register reg, Instruction inst, BasicBlock block)
reg
- the register of interestinst
- the "begin" instructionblock
- the basic block of interestpublic static void moveUpwardExposedRegsToFront(BasicBlock block)
block
- the basic block of interestprivate static boolean containsUnresolvedElement(BasicBlock block, Register reg)
block
- the blockreg
- the register of interest
true
if it does or false
if it does notpublic static void printLiveIntervalList(BasicBlock block)
block
- the block
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |