quick implementation to make projections to have object id for array elements. last...
authorGengbin Zheng <gzheng@illinois.edu>
Tue, 29 Apr 2003 22:52:07 +0000 (22:52 +0000)
committerGengbin Zheng <gzheng@illinois.edu>
Tue, 29 Apr 2003 22:52:07 +0000 (22:52 +0000)
src/ck-perf/trace-counter.C
src/ck-perf/trace-counter.h
src/ck-perf/trace-projections.C
src/ck-perf/trace-projections.h
src/ck-perf/trace-summary.C
src/ck-perf/trace-summary.h
src/ck-perf/trace.h

index 48829d2963e93e415b5b50611bd2a37547d5d900..e0fd9df2ae6b2c9f74ceb7e6dd17bb8c3ea471f0 100644 (file)
@@ -865,7 +865,8 @@ void TraceCounter::beginExecute
   int msgType,
   int ep,
   int srcPe, 
-  int mlen
+  int mlen,
+  CmiObjId *idx
 )
 {
   DEBUGF(("%d/%d DEBUG: beginExecute EP %d\n", CmiMyPe(), CmiNumPes(), ep));
index 9692fdf878d330b82f1142daaab8dfe7b1c7505f..c1584e965e37e894f827f27a2c7841bca24cad48 100644 (file)
@@ -129,7 +129,8 @@ class TraceCounter : public Trace {
       int msgType, //! message type
       int ep,      //! Charm++ entry point (will correspond to sts file) 
       int srcPe,   //! Which PE originated the call
-      int ml=0);   //! message size
+      int ml=0,   //! message size
+      CmiObjId *idx=0);   //! array idx
     void endExecute();
     //! begin/end idle time for this pe
     void beginIdle();
index 56f6eacd8359297f65e1be8ca2d79ee01a3a23e7..e92c3555b3c400b78e6e6b89f2a6c3fe769bbe17 100644 (file)
@@ -618,13 +618,13 @@ void TraceProjections::beginExecute(envelope *e)
   }
 }
 
-void TraceProjections::beginExecute(int event,int msgType,int ep,int srcPe, int mlen)
+void TraceProjections::beginExecute(int event,int msgType,int ep,int srcPe, int mlen,CmiObjId *idx)
 {
   execEvent=event;
   execEp=ep;
   execPe=srcPe;
   _logPool->add(BEGIN_PROCESSING,msgType,ep,TraceTimer(),
-                             event,srcPe, mlen);
+                             event,srcPe, mlen, idx);
 }
 
 void TraceProjections::endExecute(void)
index 1c1e02f492ec7392b68ed985a93b97e153be6c2c..307daca3ab055dc2e630a5e768efca9effcb6f9a 100644 (file)
@@ -117,7 +117,7 @@ class TraceProjections : public Trace {
     void creationDone(int num=1);
     void beginExecute(envelope *e);
     void beginExecute(CmiObjId  *tid);
-    void beginExecute(int event,int msgType,int ep,int srcPe,int ml);
+    void beginExecute(int event,int msgType,int ep,int srcPe,int ml,CmiObjId *idx=NULL);
     void endExecute(void);
     void messageRecv(char *env, int pe);
     void beginIdle(void);
index a76266d45e693975c590d587e074ade99f9e55fb..00a3b4b03d95000fe9a35358c30f2736be534edb 100644 (file)
@@ -497,7 +497,7 @@ void TraceSummary::beginExecute(envelope *e)
   }  
 }
 
-void TraceSummary::beginExecute(int event,int msgType,int ep,int srcPe, int mlen)
+void TraceSummary::beginExecute(int event,int msgType,int ep,int srcPe, int mlen, CmiObjId *idx)
 {
   if (execEp != INVALIDEP) {
     CmiPrintf("Warning: TraceSummary two consecutive BEGIN_PROCESSING!\n");
index 019204898993891a2bd93089037aa65626f64d63..bf240af4c506d606487f30e5c0e342cd810c8166 100644 (file)
@@ -246,7 +246,7 @@ class TraceSummary : public Trace {
     TraceSummary(char **argv);
     void beginExecute(envelope *e);
     void beginExecute(CmiObjId  *tid);
-    void beginExecute(int event,int msgType,int ep,int srcPe, int mlen=0);
+    void beginExecute(int event,int msgType,int ep,int srcPe, int mlen=0, CmiObjId *idx=NULL);
     void endExecute(void);
     void beginPack(void);
     void endPack(void);
index e8322aa638e942486c0ee71bd15c1eb4ea573d15..782b8fc324743944dfb9e4e470e262dc175a6810 100644 (file)
@@ -51,7 +51,8 @@ class Trace {
       int msgType, // message type
       int ep,      // Charm++ entry point (will correspond to sts file) 
       int srcPe,   // Which PE originated the call
-      int ml)      // message size
+      int ml,      // message size
+      CmiObjId* idx)    // index
     { }
     virtual void endExecute(void) {}
     // begin/end idle time for this pe
@@ -113,7 +114,7 @@ public:
     inline void creationDone(int num=1) { ALLDO(creationDone(num)); }
     inline void beginExecute(envelope *env) {ALLDO(beginExecute(env));}
     inline void beginExecute(CmiObjId *tid) {ALLDO(beginExecute(tid));}
-    inline void beginExecute(int event,int msgType,int ep,int srcPe, int mlen) {ALLDO(beginExecute(event, msgType, ep, srcPe, mlen));}
+    inline void beginExecute(int event,int msgType,int ep,int srcPe, int mlen,CmiObjId *idx=NULL) {ALLDO(beginExecute(event, msgType, ep, srcPe, mlen,idx));}
     inline void endExecute(void) {ALLDO(endExecute());}
     inline void messageRecv(char *env, int pe) {ALLDO(messageRecv(env, pe));}
     inline void beginIdle(void) {ALLDO(beginIdle());}
@@ -167,8 +168,8 @@ CkpvExtern(int, traceOnPe);
 #define _TRACE_CREATION_N(env, num) _TRACE_ONLY(CkpvAccess(_traces)->creation(env,env->getEpIdx(), num))
 #define _TRACE_CREATION_DONE(num) _TRACE_ONLY(CkpvAccess(_traces)->creationDone(num))
 #define _TRACE_BEGIN_EXECUTE(env) _TRACE_ONLY(CkpvAccess(_traces)->beginExecute(env))
-#define _TRACE_BEGIN_EXECUTE_DETAILED(evt,typ,ep,src,mlen) \
-       _TRACE_ONLY(CkpvAccess(_traces)->beginExecute(evt,typ,ep,src,mlen))
+#define _TRACE_BEGIN_EXECUTE_DETAILED(evt,typ,ep,src,mlen,idx) \
+       _TRACE_ONLY(CkpvAccess(_traces)->beginExecute(evt,typ,ep,src,mlen,idx))
 #define _TRACE_END_EXECUTE() _TRACE_ONLY(CkpvAccess(_traces)->endExecute())
 #define _TRACE_MESSAGE_RECV(env, pe) _TRACE_ONLY(CkpvAccess(_traces)->messageRecv(env, pe))
 #define _TRACE_BEGIN_IDLE() _TRACE_ONLY(CkpvAccess(_traces)->beginIdle())