|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.compilers.opt.ir.Register
public final class Register
Represents a symbolic or physical register. Registers are shared among all Operands -- for a given register pool, there is only one instance of an Register with each number.
RegisterOperand
,
ArchitectureSpecificOpt.RegisterPool
Field Summary | |
---|---|
private static int |
ADDRESS
|
static int |
ADDRESS_TYPE
|
private static int |
ALLOCATED
|
private static int |
CONDITION
|
static int |
CONDITION_TYPE
|
RegisterOperand |
defList
Used to store register lists. |
private static int |
DOUBLE
|
static int |
DOUBLE_TYPE
|
private static int |
EXCLUDE_LIVEANAL
|
private int |
flags
Encoding of register properties & scratch bits |
private static int |
FLOAT
|
static int |
FLOAT_TYPE
|
private static int |
INTEGER
|
static int |
INTEGER_TYPE
|
private static int |
LOCAL
|
private static int |
LONG
|
static int |
LONG_TYPE
|
Register |
mapsToRegister
|
(package private) Register |
next
|
private static int |
NON_VOLATILE
|
int |
number
Index number relative to register pool. |
private static int |
PHYSICAL
|
private static int |
PINNED
|
(package private) Register |
prev
|
int |
scratch
A field optimizations can use as they choose |
Object |
scratchObject
|
private static int |
SEEN_USE
|
private static int |
SPAN_BASIC_BLOCK
|
private static int |
SPILLED
|
private static int |
SSA
|
private static int |
TOUCHED
|
private static int |
TYPE_MASK
|
private static int |
TYPE_SHIFT
|
int |
useCount
The number of uses; used by flow-insensitive optimizations |
RegisterOperand |
useList
Used to store register lists. |
private static int |
VALIDATION
|
static int |
VALIDATION_TYPE
|
private static int |
VOLATILE
|
Constructor Summary | |
---|---|
Register(int Number)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public final int number
private int flags
private static final int LOCAL
private static final int SPAN_BASIC_BLOCK
private static final int SSA
private static final int SEEN_USE
private static final int PHYSICAL
private static final int TYPE_SHIFT
private static final int ADDRESS
private static final int INTEGER
private static final int FLOAT
private static final int DOUBLE
private static final int CONDITION
private static final int LONG
private static final int VALIDATION
private static final int VOLATILE
private static final int NON_VOLATILE
private static final int EXCLUDE_LIVEANAL
private static final int SPILLED
private static final int TOUCHED
private static final int ALLOCATED
private static final int PINNED
private static final int TYPE_MASK
public static final int ADDRESS_TYPE
public static final int INTEGER_TYPE
public static final int FLOAT_TYPE
public static final int DOUBLE_TYPE
public static final int CONDITION_TYPE
public static final int LONG_TYPE
public static final int VALIDATION_TYPE
public Object scratchObject
public RegisterOperand defList
public RegisterOperand useList
public int useCount
public int scratch
public Register mapsToRegister
Register next
Register prev
Constructor Detail |
---|
public Register(int Number)
Method Detail |
---|
public boolean isTemp()
public boolean isLocal()
public boolean spansBasicBlock()
public boolean isSSA()
public boolean seenUse()
public boolean isPhysical()
public boolean isSymbolic()
public boolean isAddress()
public boolean isInteger()
public boolean isLong()
public boolean isNatural()
public boolean isFloat()
public boolean isDouble()
public boolean isFloatingPoint()
public boolean isCondition()
public boolean isValidation()
public boolean isExcludedLiveA()
public int getType()
public boolean isVolatile()
public boolean isNonVolatile()
public void setLocal()
public void setSpansBasicBlock()
public void setSSA()
public void setSeenUse()
public void setPhysical()
public void setAddress()
public void setInteger()
public void setFloat()
public void setDouble()
public void setLong()
public void setCondition()
public void setValidation()
public void setExcludedLiveA()
public void setVolatile()
public void setNonVolatile()
public void putSSA(boolean a)
public void putSpansBasicBlock(boolean a)
public void clearLocal()
public void clearSpansBasicBlock()
public void clearSSA()
public void clearSeenUse()
public void clearPhysical()
public void clearAddress()
public void clearInteger()
public void clearFloat()
public void clearDouble()
public void clearLong()
public void clearCondition()
public void clearType()
public void clearValidation()
public void setdNode(DepGraphNode a)
public DepGraphNode dNode()
public Instruction getFirstDef()
public int getNumber()
public String toString()
toString
in class Object
public String typeName()
public void clearAllocationFlags()
public void pinRegister()
public void reserveRegister()
public void touchRegister()
public void allocateRegister()
public void allocateRegister(Register reg)
public void allocateToRegister(Register reg)
public void deallocateRegister()
public void freeRegister()
public void spillRegister()
public void clearSpill()
public void unpinRegister()
public boolean isTouched()
public boolean isAllocated()
public boolean isSpilled()
public boolean isPinned()
public boolean isAvailable()
public Register getRegisterAllocated()
public int getSpillAllocated()
public int hashCode()
hashCode
in class Object
public Register getNext()
void setNext(Register e)
public Register getPrev()
public void linkWithNext(Register Next)
void append(Register l)
Register remove()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |