X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FRtsFlags.h;h=e89289c12870df42d6a6f98638d1f4289b7432ae;hb=e1db55d8bd07c79bae30f548e597f709dd029155;hp=ce6ba6d16b28efde943650f854840fbb7a9c90b2;hpb=c2ce3c04a00b4b8b21c113ea02a80546d3e6cf71;p=ghc-hetmet.git diff --git a/ghc/rts/RtsFlags.h b/ghc/rts/RtsFlags.h index ce6ba6d..e89289c 100644 --- a/ghc/rts/RtsFlags.h +++ b/ghc/rts/RtsFlags.h @@ -1,5 +1,7 @@ /* ----------------------------------------------------------------------------- - * $Id: RtsFlags.h,v 1.4 1999/01/19 15:07:55 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. * @@ -22,10 +24,12 @@ struct GC_FLAGS { 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 bytes */ int forcingInterval; /* actually, stored as a number of *words* */ @@ -35,7 +39,9 @@ struct GC_FLAGS { }; /* 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 */ @@ -49,6 +55,9 @@ struct DEBUG_FLAGS { /* 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) @@ -221,7 +230,7 @@ struct TICKY_FLAGS { 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) @@ -241,7 +250,11 @@ struct RTS_FLAGS { #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: */ @@ -268,8 +281,11 @@ void setupRtsFlags(int *argc, char *argv[], int *rts_argc, char *rts_argv[]); #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[];