X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FRtsFlags.h;h=192ac616aa8649b8c053c6dce23edfd95919f6f2;hb=39a991713f0705bf2599930e378178a1d6e2b5f9;hp=e3febb3dabbe0cefc07182eb1673b9a9ac3f1722;hpb=1b28d4e1f43185ad8c8e7407c66413e1b358402b;p=ghc-hetmet.git diff --git a/ghc/rts/RtsFlags.h b/ghc/rts/RtsFlags.h index e3febb3..192ac61 100644 --- a/ghc/rts/RtsFlags.h +++ b/ghc/rts/RtsFlags.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: RtsFlags.h,v 1.20 2000/01/13 14:34:04 hwloidl Exp $ + * $Id: RtsFlags.h,v 1.28 2000/11/01 11:41:47 simonmar Exp $ * * (c) The GHC Team, 1998-1999 * @@ -32,11 +32,13 @@ struct GC_FLAGS { nat generations; nat steps; - rtsBool forceGC; /* force a major GC every bytes */ - int forcingInterval; /* actually, stored as a number of *words* */ rtsBool ringBell; rtsBool squeezeUpdFrames; + +#ifdef RTS_GTK_FRONTPANEL + rtsBool frontpanel; +#endif }; /* Hack: this struct uses bitfields so that we can use a binary arg @@ -61,8 +63,15 @@ struct DEBUG_FLAGS { rtsBool prof : 1; /* 512 */ rtsBool gran : 1; /* 1024 */ rtsBool par : 1; /* 2048 */ + + /* The object linker */ + rtsBool linker : 1; /* 4096 */ }; +#define MAX_DEBUG_OPTION 12 +#define DEBUG_MASK(n) ((nat)(ldexp(1,n))) +#define MAX_DEBUG_MASK ((nat)(ldexp(1,(MAX_DEBUG_OPTION+1))-1)) + #if defined(PROFILING) || defined(PAR) /* with PROFILING, full cost-centre stuff (also PROFILING_FLAGS); with PAR, just the four fixed cost-centres. @@ -72,13 +81,8 @@ struct COST_CENTRE_FLAGS { # define COST_CENTRES_SUMMARY 1 # define COST_CENTRES_VERBOSE 2 /* incl. serial time profile */ # define COST_CENTRES_ALL 3 +# define COST_CENTRES_XML 4 - char sortBy; -# define SORTCC_LABEL 'C' -# define SORTCC_TIME 'T' -# define SORTCC_ALLOC 'A' - - int ctxtSwitchTicks; /* derived */ int profilerTicks; /* derived */ int msecsPerTick; /* derived */ }; @@ -91,7 +95,6 @@ struct PROFILING_FLAGS { # define NO_HEAP_PROFILING 0 /* N.B. Used as indexes into arrays */ # define HEAP_BY_CCS 1 # define HEAP_BY_MOD 2 -# define HEAP_BY_GRP 3 # define HEAP_BY_DESCR 4 # define HEAP_BY_TYPE 5 # define HEAP_BY_TIME 6 @@ -100,17 +103,9 @@ struct PROFILING_FLAGS { # define CCchar 'C' # define MODchar 'M' -# define GRPchar 'G' # define DESCRchar 'D' # define TYPEchar 'Y' # define TIMEchar 'T' - - char *ccSelector; - char *modSelector; - char *grpSelector; - char *descrSelector; - char *typeSelector; - char *kindSelector; }; #elif defined(DEBUG) # define NO_HEAP_PROFILING 0 @@ -122,7 +117,8 @@ struct PROFILING_FLAGS { #endif /* DEBUG || PROFILING */ struct CONCURRENT_FLAGS { - int ctxtSwitchTime; /* in milliseconds */ + int ctxtSwitchTime; /* in milliseconds */ + int ctxtSwitchTicks; /* derived */ }; #ifdef PAR @@ -146,9 +142,9 @@ struct PAR_DEBUG_FLAGS { rtsBool resume : 1; /* 16 */ rtsBool weight : 1; /* 32 */ rtsBool fetch : 1; /* 64 */ - rtsBool ack : 1; /* 128 */ - rtsBool fish : 1; /* 256 */ - rtsBool forward : 1; /* 512 */ + rtsBool fish : 1; /* 128 */ + rtsBool tables : 1; /* 256 */ + rtsBool packet : 1; /* 512 */ rtsBool pack : 1; /* 1024 */ }; @@ -248,6 +244,7 @@ struct GRAN_FLAGS { struct GRAN_COST_FLAGS Costs; /* cost metric for simulation */ struct GRAN_DEBUG_FLAGS Debug; /* debugging options */ + nat maxThreads; // ToDo: share with SMP and GUM // rtsBool labelling; nat packBufferSize; nat packBufferSize_internal;