|
|||||||||
| 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.MONITOREXIT
public class MONITOREXIT
MONITOREXIT releases the monitor lock of a particular
object. Note that these java "monitors" are really a flavor of
recursive lock; see the
Java
hall of shame for more details. The MONITOREXIT
quad works the same way as the java monitorexit bytecode.
See the JVM spec for details.
| Field Summary | |
|---|---|
protected Temp |
lock
The object containing the monitor to be released. |
| Fields inherited from class harpoon.IR.Quads.Quad |
|---|
arrayFactory |
| Constructor Summary | |
|---|---|
MONITOREXIT(QuadFactory qf,
HCodeElement source,
Temp lock)
Creates a MONITOREXIT. |
|
| Method Summary | ||
|---|---|---|
|
accept(QuadValueVisitor<T> v)
|
|
void |
accept(QuadVisitor v)
Accept a visitor. |
|
int |
kind()
Return an integer enumeration of the kind of this Quad. |
|
Temp |
lock()
Returns the Temp specifying the object to be released. |
|
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 Temp used by this Quad. |
|
| Methods inherited from class harpoon.IR.Quads.Quad |
|---|
addEdge, addEdges, addHandlers, clone, clone, clone, compareTo, def, 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 lock
| Constructor Detail |
|---|
public MONITOREXIT(QuadFactory qf,
HCodeElement source,
Temp lock)
MONITOREXIT. Code after a
MONITORENTER referencing the same object
and before this point is protected by the monitor.
lock - the Temp referencing the object monitor to release.| Method Detail |
|---|
public Temp lock()
Temp specifying the object to be released.
public Temp[] use()
use in interface UseDefableuse in class Quadlock field.public 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 String toString()
toString in class Quad
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||