|
|||||||||
| 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 Temps 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 Temps 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()
Temps 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 UseDefableuse in class Quadpublic Temp[] def()
def in interface UseDefabledef in class Quadpublic int kind()
QuadQuad. The enumerated values are defined in
QuadKind.
kind in class Quad
public Quad rename(QuadFactory qqf,
TempMap defMap,
TempMap useMap)
QuadQuad identical to the receiver, but
with all Temps renamed according to a mapping.
The new Quad will have no edges.
The new Quad will come from the specified
QuadFactory.
rename in class Quadpublic void accept(QuadVisitor v)
Quad
accept in class Quadpublic <T> T accept(QuadValueVisitor<T> v)
accept in class Quadpublic void accept(OperVisitor v)
public String toString()
toString in class Quadpublic 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 | ||||||||