| Modifier and Type | Field and Description |
|---|---|
static int |
EXCEPTION_REG
Register number used for exception values.
|
static int |
FIRST_ORDINARY_REG
First register number used for ordinary values.
|
static int |
NO_VALUE
Register number used for absent values.
|
static int |
RETURN_REG
Register number used for return values.
|
| Constructor and Description |
|---|
AbstractNode(SourceLocation location)
Constructs a new node.
|
| Modifier and Type | Method and Description |
|---|---|
abstract boolean |
canThrowExceptions()
Returns true if this node may throw exceptions.
|
void |
check(BasicBlock b)
Perform a consistency check of this node.
|
BasicBlock |
getBlock()
Returns the block containing this node.
|
AbstractNode |
getDuplicateOf()
Returns the node that this node is a duplicate of, or null if this is not a duplicate.
|
int |
getIndex()
Returns the node index.
|
SourceLocation |
getSourceLocation()
Returns the source location.
|
boolean |
isArtificial()
Returns true if this node is an artifact and should not appear in analysis messages.
|
boolean |
isDead()
Returns true if this operation is known to have no effect on the program behavior.
|
boolean |
isRegistersDone()
Returns the registers done flag.
|
void |
setArtificial()
Marks this operation as an artifact that should not appear in analysis messages.
|
void |
setBlock(BasicBlock block)
Sets the basic block containing this node.
|
void |
setDead()
Marks this operation as a known to have no effect on the program behavior.
|
void |
setDuplicateOf(AbstractNode other)
Marks that this node is a duplicate of the given node.
|
void |
setIndex(int index)
Sets the node index.
|
void |
setRegistersDone(boolean registers_done)
Sets the registers done flag.
|
abstract String |
toString()
Returns a string description of this node.
|
abstract <ArgType> void |
visitBy(AbstractNodeVisitor<ArgType> v,
ArgType a)
Visits this node with the given visitor.
|
public static final int EXCEPTION_REG
public static final int FIRST_ORDINARY_REG
public static final int NO_VALUE
public static final int RETURN_REG
public AbstractNode(SourceLocation location)
public abstract boolean canThrowExceptions()
public void check(BasicBlock b)
b - basic block containing this nodepublic BasicBlock getBlock()
public AbstractNode getDuplicateOf()
public int getIndex()
public SourceLocation getSourceLocation()
public boolean isArtificial()
public boolean isDead()
public boolean isRegistersDone()
public void setArtificial()
public void setBlock(BasicBlock block)
public void setDead()
public void setDuplicateOf(AbstractNode other)
public void setIndex(int index)
public void setRegistersDone(boolean registers_done)
registers_done - true if all ordinary registers can be considered dead at the end of this blockpublic abstract String toString()
public abstract <ArgType> void visitBy(AbstractNodeVisitor<ArgType> v, ArgType a)
Copyright © 2012 Aarhus University