|
|||||||||
| 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.MONITORENTER
public class MONITORENTER
MONITORENTER acquires 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 MONITORENTER
quad works the same way as the java monitorenter bytecode.
See the JVM spec for details.
| Field Summary | |
|---|---|
protected Temp |
lock
The object containing the monitor to be locked. |
| Fields inherited from class harpoon.IR.Quads.Quad |
|---|
arrayFactory |
| Constructor Summary | |
|---|---|
MONITORENTER(QuadFactory qf,
HCodeElement source,
Temp lock)
Creates a MONITORENTER. |
|
| 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 locked. |
|
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 MONITORENTER(QuadFactory qf,
HCodeElement source,
Temp lock)
MONITORENTER. Code after this point and
before a MONITOREXIT with the same lock
reference is protected by a monitor.
lock - the Temp referencing the object monitor to lock.| Method Detail |
|---|
public Temp lock()
Temp specifying the object to be locked.
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 | ||||||||