elimiante a couple of warnings
[ghc-hetmet.git] / ghc / includes / RtsFlags.h
index a94bf7b..17d2363 100644 (file)
@@ -1,5 +1,4 @@
 /* -----------------------------------------------------------------------------
- * $Id: RtsFlags.h,v 1.47 2004/11/18 09:56:20 tharris Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -42,25 +41,28 @@ struct GC_FLAGS {
 
     rtsBool ringBell;
     rtsBool frontpanel;
+
+    int idleGCDelayTicks;      /* in milliseconds */
 };
 
 struct DEBUG_FLAGS {  
-    // flags to control debugging output & extra checking in various subsystems
-    rtsBool scheduler;      // 's'
-    rtsBool interpreter;    // 'i'
-    rtsBool codegen;        // 'c'
-    rtsBool weak;           // 'w'
-    rtsBool gccafs;         // 'G'
-    rtsBool gc;             // 'g'
-    rtsBool block_alloc;    // 'b'
-    rtsBool sanity;         // 'S'   warning: might be expensive!
-    rtsBool stable;         // 't'
-    rtsBool prof;           // 'p'
-    rtsBool gran;           // 'r'
-    rtsBool par;            // 'P'
-    rtsBool linker;         // 'l'   the object linker
-    rtsBool apply;          // 'a'
-    rtsBool stm;            // 'm'
+    /* flags to control debugging output & extra checking in various subsystems */
+    rtsBool scheduler;      /* 's' */
+    rtsBool interpreter;    /* 'i' */
+    rtsBool codegen;        /* 'c' */
+    rtsBool weak;           /* 'w' */
+    rtsBool gccafs;         /* 'G' */
+    rtsBool gc;             /* 'g' */
+    rtsBool block_alloc;    /* 'b' */
+    rtsBool sanity;         /* 'S'   warning: might be expensive! */
+    rtsBool stable;         /* 't' */
+    rtsBool prof;           /* 'p' */
+    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 */
 };
 
 struct COST_CENTRE_FLAGS {
@@ -159,12 +161,14 @@ struct PAR_FLAGS {
 };
 #endif /* PAR */
 
-#ifdef SMP
+#ifdef THREADED_RTS
 struct PAR_FLAGS {
   nat            nNodes;         /* number of threads to run simultaneously */
+  rtsBool        migrate;        /* migrate threads between capabilities */
+  rtsBool        wakeupMigrate;  /* migrate a thread on wakeup */
   unsigned int  maxLocalSparks;
 };
-#endif /* SMP */
+#endif /* THREADED_RTS */
 
 #ifdef GRAN
 struct GRAN_STATS_FLAGS {
@@ -238,8 +242,8 @@ struct GRAN_FLAGS {
   struct GRAN_COST_FLAGS Costs;          /* cost metric for simulation */
   struct GRAN_DEBUG_FLAGS Debug;         /* debugging options */
 
-  nat  maxThreads;              // ToDo: share with SMP and GUM
-  // rtsBool labelling;
+  nat  maxThreads;              /* ToDo: share with THREADED_RTS and GUM */
+  /* rtsBool labelling; */
   nat  packBufferSize;
   nat  packBufferSize_internal;
 
@@ -275,9 +279,9 @@ struct GRAN_FLAGS {
   rtsBool RandomSteal;        /* steal spark/thread from random proc */
   rtsBool NoForward;        /* no forwarding of fetch messages */
 
-  // unsigned int          debug;
-  //  rtsBool event_trace;
-  //  rtsBool event_trace_all;
+  /* unsigned int          debug; */
+  /*  rtsBool event_trace; */
+  /*  rtsBool event_trace_all; */
 };
 #endif /* GRAN */
 
@@ -290,7 +294,7 @@ struct TICKY_FLAGS {
 /* Put them together: */
 
 typedef struct _RTS_FLAGS {
-       // The first portion of RTS_FLAGS is invariant.
+    /* The first portion of RTS_FLAGS is invariant. */
     struct GC_FLAGS         GcFlags;
     struct CONCURRENT_FLAGS  ConcFlags;
     struct DEBUG_FLAGS      DebugFlags;
@@ -298,7 +302,7 @@ typedef struct _RTS_FLAGS {
     struct PROFILING_FLAGS   ProfFlags;
     struct TICKY_FLAGS      TickyFlags;
 
-#if defined(SMP) || defined(PAR)
+#if defined(THREADED_RTS) || defined(PAR)
     struct PAR_FLAGS   ParFlags;
 #endif
 #ifdef GRAN
@@ -309,7 +313,7 @@ typedef struct _RTS_FLAGS {
 #ifdef COMPILING_RTS_MAIN
 extern DLLIMPORT RTS_FLAGS RtsFlags;
 #elif IN_STG_CODE
-// Hack because the C code generator can't generate '&label'.
+/* Hack because the C code generator can't generate '&label'. */
 extern RTS_FLAGS RtsFlags[];
 #else
 extern RTS_FLAGS RtsFlags;
@@ -317,8 +321,10 @@ extern RTS_FLAGS RtsFlags;
 
 /* Routines that operate-on/to-do-with RTS flags: */
 
-void initRtsFlagsDefaults(void);
-void setupRtsFlags(int *argc, char *argv[], int *rts_argc, char *rts_argv[]);
+extern void initRtsFlagsDefaults(void);
+extern void setupRtsFlags(int *argc, char *argv[], int *rts_argc, char *rts_argv[]);
+extern void setProgName(char *argv[]);
+
 
 /*
  * The printf formats are here, so we are less likely to make