X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FRtsFlags.h;h=01caf04813121fdd106f71b99d00b6e1cdfa0a48;hb=58414e5b92a8d2204c866a61fcb016098150aed1;hp=633f2729947577cd30e3248053a57d119fff979f;hpb=2c2d394865dd5c873d125d4d831aa041e814ba2a;p=ghc-hetmet.git diff --git a/ghc/rts/RtsFlags.h b/ghc/rts/RtsFlags.h index 633f272..01caf04 100644 --- a/ghc/rts/RtsFlags.h +++ b/ghc/rts/RtsFlags.h @@ -1,5 +1,7 @@ /* ----------------------------------------------------------------------------- - * $Id: RtsFlags.h,v 1.8 1999/01/27 16:41:16 simonm Exp $ + * $Id: RtsFlags.h,v 1.16 1999/09/15 13:45:19 simonmar Exp $ + * + * (c) The GHC Team, 1998-1999 * * Datatypes that holds the command-line flag settings. * @@ -12,9 +14,10 @@ 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* */ @@ -37,7 +40,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 */ @@ -53,6 +58,7 @@ struct DEBUG_FLAGS { rtsBool sanity : 1; /* 128 */ rtsBool stable : 1; /* 256 */ + rtsBool prof : 1; /* 512 */ }; #if defined(PROFILING) || defined(PAR) @@ -79,8 +85,9 @@ struct COST_CENTRE_FLAGS { #ifdef PROFILING struct PROFILING_FLAGS { unsigned int doHeapProfile; + # define NO_HEAP_PROFILING 0 /* N.B. Used as indexes into arrays */ -# define HEAP_BY_CC 1 +# define HEAP_BY_CCS 1 # define HEAP_BY_MOD 2 # define HEAP_BY_GRP 3 # define HEAP_BY_DESCR 4 @@ -112,7 +119,6 @@ struct PROFILING_FLAGS { struct CONCURRENT_FLAGS { int ctxtSwitchTime; /* in milliseconds */ - int maxThreads; }; #ifdef PAR @@ -215,8 +221,6 @@ struct GRAN_FLAGS { struct TICKY_FLAGS { rtsBool showTickyStats; FILE *tickyFile; - - /* see also: doUpdEntryCounts in AllFlags */ }; #endif /* TICKY_TICKY */ @@ -245,7 +249,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: */ @@ -272,8 +280,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[];