chord.runtime
Class EventHandler
java.lang.Object
chord.runtime.BasicEventHandler
chord.runtime.TraceEventHandler
chord.runtime.EventHandler
public class EventHandler
- extends TraceEventHandler
Buffered file-based offline handler of events generated during an
instrumented program's execution.
A file is used to communicate events between the JVM running the
instrumented program (which produces events) and the JVM running
the dynamic program analysis (which consumes events).
This handler should suffice for offline dynamic program analyses
(i.e. those that handle the events in a separate JVM, either during
or after the instrumented program's execution, depending upon
whether the value of system property chord.trace.pipe is
true or false, respectively).
Online analyses (i.e. those that handle events during the
instrumented program's execution in the same JVM) must subclass this
class and define the relevant event handling methods, i.e. static
methods named ".*Event", e.g. acquireLockEvent(int, Object).
Which methods are relevant depends upon the instrumentation scheme
chosen by the dynamic program analysis;
see DynamicAnalysis.getInstrScheme().
- Author:
- Mayur Naik (mhn@cs.stanford.edu)
|
Method Summary |
static void |
acquireLockEvent(int lId,
java.lang.Object o)
|
static void |
aftMethodCallEvent(int iId,
java.lang.Object o)
|
static void |
aftNewEvent(int hId,
java.lang.Object o)
|
static void |
aloadPrimitiveEvent(int eId,
java.lang.Object b,
int iId)
|
static void |
aloadReferenceEvent(int eId,
java.lang.Object b,
int iId,
java.lang.Object o)
|
static void |
astorePrimitiveEvent(int eId,
java.lang.Object b,
int iId)
|
static void |
astoreReferenceEvent(int eId,
java.lang.Object b,
int iId,
java.lang.Object o)
|
static void |
basicBlockEvent(int bId)
|
static void |
befMethodCallEvent(int iId,
java.lang.Object o)
|
static void |
befNewEvent(int hId)
|
static void |
enterMainMethodEvent()
|
static void |
enterMethodEvent(int mId)
|
static void |
explicitThrowEvent(int pId,
java.lang.Object o)
|
static void |
getfieldPrimitiveEvent(int eId,
java.lang.Object b,
int fId)
|
static void |
getfieldReferenceEvent(int eId,
java.lang.Object b,
int fId,
java.lang.Object o)
|
static void |
getstaticPrimitiveEvent(int eId,
java.lang.Object b,
int fId)
|
static void |
getstaticReferenceEvent(int eId,
java.lang.Object b,
int fId,
java.lang.Object o)
|
static void |
implicitThrowEvent(java.lang.Object o)
|
static void |
init(java.lang.String args)
|
static void |
leaveMethodEvent(int mId)
|
static void |
newArrayEvent(int hId,
java.lang.Object o)
|
static void |
notifyAllEvent(int iId,
java.lang.Object o)
|
static void |
notifyEvent(int iId,
java.lang.Object o)
|
static void |
putfieldPrimitiveEvent(int eId,
java.lang.Object b,
int fId)
|
static void |
putfieldReferenceEvent(int eId,
java.lang.Object b,
int fId,
java.lang.Object o)
|
static void |
putstaticPrimitiveEvent(int eId,
java.lang.Object b,
int fId)
|
static void |
putstaticReferenceEvent(int eId,
java.lang.Object b,
int fId,
java.lang.Object o)
|
static void |
quadEvent(int pId)
|
static void |
releaseLockEvent(int rId,
java.lang.Object o)
|
static void |
returnPrimitiveEvent(int pId)
|
static void |
returnReferenceEvent(int pId,
java.lang.Object o)
|
static void |
threadJoinEvent(int iId,
java.lang.Object o)
|
static void |
threadStartEvent(int iId,
java.lang.Object o)
|
static void |
waitEvent(int iId,
java.lang.Object o)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MISSING_FIELD_VAL
public static final int MISSING_FIELD_VAL
- See Also:
- Constant Field Values
UNKNOWN_FIELD_VAL
public static final int UNKNOWN_FIELD_VAL
- See Also:
- Constant Field Values
scheme
protected static InstrScheme scheme
EventHandler
public EventHandler()
befNewEvent
public static void befNewEvent(int hId)
aftNewEvent
public static void aftNewEvent(int hId,
java.lang.Object o)
newArrayEvent
public static void newArrayEvent(int hId,
java.lang.Object o)
getstaticPrimitiveEvent
public static void getstaticPrimitiveEvent(int eId,
java.lang.Object b,
int fId)
getstaticReferenceEvent
public static void getstaticReferenceEvent(int eId,
java.lang.Object b,
int fId,
java.lang.Object o)
putstaticPrimitiveEvent
public static void putstaticPrimitiveEvent(int eId,
java.lang.Object b,
int fId)
putstaticReferenceEvent
public static void putstaticReferenceEvent(int eId,
java.lang.Object b,
int fId,
java.lang.Object o)
getfieldPrimitiveEvent
public static void getfieldPrimitiveEvent(int eId,
java.lang.Object b,
int fId)
getfieldReferenceEvent
public static void getfieldReferenceEvent(int eId,
java.lang.Object b,
int fId,
java.lang.Object o)
putfieldPrimitiveEvent
public static void putfieldPrimitiveEvent(int eId,
java.lang.Object b,
int fId)
putfieldReferenceEvent
public static void putfieldReferenceEvent(int eId,
java.lang.Object b,
int fId,
java.lang.Object o)
aloadPrimitiveEvent
public static void aloadPrimitiveEvent(int eId,
java.lang.Object b,
int iId)
aloadReferenceEvent
public static void aloadReferenceEvent(int eId,
java.lang.Object b,
int iId,
java.lang.Object o)
astorePrimitiveEvent
public static void astorePrimitiveEvent(int eId,
java.lang.Object b,
int iId)
astoreReferenceEvent
public static void astoreReferenceEvent(int eId,
java.lang.Object b,
int iId,
java.lang.Object o)
threadStartEvent
public static void threadStartEvent(int iId,
java.lang.Object o)
threadJoinEvent
public static void threadJoinEvent(int iId,
java.lang.Object o)
acquireLockEvent
public static void acquireLockEvent(int lId,
java.lang.Object o)
releaseLockEvent
public static void releaseLockEvent(int rId,
java.lang.Object o)
waitEvent
public static void waitEvent(int iId,
java.lang.Object o)
notifyEvent
public static void notifyEvent(int iId,
java.lang.Object o)
notifyAllEvent
public static void notifyAllEvent(int iId,
java.lang.Object o)
befMethodCallEvent
public static void befMethodCallEvent(int iId,
java.lang.Object o)
aftMethodCallEvent
public static void aftMethodCallEvent(int iId,
java.lang.Object o)
returnPrimitiveEvent
public static void returnPrimitiveEvent(int pId)
returnReferenceEvent
public static void returnReferenceEvent(int pId,
java.lang.Object o)
explicitThrowEvent
public static void explicitThrowEvent(int pId,
java.lang.Object o)
implicitThrowEvent
public static void implicitThrowEvent(java.lang.Object o)
quadEvent
public static void quadEvent(int pId)
basicBlockEvent
public static void basicBlockEvent(int bId)
enterMainMethodEvent
public static void enterMainMethodEvent()
enterMethodEvent
public static void enterMethodEvent(int mId)
leaveMethodEvent
public static void leaveMethodEvent(int mId)
init
public static void init(java.lang.String args)