/* -----------------------------------------------------------------------------
- * $Id: RtsFlags.h,v 1.7 1999/01/26 16:16:29 simonm Exp $
+ * $Id: RtsFlags.h,v 1.14 1999/06/25 09:18:49 simonmar Exp $
+ *
+ * (c) The GHC Team, 1998-1999
*
* Datatypes that holds the command-line flag settings.
*
struct GC_FLAGS {
FILE *statsFile;
- nat giveStats; /* ToDo: replace with enum type? */
+ nat giveStats;
#define NO_GC_STATS 0
-#define VERBOSE_GC_STATS 1
+#define SUMMARY_GC_STATS 1
+#define VERBOSE_GC_STATS 2
nat maxStkSize; /* in *words* */
nat initialStkSize; /* in *words* */
nat maxHeapSize; /* in *blocks* */
nat minAllocAreaSize; /* in *blocks* */
nat minOldGenSize; /* in *blocks* */
+ nat heapSizeSuggestion; /* in *blocks* */
double oldGenFactor;
double pcFreeHeap;
};
/* 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 */
rtsBool sanity : 1; /* 128 */
rtsBool stable : 1; /* 256 */
+ rtsBool prof : 1; /* 512 */
};
#if defined(PROFILING) || defined(PAR)
struct TICKY_FLAGS {
rtsBool showTickyStats;
FILE *tickyFile;
-
- /* see also: doUpdEntryCounts in AllFlags */
};
#endif /* TICKY_TICKY */
#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[];