Merged arrays into Charj mainline.
[charm.git] / src / conv-perf / threadEvents.h
1
2 #ifndef __THREAD_EVENTS_H__
3 #define __THREAD_EVENTS_H__
4
5 #include "traceCoreCommon.h"
6
7 /* Language ID */
8 #define _THREAD_LANG_ID         3       // language ID for threads 
9
10 /* Event IDs */
11 #define _E_THREAD_CREATION      0
12 #define _E_THREAD_AWAKEN        1
13 #define _E_THREAD_RESUME        2
14 #define _E_THREAD_SUSPEND       3
15
16 /* Trace Macros */
17 // TODO Currently there is no EventDataPrototype for the purpose of testing
18 #define REGISTER_THREAD \
19         { RegisterLanguage(_THREAD_LANG_ID, "thread"); \
20           RegisterEvent(_THREAD_LANG_ID, _E_THREAD_CREATION); \
21           RegisterEvent(_THREAD_LANG_ID, _E_THREAD_AWAKEN  ); \
22           RegisterEvent(_THREAD_LANG_ID, _E_THREAD_RESUME  ); \
23           RegisterEvent(_THREAD_LANG_ID, _E_THREAD_SUSPEND ); \
24         }
25 #define _LOG_E_THREAD_CREATION() \
26         { LogEvent(_THREAD_LANG_ID, _E_THREAD_CREATION); }
27 #define _LOG_E_THREAD_AWAKEN() \
28         { LogEvent(_THREAD_LANG_ID, _E_THREAD_AWAKEN); }
29 #define _LOG_E_THREAD_RESUME() \
30         { LogEvent(_THREAD_LANG_ID, _E_THREAD_RESUME); }
31 #define _LOG_E_THREAD_SUSPEND() \
32         { LogEvent(_THREAD_LANG_ID, _E_THREAD_SUSPEND); }
33
34 #endif