/* -----------------------------------------------------------------------------
- * $Id: RtsFlags.h,v 1.5 1999/01/23 17:52:21 sof Exp $
+ * $Id: RtsFlags.h,v 1.12 1999/03/25 13:14:08 simonm Exp $
+ *
+ * (c) The GHC Team, 1998-1999
*
* Datatypes that holds the command-line flag settings.
*
nat maxHeapSize; /* in *blocks* */
nat minAllocAreaSize; /* in *blocks* */
nat minOldGenSize; /* in *blocks* */
+ nat heapSizeSuggestion; /* in *blocks* */
double oldGenFactor;
double pcFreeHeap;
nat generations;
+ nat steps;
rtsBool forceGC; /* force a major GC every <interval> bytes */
int forcingInterval; /* actually, stored as a number of *words* */
};
/* Hack: this struct uses bitfields so that we can use a binary arg
- * with the -D flag
+ * with the -D flag.
+ * Remember to update the corresponding bit of RtsFlags.c if you
+ * change/extend this struct.
*/
struct DEBUG_FLAGS {
/* flags to control debugging output in various subsystems */
/* flags to control consistency checking (often very expensive!) */
rtsBool sanity : 1; /* 128 */
+
+ rtsBool stable : 1; /* 256 */
+ rtsBool prof : 1; /* 512 */
};
#if defined(PROFILING) || defined(PAR)
#endif
};
+#ifdef COMPILING_RTS_MAIN
+extern DLLIMPORT struct RTS_FLAGS RtsFlags;
+#else
extern struct RTS_FLAGS RtsFlags;
+#endif
/* Routines that operate-on/to-do-with RTS flags: */
#define TIME_FILENAME_FMT "%0.122s.time"
#define TIME_FILENAME_FMT_GUM "%0.118s.%03d.time"
-extern int prog_argc; /* an "int" so as to match normal "argc" */
+/* an "int" so as to match normal "argc" */
+/* Now defined in Stg.h (lib/std/cbits need these too.)
+extern int prog_argc;
extern char **prog_argv;
+*/
extern int rts_argc; /* ditto */
extern char *rts_argv[];