X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FRtsFlags.h;h=d2236b4ae12a8f8ef13194154a1a08e82a7d4660;hb=53a5d0b0186379be1fb378b1ed591ff5f359178c;hp=17d23638e711bdffffe15d25d30495dddf980dd4;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/includes/RtsFlags.h b/includes/RtsFlags.h index 17d2363..d2236b4 100644 --- a/includes/RtsFlags.h +++ b/includes/RtsFlags.h @@ -42,14 +42,13 @@ struct GC_FLAGS { rtsBool ringBell; rtsBool frontpanel; - int idleGCDelayTicks; /* in milliseconds */ + int idleGCDelayTime; /* in milliseconds */ }; struct DEBUG_FLAGS { /* flags to control debugging output & extra checking in various subsystems */ rtsBool scheduler; /* 's' */ rtsBool interpreter; /* 'i' */ - rtsBool codegen; /* 'c' */ rtsBool weak; /* 'w' */ rtsBool gccafs; /* 'G' */ rtsBool gc; /* 'g' */ @@ -98,6 +97,8 @@ struct PROFILING_FLAGS { nat maxRetainerSetSize; + nat ccsLength; + char* modSelector; char* descrSelector; char* typeSelector; @@ -113,6 +114,10 @@ struct CONCURRENT_FLAGS { int ctxtSwitchTicks; /* derived */ }; +struct MISC_FLAGS { + int tickInterval; /* in milliseconds */ +}; + #ifdef PAR /* currently the same as GRAN_STATS_FLAGS */ struct PAR_STATS_FLAGS { @@ -290,17 +295,35 @@ struct TICKY_FLAGS { FILE *tickyFile; }; +struct TRACE_FLAGS { + rtsBool sched; /* trace scheduler events for profiling */ + rtsBool timestamp; /* add timestamps to traces */ +}; /* 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 + +#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; struct TICKY_FLAGS TickyFlags; + struct TRACE_FLAGS TraceFlags; #if defined(THREADED_RTS) || defined(PAR) struct PAR_FLAGS ParFlags; @@ -308,6 +331,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