[project @ 2001-02-12 04:55:33 by chak]
[ghc-hetmet.git] / ghc / rts / RtsFlags.h
index c153b89..62ad3bd 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: RtsFlags.h,v 1.23 2000/03/31 03:09:36 hwloidl Exp $
+ * $Id: RtsFlags.h,v 1.30 2000/12/19 12:50:37 simonmar Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -16,8 +16,10 @@ struct GC_FLAGS {
     FILE   *statsFile;
     nat            giveStats;
 #define NO_GC_STATS     0
-#define SUMMARY_GC_STATS 1
-#define VERBOSE_GC_STATS 2
+#define COLLECT_GC_STATS 1
+#define ONELINE_GC_STATS 2
+#define SUMMARY_GC_STATS 3
+#define VERBOSE_GC_STATS 4
 
     nat     maxStkSize;         /* in *words* */
     nat     initialStkSize;     /* in *words* */
@@ -32,11 +34,11 @@ struct GC_FLAGS {
     nat     generations;
     nat     steps;
 
-    rtsBool forceGC; /* force a major GC every <interval> bytes */
-    int            forcingInterval; /* actually, stored as a number of *words* */
     rtsBool ringBell;
 
     rtsBool squeezeUpdFrames;
+
+    rtsBool frontpanel;
 };
 
 /* Hack: this struct uses bitfields so that we can use a binary arg
@@ -61,16 +63,15 @@ struct DEBUG_FLAGS {
   rtsBool prof        : 1; /* 512 */
   rtsBool gran        : 1; /* 1024 */
   rtsBool par         : 1; /* 2048 */
+
+  /* The object linker */
+  rtsBool linker      : 1; /* 4096 */
 };
 
-#define MAX_DEBUG_OPTION     11
+#define MAX_DEBUG_OPTION     12
 #define DEBUG_MASK(n)        ((nat)(ldexp(1,n)))
 #define MAX_DEBUG_MASK       ((nat)(ldexp(1,(MAX_DEBUG_OPTION+1))-1))
 
-#if defined(PROFILING) || defined(PAR)
-    /* with PROFILING, full cost-centre stuff (also PROFILING_FLAGS);
-       with PAR, just the four fixed cost-centres.
-    */
 struct COST_CENTRE_FLAGS {
     unsigned int           doCostCentres;
 # define COST_CENTRES_SUMMARY  1
@@ -78,11 +79,9 @@ struct COST_CENTRE_FLAGS {
 # define COST_CENTRES_ALL      3
 # define COST_CENTRES_XML       4
 
-    int            ctxtSwitchTicks; /* derived */
     int            profilerTicks;   /* derived */
     int            msecsPerTick;    /* derived */
 };
-#endif
 
 #ifdef PROFILING
 struct PROFILING_FLAGS {
@@ -102,12 +101,6 @@ struct PROFILING_FLAGS {
 # define DESCRchar 'D'
 # define TYPEchar  'Y'
 # define TIMEchar  'T'
-
-    char *ccSelector;
-    char *modSelector;
-    char *descrSelector;
-    char *typeSelector;
-    char *kindSelector;
 };
 #elif defined(DEBUG)
 # define NO_HEAP_PROFILING     0
@@ -119,7 +112,8 @@ struct PROFILING_FLAGS {
 #endif /* DEBUG || PROFILING */
 
 struct CONCURRENT_FLAGS {
-  int ctxtSwitchTime; /* in milliseconds */
+    int ctxtSwitchTime;                /* in milliseconds */
+    int ctxtSwitchTicks;       /* derived */
 };
 
 #ifdef PAR