X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2Frts%2FFlags.h;h=8bfadaa0cdd76ec963b0ed3faf068336832c2be8;hb=d4942f78fc3cce355d340b7bba0b42e4123103fa;hp=d9e3be97de0a8ffb566adb572ef70b2eb991542b;hpb=7d7c187b4a12f1bb350e85cdb0115e19537cc704;p=ghc-hetmet.git diff --git a/includes/rts/Flags.h b/includes/rts/Flags.h index d9e3be9..8bfadaa 100644 --- a/includes/rts/Flags.h +++ b/includes/rts/Flags.h @@ -34,6 +34,7 @@ struct GC_FLAGS { nat minAllocAreaSize; /* in *blocks* */ nat minOldGenSize; /* in *blocks* */ nat heapSizeSuggestion; /* in *blocks* */ + rtsBool heapSizeSuggestionAuto; double oldGenFactor; double pcFreeHeap; @@ -65,13 +66,12 @@ struct DEBUG_FLAGS { rtsBool sanity; /* 'S' warning: might be expensive! */ rtsBool stable; /* 't' */ rtsBool prof; /* 'p' */ - rtsBool eventlog; /* 'e' */ rtsBool linker; /* 'l' the object linker */ rtsBool apply; /* 'a' */ rtsBool stm; /* 'm' */ rtsBool squeeze; /* 'z' stack squeezing & lazy blackholing */ rtsBool hpc; /* 'c' coverage */ - rtsBool timestamp; /* add timestamps to traces */ + rtsBool sparks; /* 'r' */ }; struct COST_CENTRE_FLAGS { @@ -118,11 +118,16 @@ struct PROFILING_FLAGS { }; -#ifdef EVENTLOG -struct EVENTLOG_FLAGS { - rtsBool doEventLogging; +#define TRACE_NONE 0 +#define TRACE_EVENTLOG 1 +#define TRACE_STDERR 2 + +struct TRACE_FLAGS { + int tracing; + rtsBool timestamp; /* show timestamp in stderr output */ + + rtsBool scheduler; /* trace scheduler events */ }; -#endif struct CONCURRENT_FLAGS { int ctxtSwitchTime; /* in milliseconds */ @@ -144,9 +149,14 @@ struct PAR_FLAGS { rtsBool wakeupMigrate; /* migrate a thread on wakeup */ unsigned int maxLocalSparks; rtsBool parGcEnabled; /* enable parallel GC */ - rtsBool parGcGen; /* do parallel GC in this generation + unsigned int parGcGen; /* do parallel GC in this generation * and higher only */ - rtsBool parGcLoadBalancing; /* do load-balancing in parallel GC */ + rtsBool parGcLoadBalancingEnabled; + /* enable load-balancing in the + * parallel GC */ + unsigned int parGcLoadBalancingGen; + /* do load-balancing in this + * generation and higher only */ rtsBool setAffinity; /* force thread affinity with CPUs */ }; #endif /* THREADED_RTS */ @@ -163,6 +173,8 @@ struct PAPI_FLAGS { nat eventType; /* The type of events to count */ nat numUserEvents; char * userEvents[MAX_PAPI_USER_EVENTS]; + /* Allow user to enter either PAPI preset or native events */ + nat userEventsKind[MAX_PAPI_USER_EVENTS]; }; #define PAPI_FLAG_CACHE_L1 1 @@ -171,6 +183,8 @@ struct PAPI_FLAGS { #define PAPI_FLAG_STALLS 4 #define PAPI_FLAG_CB_EVENTS 5 #define PAPI_USER_EVENTS 6 +#define PAPI_PRESET_EVENT_KIND 0 +#define PAPI_NATIVE_EVENT_KIND 1 #endif @@ -184,9 +198,7 @@ typedef struct _RTS_FLAGS { struct DEBUG_FLAGS DebugFlags; struct COST_CENTRE_FLAGS CcFlags; struct PROFILING_FLAGS ProfFlags; -#ifdef EVENTLOG - struct EVENTLOG_FLAGS EventLogFlags; -#endif + struct TRACE_FLAGS TraceFlags; struct TICKY_FLAGS TickyFlags; #if defined(THREADED_RTS)