projector trace files
[charm.git] / src / conv-perf / charmEvents.h
1
2 #ifndef __CHARM_EVENTS_H__
3 #define __CHARM_EVENTS_H__
4
5 #include "charmProjections.h"
6 #include "traceCoreAPI.h"
7
8 /* Language ID */
9 #define _CHARM_LANG_ID          2       // language ID for charm 
10
11 /* Event IDs */
12 #define  _E_CREATION            1
13 #define  _E_BEGIN_PROCESSING    2
14 #define  _E_END_PROCESSING      3
15 #define  _E_ENQUEUE             4
16 #define  _E_DEQUEUE             5
17 #define  _E_BEGIN_COMPUTATION   6
18 #define  _E_END_COMPUTATION     7
19 #define  _E_BEGIN_INTERRUPT     8
20 #define  _E_END_INTERRUPT       9
21 #define  _E_MSG_RECV_CHARM      10
22 #define  _E_USER_EVENT_CHARM    13
23 #define  _E_BEGIN_PACK          16
24 #define  _E_END_PACK            17
25 #define  _E_BEGIN_UNPACK        18
26 #define  _E_END_UNPACK          19
27
28 /* Trace Macros */
29 #define REGISTER_CHARM \
30         { RegisterLanguage(_CHARM_LANG_ID, "charm"); \
31           RegisterEvent(_CHARM_LANG_ID, _E_CREATION         ); \
32           RegisterEvent(_CHARM_LANG_ID, _E_BEGIN_PROCESSING ); \
33           RegisterEvent(_CHARM_LANG_ID, _E_END_PROCESSING   ); \
34           RegisterEvent(_CHARM_LANG_ID, _E_ENQUEUE          ); \
35           RegisterEvent(_CHARM_LANG_ID, _E_DEQUEUE          ); \
36           RegisterEvent(_CHARM_LANG_ID, _E_BEGIN_COMPUTATION); \
37           RegisterEvent(_CHARM_LANG_ID, _E_END_COMPUTATION  ); \
38           RegisterEvent(_CHARM_LANG_ID, _E_BEGIN_INTERRUPT  ); \
39           RegisterEvent(_CHARM_LANG_ID, _E_END_INTERRUPT    ); \
40           RegisterEvent(_CHARM_LANG_ID, _E_MSG_RECV_CHARM   ); \
41           RegisterEvent(_CHARM_LANG_ID, _E_USER_EVENT_CHARM ); \
42           RegisterEvent(_CHARM_LANG_ID, _E_BEGIN_PACK       ); \
43           RegisterEvent(_CHARM_LANG_ID, _E_END_PACK         ); \
44           RegisterEvent(_CHARM_LANG_ID, _E_BEGIN_UNPACK     ); \
45           RegisterEvent(_CHARM_LANG_ID, _E_END_UNPACK       ); \
46         }
47 #define _LOG_E_CREATION_1(env)          { creation(env); }
48 #define _LOG_E_CREATION_N(env, n)       { creation(env, n); }
49 #define _LOG_E_BEGIN_EXECUTE(env)       { beginExecute(env); }
50 #define _LOG_E_BEGIN_EXECUTE_DETAILED(event, msgType, ep, srcPe, ml) \
51         { beginExecuteDetailed(event, msgType, ep, srcPe, ml); }
52 #define _LOG_E_END_EXECUTE()            { endExecute(); }
53 //TODO#define _LOG_E_BEGIN_PROCESSING() 
54 //TODO#define _LOG_E_END_PROCESSING() 
55 #define _LOG_E_ENQUEUE(env)             { enqueue(env); }
56 #define _LOG_E_DEQUEUE(env)             { dequeue(env); }
57 #define _LOG_E_BEGIN_COMPUTATION()      { beginComputation(); }
58 #define _LOG_E_END_COMPUTATION()        { endComputation(); }
59 //#define _LOG_E_BEGIN_INTERRUPT()
60 //#define _LOG_E_END_INTERRUPT() 
61 #define _LOG_E_MSG_RECV_CHARM(env, pe)  { messageRecv(env, pe); }
62 #define _LOG_E_USER_EVENT_CHARM(x)              { userEvent(x); }
63 #define _LOG_E_BEGIN_PACK()                     { beginPack(); }
64 #define _LOG_E_END_PACK()                               { endPack(); }
65 #define _LOG_E_BEGIN_UNPACK()                   { beginUnpack(); }
66 #define _LOG_E_END_UNPACK()                     { endUnpack(); }
67
68 #endif