Public Methods | |
LockAnalysis (MethodInfo methodInfo, AnnotationManager cfanns) | |
Hashtable | dependOnMonitorPairs (Stmt stmt) |
List | dependOnMonitors (Stmt stmt) |
BitSet | dependOnMonitorSet (Stmt stmt) |
Set | exitMonitorsIn (MonitorPair mp) |
Value | getActualLock (Stmt monitorStmt) |
List | getLockPairList () |
MonitorPair | getMonitorPair (Stmt monitor) |
List | getNotifyStmtList () |
List | getWaitStmtList () |
BitSet | reachableStmtFrom (Stmt stmt) |
Set | readyDependOnEnters (Stmt stmt) |
BitSet | readyDependOnWaits (Stmt stmt) |
boolean | safeLock (Stmt monitor) |
boolean | safeLock (MonitorPair monitorPair) |
boolean | stmtSynchroDependOn (Stmt stmt, Stmt monitor) |
boolean | stmtSynchroDependOn (Stmt stmt, MonitorPair monitorPair) |
Private Methods | |
void | buildLockPairList (AnnotationManager cfanns) |
void | collectWaitNotifyStmt () |
MonitorPair | getMonitorPairFromEnter (Stmt enterMonitor) |
MonitorPair | getMonitorPairFromExit (Stmt exitMonitor) |
Vector | getSynchAnnotation (StmtList stmtList, Annotation annotation) |
Set | lockValueSet () |
BitSet | stmtsBetween (MonitorPair monitorPair) |
Private Attributes | |
StmtGraph | stmtGraph |
StmtList | stmtList |
BuildPDG | pdgDom |
MethodInfo | mdInfo |
List | lockPairList |
List | waitStmtList |
List | notifyStmtList |
Definition at line 51 of file LockAnalysis.java.
|
Definition at line 74 of file LockAnalysis.java. |
|
Build lock pair list of current method into lockPairList. Definition at line 91 of file LockAnalysis.java. Referenced by LockAnalysis().
|
|
Collect wait/notify statement in current method into waitStmtList and notifyStmtList. Definition at line 121 of file LockAnalysis.java. Referenced by LockAnalysis().
|
|
Get all monitor pairs on which given statement is synchronization dependent.
Definition at line 161 of file LockAnalysis.java. |
|
Get all enter/exit monitor statements on which the given statement is synchronization dependent.
Definition at line 209 of file LockAnalysis.java. Referenced by SlicingMethod::slicingMethod(), and SlicingMethod::slicingMethodAgain().
|
|
See if one statement is synchronization dependent on any monitor pair.
Definition at line 191 of file LockAnalysis.java. Referenced by dependOnMonitorPairs(), and dependOnMonitorSet().
|
|
Get all exit monitor statements in a MonitorPair.
Definition at line 229 of file LockAnalysis.java. Referenced by dependOnMonitorSet(), and getMonitorPairFromExit().
|
|
Get the lock to which a given monitor statement is associated.
Definition at line 257 of file LockAnalysis.java. Referenced by buildLockPairList().
|
|
Get the lock pair list.
Definition at line 274 of file LockAnalysis.java. Referenced by InterClassAnalysis::lookupReadyDependStmt(), InterClassAnalysis::readyDependence(), PostProcessOnAnnotation::removeEmptyBlock(), and PostProcess::removeEmptyBlock().
|
|
Get monitor pair from an enter/exit monitor statement.
Definition at line 287 of file LockAnalysis.java. Referenced by safeLock(), and stmtSynchroDependOn().
|
|
Get monitor pair from an enter monitor statement.
Definition at line 305 of file LockAnalysis.java. Referenced by getMonitorPair().
|
|
Get monitor pair from an exit monitor statement.
Definition at line 323 of file LockAnalysis.java. Referenced by getMonitorPair().
|
|
Get notity statement list.
Definition at line 337 of file LockAnalysis.java. Referenced by InterClassAnalysis::lookupReadyDependStmt().
|
|
Get all annotations of synchronization (enter/exit monitor) statement in the given statement list.
Definition at line 350 of file LockAnalysis.java. Referenced by buildLockPairList().
|
|
Get wait statement list.
Definition at line 374 of file LockAnalysis.java. Referenced by MethodCallAnalysis::collectPossibleReadyDependCallSite(), and InterClassAnalysis::readyDependence().
|
|
Get lock value for every element in lockPairList.
Definition at line 383 of file LockAnalysis.java. |
|
Get all (control flow) reachable statements from a given statement.
Definition at line 401 of file LockAnalysis.java. Referenced by readyDependOnEnters(), and readyDependOnWaits().
|
|
Get all enter monitor statements on which a given statement is ready dependent. If the given statement is reachable from an entermonitor statement, then we say the given statement is ready dependent on the entermonitor statement.
Definition at line 429 of file LockAnalysis.java. |
|
Get all
Definition at line 452 of file LockAnalysis.java. Referenced by SlicingMethod::slicingMethod(), and SlicingMethod::slicingMethodAgain().
|
|
See if a monitor pair is with a safe lock.
Definition at line 485 of file LockAnalysis.java. |
|
See if an enter/exit monitor statement is with a safe lock.
Definition at line 471 of file LockAnalysis.java. Referenced by readyDependOnEnters().
|
|
See if a given statement is synchronization dependent on a monitor pair.
Definition at line 554 of file LockAnalysis.java. |
|
See if a given statement is synchronization dependent on an enter/exit monitor statement.
Definition at line 536 of file LockAnalysis.java. |
|
Get all statements between a monitor pair.
Definition at line 515 of file LockAnalysis.java. Referenced by dependOnMonitors(), and stmtSynchroDependOn().
|
|
A list of MonitorPair. Definition at line 59 of file LockAnalysis.java. |
|
A list of SynchroStmt. Definition at line 69 of file LockAnalysis.java. |
|
A list of SynchroStmt. Definition at line 65 of file LockAnalysis.java. |