|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectharpoon.IR.Tree.Tree
harpoon.IR.Tree.Stm
harpoon.IR.Tree.DATUM
public class DATUM
DATUM
objects are statements which write a value to memory
at the time when a program is loaded. The location written is
calculated using this formula:
location = base + offset where base = location of nearest LABEL, l, which precedes this DATUM offset = the total size of all instructions between l and this DATUM
Nested Class Summary |
---|
Nested classes/interfaces inherited from class harpoon.IR.Tree.Tree |
---|
Tree.CloneCallback |
Field Summary | |
---|---|
boolean |
initialized
If false, the memory is not initialized; instead it is reserved with an unspecified value. |
Fields inherited from class harpoon.IR.Tree.Tree |
---|
arrayFactory, child |
Constructor Summary | |
---|---|
DATUM(TreeFactory tf,
HCodeElement source,
Exp data)
Class constructor. |
|
DATUM(TreeFactory tf,
HCodeElement source,
int type)
Class constructor. |
|
DATUM(TreeFactory tf,
HCodeElement source,
int bitwidth,
boolean signed)
Class constructor. |
Method Summary | |
---|---|
void |
accept(TreeVisitor v)
Accept a visitor |
Stm |
build(TreeFactory tf,
ExpList kids)
|
Exp |
getData()
Returns the expression to write to memory. |
int |
kind()
Return an integer enumeration of the kind of this Tree . |
Tree |
rename(TreeFactory tf,
TempMap tm,
Tree.CloneCallback cb)
Rename while cloning a subtree. |
void |
setData(Exp data)
Sets the expression to write to memory. |
String |
toString()
|
Methods inherited from class harpoon.IR.Tree.Stm |
---|
build, isNop, linearize, toStm |
Methods inherited from class harpoon.IR.Tree.Tree |
---|
clone, clone, getChild, getFactory, getFirstChild, getID, getLineNumber, getParent, getSibling, getSourceFile, hashCode, kids, rename, replace, setChild, unlink |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface harpoon.ClassFile.HDataElement |
---|
getID, getSourceFile |
Field Detail |
---|
public final boolean initialized
Constructor Detail |
---|
public DATUM(TreeFactory tf, HCodeElement source, Exp data)
data
must be an instance of either
harpoon.IR.Tree.CONST
or
harpoon.IR.Tree.NAME
. Passing null
for
the parameter data
reserves a word of memory at the
location of this DATUM
without assigning it a value.
public DATUM(TreeFactory tf, HCodeElement source, int type)
DATUM
of the size of the specified type without assigning it a value.
public DATUM(TreeFactory tf, HCodeElement source, int bitwidth, boolean signed)
DATUM
of the specified small without assigning it a value.
Method Detail |
---|
public Exp getData()
public void setData(Exp data)
public int kind()
Tree
Tree
. The enumerated values are defined in
TreeKind
.
kind
in class Tree
public Stm build(TreeFactory tf, ExpList kids)
build
in class Stm
public void accept(TreeVisitor v)
accept
in class Tree
public Tree rename(TreeFactory tf, TempMap tm, Tree.CloneCallback cb)
Tree
TEMP
nodes
are renamed according to the supplied TempMap
.
Note that Temp
s not belonging to
this.getFactory().tempFactory()
are not affected.
The callback()
method of the supplied
CloneCallback
is invoked once on each subtree cloned,
starting from the leaves and working back to the root in a
post-order depth-first manner.
rename
in class Tree
public String toString()
toString
in class Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |