/* -----------------------------------------------------------------------------
- * $Id: RtsFlags.h,v 1.2 1998/12/02 13:28:40 simonm 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;
- rtsBool force2s; /* force the use of 2-space copying collection;
- forced to rtsTrue if we do *heap* profiling.
- */
+ nat generations;
+ nat steps;
+
rtsBool forceGC; /* force a major GC every <interval> bytes */
int forcingInterval; /* actually, stored as a number of *words* */
rtsBool ringBell;
};
/* 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)
struct RTS_FLAGS {
struct GC_FLAGS GcFlags;
- struct DEBUG_FLAGS DebugFlags; /* unused at present */
+ struct DEBUG_FLAGS DebugFlags;
struct CONCURRENT_FLAGS ConcFlags;
#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[];