summaryrefslogtreecommitdiff
path: root/includes/rts/Flags.h
diff options
context:
space:
mode:
Diffstat (limited to 'includes/rts/Flags.h')
-rw-r--r--includes/rts/Flags.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/includes/rts/Flags.h b/includes/rts/Flags.h
index 2d1516f586..439b261fd8 100644
--- a/includes/rts/Flags.h
+++ b/includes/rts/Flags.h
@@ -52,7 +52,7 @@ struct GC_FLAGS {
rtsBool ringBell;
rtsBool frontpanel;
- int idleGCDelayTime; /* in milliseconds */
+ Time idleGCDelayTime; /* units: TIME_RESOLUTION */
StgWord heapBase; /* address to ask the OS for memory */
};
@@ -99,8 +99,8 @@ struct PROFILING_FLAGS {
# define HEAP_BY_CLOSURE_TYPE 8
- nat profileInterval; /* delta between samples (in ms) */
- nat profileIntervalTicks; /* delta between samples (in 'ticks') */
+ Time heapProfileInterval; /* time between samples */
+ nat heapProfileIntervalTicks; /* ticks between samples (derived) */
rtsBool includeTSOs;
@@ -135,12 +135,21 @@ struct TRACE_FLAGS {
};
struct CONCURRENT_FLAGS {
- int ctxtSwitchTime; /* in milliseconds */
- int ctxtSwitchTicks; /* derived */
+ Time ctxtSwitchTime; /* units: TIME_RESOLUTION */
+ int ctxtSwitchTicks; /* derived */
};
+/*
+ * The tickInterval is the time interval between "ticks", ie.
+ * timer signals (see Timer.{c,h}). It is the frequency at
+ * which we sample CCCS for profiling.
+ *
+ * It is changed by the +RTS -V<secs> flag.
+ */
+#define DEFAULT_TICK_INTERVAL USToTime(10000)
+
struct MISC_FLAGS {
- int tickInterval; /* in milliseconds */
+ Time tickInterval; /* units: TIME_RESOLUTION */
rtsBool install_signal_handlers;
rtsBool machineReadable;
StgWord linkerMemBase; /* address to ask the OS for memory