projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tweak ./boot
[ghc-hetmet.git]
/
includes
/
RtsFlags.h
diff --git
a/includes/RtsFlags.h
b/includes/RtsFlags.h
index
d2236b4
..
348a8f5
100644
(file)
--- a/
includes/RtsFlags.h
+++ b/
includes/RtsFlags.h
@@
-39,10
+39,14
@@
struct GC_FLAGS {
rtsBool compact; /* True <=> "compact all the time" */
double compactThreshold;
rtsBool compact; /* True <=> "compact all the time" */
double compactThreshold;
+ rtsBool sweep; /* use "mostly mark-sweep" instead of copying
+ * for the oldest generation */
rtsBool ringBell;
rtsBool frontpanel;
int idleGCDelayTime; /* in milliseconds */
rtsBool ringBell;
rtsBool frontpanel;
int idleGCDelayTime; /* in milliseconds */
+
+ StgWord heapBase; /* address to ask the OS for memory */
};
struct DEBUG_FLAGS {
};
struct DEBUG_FLAGS {
@@
-56,12
+60,15
@@
struct DEBUG_FLAGS {
rtsBool sanity; /* 'S' warning: might be expensive! */
rtsBool stable; /* 't' */
rtsBool prof; /* 'p' */
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 apply; /* 'a' */
rtsBool stm; /* 'm' */
rtsBool squeeze; /* 'z' stack squeezing & lazy blackholing */
rtsBool gran; /* 'r' */
rtsBool par; /* 'P' */
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 */
};
struct COST_CENTRE_FLAGS {
};
struct COST_CENTRE_FLAGS {
@@
-85,8
+92,7
@@
struct PROFILING_FLAGS {
# define HEAP_BY_RETAINER 6
# define HEAP_BY_LDV 7
# 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') */
nat profileInterval; /* delta between samples (in ms) */
nat profileIntervalTicks; /* delta between samples (in 'ticks') */
@@
-109,6
+115,12
@@
struct PROFILING_FLAGS {
};
};
+#ifdef EVENTLOG
+struct EVENTLOG_FLAGS {
+ rtsBool doEventLogging;
+};
+#endif
+
struct CONCURRENT_FLAGS {
int ctxtSwitchTime; /* in milliseconds */
int ctxtSwitchTicks; /* derived */
struct CONCURRENT_FLAGS {
int ctxtSwitchTime; /* in milliseconds */
int ctxtSwitchTicks; /* derived */
@@
-116,6
+128,10
@@
struct CONCURRENT_FLAGS {
struct MISC_FLAGS {
int tickInterval; /* in milliseconds */
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 */
};
#ifdef PAR
};
#ifdef PAR
@@
-172,6
+188,11
@@
struct PAR_FLAGS {
rtsBool migrate; /* migrate threads between capabilities */
rtsBool wakeupMigrate; /* migrate a thread on wakeup */
unsigned int maxLocalSparks;
rtsBool migrate; /* migrate threads between capabilities */
rtsBool wakeupMigrate; /* migrate a thread on wakeup */
unsigned int maxLocalSparks;
+ 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 */
};
#endif /* THREADED_RTS */
@@
-295,25
+316,26
@@
struct TICKY_FLAGS {
FILE *tickyFile;
};
FILE *tickyFile;
};
-struct TRACE_FLAGS {
- rtsBool sched; /* trace scheduler events for profiling */
- rtsBool timestamp; /* add timestamps to traces */
-};
-
-/* Put them together: */
-
#ifdef USE_PAPI
#ifdef USE_PAPI
+#define MAX_PAPI_USER_EVENTS 8
+
struct PAPI_FLAGS {
nat eventType; /* The type of events to count */
struct PAPI_FLAGS {
nat eventType; /* The type of events to count */
+ nat numUserEvents;
+ char * userEvents[MAX_PAPI_USER_EVENTS];
};
#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_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
+#define PAPI_USER_EVENTS 6
#endif
#endif
+/* Put them together: */
+
typedef struct _RTS_FLAGS {
/* The first portion of RTS_FLAGS is invariant. */
struct GC_FLAGS GcFlags;
typedef struct _RTS_FLAGS {
/* The first portion of RTS_FLAGS is invariant. */
struct GC_FLAGS GcFlags;
@@
-322,8
+344,10
@@
typedef struct _RTS_FLAGS {
struct DEBUG_FLAGS DebugFlags;
struct COST_CENTRE_FLAGS CcFlags;
struct PROFILING_FLAGS ProfFlags;
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 TICKY_FLAGS TickyFlags;
- struct TRACE_FLAGS TraceFlags;
#if defined(THREADED_RTS) || defined(PAR)
struct PAR_FLAGS ParFlags;
#if defined(THREADED_RTS) || defined(PAR)
struct PAR_FLAGS ParFlags;