X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=includes%2FRtsFlags.h;h=4bfe27636a522e9ea520c0c7b676b1e19b884ac6;hp=fbdc64ebbc1c30c04d1726c006fe5dff401afbb6;hb=2eb04ca0f8d0ec72b417cddc60672c696b4a3daa;hpb=93db1991b5cacf8357493a2e17fbbfb485f3205b diff --git a/includes/RtsFlags.h b/includes/RtsFlags.h index fbdc64e..4bfe276 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 { @@ -85,8 +86,7 @@ struct PROFILING_FLAGS { # define HEAP_BY_RETAINER 6 # define HEAP_BY_LDV 7 -# define HEAP_BY_INFOPTR 1 /* DEBUG only */ -# define HEAP_BY_CLOSURE_TYPE 2 /* DEBUG only */ +# define HEAP_BY_CLOSURE_TYPE 8 nat profileInterval; /* delta between samples (in ms) */ nat profileIntervalTicks; /* delta between samples (in 'ticks') */ @@ -97,6 +97,8 @@ struct PROFILING_FLAGS { nat maxRetainerSetSize; + nat ccsLength; + char* modSelector; char* descrSelector; char* typeSelector; @@ -114,6 +116,7 @@ struct CONCURRENT_FLAGS { struct MISC_FLAGS { int tickInterval; /* in milliseconds */ + rtsBool install_signal_handlers; }; #ifdef PAR @@ -300,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; @@ -317,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