Changed num phases
[charm.git] / src / ck-perf / trace-memory.h
1 #ifndef __TRACE_MEMORY_H__
2 #define __TRACE_MEMORY_H__
3
4 #include "charm++.h"
5 #include "trace.h"
6 #include "trace-common.h"
7 #include <errno.h>
8
9 /** A representant of a memory operation */
10
11 class MemEntry {
12  private:
13   int type;
14   void *where;
15   int size;
16   
17  public:  
18   MemEntry();
19   void write(FILE *fp);
20   void set(int t, void *w, int s=0) {
21     type = t;
22     where = w;
23     size = s;
24   }
25 };
26
27 /**
28    class to trace all memory related events. Currently works only in conjunction
29    with "-memory charmdebug".
30 */
31 class TraceMemory : public Trace {
32  private:
33   int firstTime;
34   int logBufSize;
35   int usedBuffer;
36   MemEntry *logBuffer;
37   void checkFlush();
38   void flush();
39  public:
40   TraceMemory(char **argv);
41   
42   void traceClose();
43   void malloc(void *where, int size);
44   void free(void *where);
45 };
46
47 #endif