X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FRtsFlags.h;h=f7f79b6980328e78d6e7737fa5b12da3e158ca1e;hb=f7bcfb698d9a895a168fd29eefd7dba8fd9be849;hp=ccf170f0f7b0ba5de25ad315c025eea459f70620;hpb=d2847b0578d5c143bb325ca66c948d1a1cb08354;p=ghc-hetmet.git diff --git a/includes/RtsFlags.h b/includes/RtsFlags.h index ccf170f..f7f79b6 100644 --- a/includes/RtsFlags.h +++ b/includes/RtsFlags.h @@ -42,7 +42,7 @@ struct GC_FLAGS { rtsBool ringBell; rtsBool frontpanel; - int idleGCDelayTicks; /* in milliseconds */ + int idleGCDelayTime; /* in milliseconds */ }; struct DEBUG_FLAGS { @@ -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 { @@ -97,6 +98,8 @@ struct PROFILING_FLAGS { nat maxRetainerSetSize; + nat ccsLength; + char* modSelector; char* descrSelector; char* typeSelector; @@ -112,6 +115,11 @@ struct CONCURRENT_FLAGS { int ctxtSwitchTicks; /* derived */ }; +struct MISC_FLAGS { + int tickInterval; /* in milliseconds */ + rtsBool install_signal_handlers; +}; + #ifdef PAR /* currently the same as GRAN_STATS_FLAGS */ struct PAR_STATS_FLAGS { @@ -296,10 +304,24 @@ 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; struct CONCURRENT_FLAGS ConcFlags; + struct MISC_FLAGS MiscFlags; struct DEBUG_FLAGS DebugFlags; struct COST_CENTRE_FLAGS CcFlags; struct PROFILING_FLAGS ProfFlags; @@ -312,6 +334,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