diff VMS.h @ 110:724c7a0b687f

save counters to file in csv
author Nina Engelhardt
date Wed, 03 Aug 2011 17:05:18 +0200
parents 659299627e70
children b1817e2451b1
line diff
     1.1 --- a/VMS.h	Tue Aug 02 17:16:12 2011 +0200
     1.2 +++ b/VMS.h	Wed Aug 03 17:05:18 2011 +0200
     1.3 @@ -33,7 +33,7 @@
     1.4  
     1.5  //turns on the probe-instrumentation in the application -- when not
     1.6  // defined, the calls to the probe functions turn into comments
     1.7 -#define STATS__ENABLE_PROBES
     1.8 +//#define STATS__ENABLE_PROBES
     1.9  //#define TURN_ON_DEBUG_PROBES
    1.10  
    1.11  //These defines turn types of bug messages on and off
    1.12 @@ -267,6 +267,7 @@
    1.13     #ifdef MEAS__PERF_COUNTERS
    1.14     int cycles_counter_fd[NUM_CORES];
    1.15     int instrs_counter_fd[NUM_CORES];
    1.16 +   FILE* counteroutput;
    1.17     #endif
    1.18   }
    1.19  MasterEnv;
    1.20 @@ -366,16 +367,16 @@
    1.21  inline void
    1.22  VMS__add_sem_request_in_mallocd_VMSReqst( void *semReqData, VirtProcr *callingPr );
    1.23  
    1.24 -inline void
    1.25 +/*inline*/ __attribute__ ((noinline)) void
    1.26  VMS__send_sem_request( void *semReqData, VirtProcr *callingPr );
    1.27  
    1.28  void
    1.29  VMS__send_create_procr_req( void *semReqData, VirtProcr *reqstingPr );
    1.30  
    1.31 -void inline
    1.32 +void /*inline**/ __attribute__ ((noinline))
    1.33  VMS__send_dissipate_req( VirtProcr *prToDissipate );
    1.34  
    1.35 -inline void
    1.36 +/*inline**/ __attribute__ ((noinline)) void
    1.37  VMS__send_VMSSem_request( void *semReqData, VirtProcr *callingPr );
    1.38  
    1.39  VMSReqst *
    1.40 @@ -433,6 +434,14 @@
    1.41     }                                                    \
    1.42  } while (0) 
    1.43  
    1.44 +#define getReturnAddressBeforeLibraryCall(vp_ptr, res_ptr) do{         \
    1.45 +void* frame_ptr0 = vp_ptr->framePtr;                                   \
    1.46 +void* frame_ptr1 = *((void**)frame_ptr0);                          \
    1.47 +void* frame_ptr2 = *((void**)frame_ptr1);                          \
    1.48 +void* frame_ptr3 = *((void**)frame_ptr2);                          \
    1.49 +void* ret_addr = *((void**)frame_ptr3 + 1);                             \
    1.50 +*res_ptr = ret_addr;                                                   \
    1.51 +} while (0)
    1.52  
    1.53  #define MEAS__SUB_CREATE  /*turn on/off subtraction of create from plugin*/
    1.54