rtsBool sanity; /* 'S' warning: might be expensive! */
rtsBool stable; /* 't' */
rtsBool prof; /* 'p' */
+ rtsBool eventlog; /* 'e' */
rtsBool gran; /* 'r' */
rtsBool par; /* 'P' */
rtsBool linker; /* 'l' the object linker */
rtsBool stm; /* 'm' */
rtsBool squeeze; /* 'z' stack squeezing & lazy blackholing */
rtsBool hpc; /* 'c' coverage */
+ rtsBool timestamp; /* add timestamps to traces */
};
struct COST_CENTRE_FLAGS {
};
+#ifdef EVENTLOG
+struct EVENTLOG_FLAGS {
+ rtsBool doEventLogging;
+};
+#endif
+
struct CONCURRENT_FLAGS {
int ctxtSwitchTime; /* in milliseconds */
int ctxtSwitchTicks; /* derived */
struct MISC_FLAGS {
int tickInterval; /* in milliseconds */
rtsBool install_signal_handlers;
+ rtsBool machineReadable;
StgWord linkerMemBase; /* address to ask the OS for memory
* for the linker, NULL ==> off */
};
rtsBool migrate; /* migrate threads between capabilities */
rtsBool wakeupMigrate; /* migrate a thread on wakeup */
unsigned int maxLocalSparks;
- nat gcThreads; /* number of threads for parallel GC */
+ rtsBool parGcEnabled; /* enable parallel GC */
+ rtsBool parGcGen; /* do parallel GC in this generation
+ * and higher only */
+ rtsBool parGcLoadBalancing; /* do load-balancing in parallel GC */
+ rtsBool setAffinity; /* force thread affinity with CPUs */
};
#endif /* THREADED_RTS */
FILE *tickyFile;
};
-struct TRACE_FLAGS {
- rtsBool sched; /* trace scheduler events for profiling */
- rtsBool gc; /* trace GC events */
- rtsBool timestamp; /* add timestamps to traces */
-};
-
#ifdef USE_PAPI
#define MAX_PAPI_USER_EVENTS 8
struct DEBUG_FLAGS DebugFlags;
struct COST_CENTRE_FLAGS CcFlags;
struct PROFILING_FLAGS ProfFlags;
+#ifdef EVENTLOG
+ struct EVENTLOG_FLAGS EventLogFlags;
+#endif
struct TICKY_FLAGS TickyFlags;
- struct TRACE_FLAGS TraceFlags;
#if defined(THREADED_RTS) || defined(PAR)
struct PAR_FLAGS ParFlags;