X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FRtsFlags.h;h=6efd24d106be68270f35fb209f696a67a3f625e6;hb=f70052e9dd0492e2e73e96b54ae97c5ee6bf24a3;hp=6c4b23020932ca1ea284b4c7d0c94a6ee287b0ce;hpb=16871485a44ba8a6e93e40f30af7ea46839e0c4c;p=ghc-hetmet.git diff --git a/includes/RtsFlags.h b/includes/RtsFlags.h index 6c4b230..6efd24d 100644 --- a/includes/RtsFlags.h +++ b/includes/RtsFlags.h @@ -62,6 +62,7 @@ struct DEBUG_FLAGS { rtsBool apply; /* 'a' */ rtsBool stm; /* 'm' */ rtsBool squeeze; /* 'z' stack squeezing & lazy blackholing */ + rtsBool hpc; /* 'c' coverage */ }; struct COST_CENTRE_FLAGS { @@ -302,6 +303,19 @@ struct TRACE_FLAGS { /* Put them together: */ +#ifdef USE_PAPI +struct PAPI_FLAGS { + nat eventType; /* The type of events to count */ +}; + +#define PAPI_FLAG_CACHE_L1 1 +#define PAPI_FLAG_CACHE_L2 2 +#define PAPI_FLAG_BRANCH 3 +#define PAPI_FLAG_STALLS 4 +#define PAPI_FLAG_CB_EVENTS 5 + +#endif + typedef struct _RTS_FLAGS { /* The first portion of RTS_FLAGS is invariant. */ struct GC_FLAGS GcFlags; @@ -319,6 +333,9 @@ typedef struct _RTS_FLAGS { #ifdef GRAN struct GRAN_FLAGS GranFlags; #endif +#ifdef USE_PAPI + struct PAPI_FLAGS PapiFlags; +#endif } RTS_FLAGS; #ifdef COMPILING_RTS_MAIN