Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 91742 Details for
Bug 209724
[ThreadProf] implementing BCI support at agent
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Documentation Update (patch)
patch_209724.txt (text/plain), 14.49 KB, created by
Asaf Yaffe
on 2008-03-06 06:19:51 EST
(
hide
)
Description:
Documentation Update (patch)
Filename:
MIME Type:
Creator:
Asaf Yaffe
Created:
2008-03-06 06:19:51 EST
Size:
14.49 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.tptp.platform.jvmti.runtime >Index: src-native/include/Martini/MpiAPI.h >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/include/Martini/MpiAPI.h,v >retrieving revision 1.22 >diff -u -r1.22 MpiAPI.h >--- src-native/include/Martini/MpiAPI.h 29 Feb 2008 19:16:30 -0000 1.22 >+++ src-native/include/Martini/MpiAPI.h 6 Mar 2008 11:17:49 -0000 >@@ -106,7 +106,7 @@ > //! EV_CONTENDED_MONITOR_ENTER, > //! EV_CONTENDED_MONITOR_ENTERED > >- EG_THREAD_INTERACTION, //!< @brief Thread interaction event: >+ EG_THREAD_INTERACTION, //!< @brief Thread Interaction events: > //! EV_THREAD_INTERACTION > > EG_LAST //! End sentinel >@@ -655,9 +655,7 @@ > //! @brief Monitor timeout for "wait" operations, in milliseconds > const TDataRequestType DR_MONITOR_TIMEOUT = 0x00040000; > >- //! @brief Monitor boolean exit status for "wait" operations, >- //! true - timeout expired >- //! false - notified or interrupted >+ //! @brief Monitor timeout expiration status for "wait" operations > const TDataRequestType DR_MONITOR_TIMED_OUT = 0x00800000; > > //! @brief Type of interaction between threads, >@@ -1180,7 +1178,7 @@ > { > TId threadId; //!< Id of the waiting thread > TId objectId; //!< Id of the monitor object >- bool isTimedOut; //!< Wait exit status, true if timed out >+ bool isTimedOut; //!< Whether the wait operation timed out (true) or not (false) > BitSet validData; //!< Bit-mask of the valid data in the struct > }; > >@@ -1304,43 +1302,51 @@ > virtual void HandleEvent(SContendedMonitorEnteredEventData &data) = 0; > }; > >- >- >- >- >- > /** >- * @brief method id constants >- */ >+ * @brief Defines Thread Interaction types >+ * >+ * Defines Thread Interaction types >+ */ > enum EThreadInteractionType > { >- IT_NOTIFY_ALL = 1, >- IT_NOTIFY = 2, >- IT_INTERRUPT = 3, >- IT_START = 4, >+ IT_NOTIFY_ALL = 1, //!< @brief A thread generated a notification on a monitor to >+ //! wake up all waiting threads >+ IT_NOTIFY = 2, //!< @brief A thread generated a notification on a monitor to >+ //! wake up a single thread >+ IT_INTERRUPT = 3, //!< @brief A thread interrupted the execution of another thread >+ IT_START = 4 //!< @brief A thread started a new thread > }; > >- > /** >- * @brief Defines Thread Interactions Event data >+ * @brief Defines Thread Interaction event data > * > * Defines Thread Interaction event data for the >- * IThreadInteractionEvent::HandleEvent callback function. >+ * IThreadInteractionEventObserver::HandleEvent callback function. > */ > struct SThreadInteractionEventData > { >- TId threadId; //!< Id of the thread calling one of notify methods >- TId objectId; //!< Id of the object for which method is called >- EThreadInteractionType interactionType; //!< alled method ID >- BitSet validData; //!< Bit-mask of the valid data in the struct >+ TId threadId; //!< @brief Id of the thread performing >+ //! the interaction >+ TId objectId; //!< @brief ID of the object on which the >+ //! the interaction is performed >+ EThreadInteractionType interactionType; //!< The type of the interaction >+ BitSet validData; //!< Bit-mask of the valid data in the struct > }; > > /** > * @interface IThreadInteractionEventObserver >- * @brief Observer interface for receiving Call CA Method events. >+ * @brief Observer interface for receiving Thread Interaction events. > * >- * The Thread Interaction event is sent when a thread about to call one of the methods >- * important for contention analysis (notify, notifyAll, interrupt, start) >+ * The Thread Interaction event is sent when a thread is about to perform any of the >+ * following operations: >+ * - Wake-up (notify) all threads waiting on a monitor object >+ * - Wake-up (notify) a single thread waiting on a monitor object >+ * - Interrupt the execution of another thread >+ * - Start a newly created thread. >+ * >+ * The Thread Interaction event is always sent on the thread which performs the operation. >+ * The event data provides information about the thread, the object it interacts with >+ * and the type of the interaction. > * > * The event is currently supported only in Java 5.0 and later. > * >@@ -1360,16 +1366,13 @@ > /** > * @brief Event Handler > * >- * Call CA method event handler >+ * Thread Interaction event handler > * > * @param[in] data event data. > */ > virtual void HandleEvent(SThreadInteractionEventData &data) = 0; > }; > >- >- >- > ////////////////////////////////////////////////////////////////////////// > // Heap Events and Data > ////////////////////////////////////////////////////////////////////////// >@@ -2057,9 +2060,9 @@ > ////////////////////////////////////////////////////////////////////////// > > /** >- * @brief Defines data for the Call Graph events filter. >+ * @brief Defines data for the Call Graph events filter > * >- * Defines data for the Call Graph events filter. >+ * Defines data for the Call Graph events filter > */ > struct SCallGraphFilterData > { >@@ -2114,9 +2117,9 @@ > ////////////////////////////////////////////////////////////////////////// > > /** >- * @brief Defines data for the Heap events filter. >+ * @brief Defines data for the Heap events filter > * >- * Defines data for the Heap events filter. >+ * Defines data for the Heap events filter > */ > struct SHeapFilterData > { >@@ -2164,38 +2167,35 @@ > virtual bool ShouldNotify(SHeapFilterData &objectInfo) = 0; > }; > >- > ////////////////////////////////////////////////////////////////////////// >- // Thread Events Filter >+ // Thread Interaction Events Filter > ////////////////////////////////////////////////////////////////////////// > > /** >- * @brief Defines data for the Thread events filter. >+ * @brief Defines data for the Thread Interaction events filter > * >- * Defines data for the Thread events filter. >+ * Defines data for the Thread Interaction events filter > */ > struct SThreadInteractionFilterData > { >- const char *szClassName; //!< Fully qualified class name >- const char *szMethodName; //!< Method name >+ const char *szClassName; //!< Fully qualified class name >+ const char *szMethodName; //!< Method name > }; > > /** > * @interface IThreadInteractionFilter >- * @brief Event Filter interface for defining selectivity for Thread events >+ * @brief Event Filter interface for defining selectivity for Thread Interaction events > * > * Event Filter interface for defining selectivity for the following >- * events: Thread interactions >+ * events: Thread Interaction > * > * To implement selectivity, the client defines a filter class which implements this > * interface, and then registers an instance of this class with MPI using the > * IMpi::SetEventGroupFilter method. > * > * The MPI implementation will call the ShouldNotify method of the filter class for each >- * new class it encounters, in order to determine whether to generate (add BCI) Thread events >- * for this class. >- * >- * @remark - currently it isn't implemented properly >+ * new method it encounters, in order to determine whether to report Thread >+ * Interaction events that occur within the method > */ > class IThreadInteractionFilter : public IEventFilter > { >@@ -2203,21 +2203,22 @@ > virtual EFilterType Type() { return FT_THREAD_INTERACTION; } > > /** >- * @brief Invoked to determine event selectivity for a class >+ * @brief Invoked to determine event selectivity for a method > * > * This method is implemented by the filter class and called by the MPI implementation >- * to determine whether to report (add BCI for event generation) thread events for a class >+ * for each method that is about to execute to determine whether to report Thread >+ * Interaction events that occur within the method > * >- * @param[in] objectInfo class information >+ * @param[in] methodInfo method information > * > * @retval true an implementation returns true to indicate that events >- * should be reported for this class >+ * should be reported for this method > * > * @retval false an implementation returns false to indicate that events >- * should not be reported for this class >+ * should not be reported for this method > * > */ >- virtual bool ShouldNotify(SThreadInteractionFilterData &objectInfo) = 0; >+ virtual bool ShouldNotify(SThreadInteractionFilterData &methodInfo) = 0; > }; > > ////////////////////////////////////////////////////////////////////////// >Index: src-native/include/Martini/MpiBase.h >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/include/Martini/MpiBase.h,v >retrieving revision 1.9 >diff -u -r1.9 MpiBase.h >--- src-native/include/Martini/MpiBase.h 29 Feb 2008 19:16:30 -0000 1.9 >+++ src-native/include/Martini/MpiBase.h 6 Mar 2008 11:17:49 -0000 >@@ -133,7 +133,7 @@ > * - EG_HEAP: Object Alloc and Object Free > * - EG_MONITOR: Monitor Wait, Monitor Waited, Contended Monitor Enter and > * Contended Monitor Entered >- * - EG_THREAD_INTERACTION: Thread notification, interuption and spawning >+ * - EG_THREAD_INTERACTION: Thread Interaction > * > * To apply a filter to an MPI event group, the MPI client must define an Event Filter class > * for the specific event group it wants to restrict, and then register an instance of this >@@ -396,8 +396,8 @@ > enum EFilterType > { > FT_CALLGRAPH, //!< Call-graph filter >- FT_HEAP, //!< Heap filters >- FT_THREAD_INTERACTION //!< Thread filters >+ FT_HEAP, //!< Heap filter >+ FT_THREAD_INTERACTION //!< Thread-interaction filter > }; > > /** >Index: src-native/src/Martini/Infrastructure/JPI/EventDispatcher.h >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/JPI/EventDispatcher.h,v >retrieving revision 1.9 >diff -u -r1.9 EventDispatcher.h >--- src-native/src/Martini/Infrastructure/JPI/EventDispatcher.h 29 Feb 2008 19:16:30 -0000 1.9 >+++ src-native/src/Martini/Infrastructure/JPI/EventDispatcher.h 6 Mar 2008 11:17:49 -0000 >@@ -464,7 +464,7 @@ > > > /** >- * @brief Dispatcher for the Call CA methoda event >+ * @brief Dispatcher for the Thread Interaction event > */ > class CThreadInteractionEventDispatcher : public CEventDispatcher > { >Index: src-native/src/Martini/Infrastructure/JPI/EventDispatcher.cpp >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/JPI/EventDispatcher.cpp,v >retrieving revision 1.19 >diff -u -r1.19 EventDispatcher.cpp >--- src-native/src/Martini/Infrastructure/JPI/EventDispatcher.cpp 29 Feb 2008 19:09:12 -0000 1.19 >+++ src-native/src/Martini/Infrastructure/JPI/EventDispatcher.cpp 6 Mar 2008 11:17:49 -0000 >@@ -1001,7 +1001,8 @@ > > > ////////////////////////////////////////////////////////////////////////// >-// CCallNotifyEventDispatcher >+// CThreadInteractionEventDispatcher >+ > void CThreadInteractionEventDispatcher::Notify(SEmData *pData, > IEventObserver *pObserver, > BitSet dataItems) >Index: src-native/src/Martini/Infrastructure/Include/ThreadAdaptor.h >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/Include/ThreadAdaptor.h,v >retrieving revision 1.1 >diff -u -r1.1 ThreadAdaptor.h >--- src-native/src/Martini/Infrastructure/Include/ThreadAdaptor.h 29 Feb 2008 15:38:33 -0000 1.1 >+++ src-native/src/Martini/Infrastructure/Include/ThreadAdaptor.h 6 Mar 2008 11:17:49 -0000 >@@ -31,17 +31,19 @@ > namespace Martini { namespace ThreadAdaptor { > > /** >- * @brief Function prototype for the callThreadInteraction native method of the Thread Proxy Java >- * class >+ * @brief Function prototype for the callThreadInteraction native method of the >+ * Thread Proxy Java class > * > * This is a prototype for a function that provides an implementation of the >- * CallNotify native method of ThreadProxy.java. >+ * callThreadInteraction native method of ThreadProxy.java. > */ >- typedef void (JNICALL *TThreadInteractionHandler)(JNIEnv *env, jclass self, >- jobject obj, jint methodID); >+ typedef void (JNICALL *TThreadInteractionHandler)(JNIEnv *env, >+ jclass self, >+ jobject obj, >+ jint methodID); > >- >- struct SHookMethodCall { >+ struct SHookMethodCall >+ { > const char *methodName; > JIE::TConstantPoolIndex cpCallback; > };
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 209724
:
89931
|
90766
| 91742