|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectharpoon.IR.Quads.Quad
harpoon.IR.Quads.OPER
public class OPER
OPER
objects represent arithmetic/logical operations,
including mathematical operators such as add and subtract,
conversion operators such as double-to-int, and comparison
operators such as greater than and equals.
OPER
quads never throw exceptions. Any exception thrown
implicitly by the java bytecode opcode corresponding to an OPER is
rewritten as an explicit test and throw in the Quad IR.
Field Summary | |
---|---|
protected Temp |
dst
The Temp in which to store the result of the operation. |
protected int |
opcode
The operation to be performed, from the Qop class. |
protected Temp[] |
operands
Operands of the operation, in left-to-right order. |
Fields inherited from class harpoon.IR.Quads.Quad |
---|
arrayFactory |
Constructor Summary | |
---|---|
OPER(QuadFactory qf,
HCodeElement source,
int opcode,
Temp dst,
Temp[] operands)
Creates a OPER . |
Method Summary | ||
---|---|---|
void |
accept(OperVisitor v)
|
|
|
accept(QuadValueVisitor<T> v)
|
|
void |
accept(QuadVisitor v)
Accept a visitor. |
|
Temp[] |
def()
Returns the Temps defined by this OPER. |
|
Temp |
dst()
Returns the Temp in which to store the result of the
operation. |
|
HClass |
evalType()
Determines the result type of an OPER . |
|
Object |
evalValue(Object[] opvalues)
Evaluates a constant value for the result of an OPER ,
given constant values for the operands. |
|
int |
kind()
Return an integer enumeration of the kind of this Quad . |
|
int |
opcode()
Returns the operation to be performed, as an integer enumeration from the Qop class. |
|
Temp[] |
operands()
Returns an array of Temp s which are the operands
of the operation. |
|
Temp |
operands(int i)
Returns a specified element of the operands array. |
|
int |
operandsLength()
Returns the length of the operands array. |
|
Quad |
rename(QuadFactory qqf,
TempMap defMap,
TempMap useMap)
Create a new Quad identical to the receiver, but
with all Temp s renamed according to a mapping. |
|
String |
toString()
Returns a human-readable representation of this Quad. |
|
Temp[] |
use()
Returns the Temps used by this OPER. |
Methods inherited from class harpoon.IR.Quads.Quad |
---|
addEdge, addEdges, addHandlers, clone, clone, clone, compareTo, defC, edgeC, edges, getFactory, getID, getLineNumber, getSourceFile, handlers, hashCode, isPred, isSucc, map, map, map, next, next, nextEdge, nextEdge, nextLength, pred, predC, prev, prev, prevEdge, prevEdge, prevLength, remove, removeHandlers, rename, replace, succ, succC, toLongString, transferHandlers, useC |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected Temp dst
Temp
in which to store the result of the operation.
protected final int opcode
Qop
class.
protected Temp[] operands
Constructor Detail |
---|
public OPER(QuadFactory qf, HCodeElement source, int opcode, Temp dst, Temp[] operands)
OPER
.
Method Detail |
---|
public Temp dst()
Temp
in which to store the result of the
operation.
public int opcode()
Qop
class.
public Temp[] operands()
Temp
s which are the operands
of the operation.
public Temp operands(int i)
operands
array.
public int operandsLength()
operands
array.
public Temp[] use()
use
in interface UseDefable
use
in class Quad
public Temp[] def()
def
in interface UseDefable
def
in class Quad
public int kind()
Quad
Quad
. The enumerated values are defined in
QuadKind
.
kind
in class Quad
public Quad rename(QuadFactory qqf, TempMap defMap, TempMap useMap)
Quad
Quad
identical to the receiver, but
with all Temp
s renamed according to a mapping.
The new Quad
will have no edges.
The new Quad
will come from the specified
QuadFactory
.
rename
in class Quad
public void accept(QuadVisitor v)
Quad
accept
in class Quad
public <T> T accept(QuadValueVisitor<T> v)
accept
in class Quad
public void accept(OperVisitor v)
public String toString()
toString
in class Quad
public HClass evalType()
OPER
.
public Object evalValue(Object[] opvalues)
OPER
,
given constant values for the operands.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |