diff VMS.h @ 184:50b29548d4f0

handler interface for counters... not working
author Nina Engelhardt <nengel@mailbox.tu-berlin.de>
date Fri, 13 Jan 2012 15:03:32 +0100
parents 7523ee70d66c
children 28cc465f7eb7
line diff
     1.1 --- a/VMS.h	Fri Jan 06 18:55:05 2012 +0100
     1.2 +++ b/VMS.h	Fri Jan 13 15:03:32 2012 +0100
     1.3 @@ -130,7 +130,7 @@
     1.4  typedef void  (*VirtProcrFnPtr)  ( void *, VirtProcr * ); //initData, animPr
     1.5  typedef void    VirtProcrFn      ( void *, VirtProcr * ); //initData, animPr
     1.6  typedef void  (*ResumePrFnPtr)   ( VirtProcr *, void * );
     1.7 -
     1.8 +typedef void (*CounterHandler) (int,int,int,VirtProcr*,uint64,uint64);
     1.9  
    1.10  //============= Requests ===========
    1.11  //
    1.12 @@ -210,8 +210,8 @@
    1.13     unsigned int endMasterTSCLow;
    1.14     #endif
    1.15     #ifdef MEAS__PERF_COUNTERS //
    1.16 -   CounterRecord** counter_history;
    1.17 -   PrivDynArrayInfo* counter_history_array_info;
    1.18 +   //CounterRecord** counter_history;
    1.19 +   //PrivDynArrayInfo* counter_history_array_info;
    1.20     #endif
    1.21        //========================================
    1.22     
    1.23 @@ -276,8 +276,9 @@
    1.24     FILE* counteroutput;
    1.25     #endif
    1.26     #ifdef MEAS__PERF_COUNTERS //
    1.27 -   CounterRecord** counter_history;
    1.28 -   PrivDynArrayInfo* counter_history_array_info;
    1.29 +   //CounterRecord** counter_history;
    1.30 +   //PrivDynArrayInfo* counter_history_array_info;
    1.31 +   CounterHandler counterHandler;
    1.32     #endif
    1.33   }
    1.34  MasterEnv;
    1.35 @@ -444,6 +445,13 @@
    1.36     }                                                    \
    1.37  } while (0) 
    1.38  
    1.39 +enum eventType {
    1.40 +    MasterLoop_beforeReqHdlr = 1,
    1.41 +    MasterLoop_afterReqHdlr,
    1.42 +    MasterLoop_beforeAssign,
    1.43 +    MasterLoop_afterAssign
    1.44 +};
    1.45 +
    1.46  #define getReturnAddressBeforeLibraryCall(vp_ptr, res_ptr) do{     \
    1.47  void* frame_ptr0 = vp_ptr->framePtr;                               \
    1.48  void* frame_ptr1 = *((void**)frame_ptr0);                          \