X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FRtsFlags.h;h=3f59a48c21614bc3472d6a8c5faa3fb5756898d9;hb=be2838643b5497b6257fe645e6e9a99435efac0e;hp=7f9a3602256f5090e44090c7cd405a2994c7acae;hpb=de896403dfe48bc999e5501eb8b517624dd2e5d4;p=ghc-hetmet.git diff --git a/ghc/rts/RtsFlags.h b/ghc/rts/RtsFlags.h index 7f9a360..3f59a48 100644 --- a/ghc/rts/RtsFlags.h +++ b/ghc/rts/RtsFlags.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: RtsFlags.h,v 1.22 2000/03/08 17:48:24 simonmar Exp $ + * $Id: RtsFlags.h,v 1.32 2001/03/22 03:51:10 hwloidl Exp $ * * (c) The GHC Team, 1998-1999 * @@ -16,8 +16,10 @@ struct GC_FLAGS { FILE *statsFile; nat giveStats; #define NO_GC_STATS 0 -#define SUMMARY_GC_STATS 1 -#define VERBOSE_GC_STATS 2 +#define COLLECT_GC_STATS 1 +#define ONELINE_GC_STATS 2 +#define SUMMARY_GC_STATS 3 +#define VERBOSE_GC_STATS 4 nat maxStkSize; /* in *words* */ nat initialStkSize; /* in *words* */ @@ -32,11 +34,11 @@ 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; + + rtsBool frontpanel; }; /* Hack: this struct uses bitfields so that we can use a binary arg @@ -61,12 +63,15 @@ struct DEBUG_FLAGS { rtsBool prof : 1; /* 512 */ rtsBool gran : 1; /* 1024 */ rtsBool par : 1; /* 2048 */ + + /* The object linker */ + rtsBool linker : 1; /* 4096 */ }; -#if defined(PROFILING) || defined(PAR) - /* with PROFILING, full cost-centre stuff (also PROFILING_FLAGS); - with PAR, just the four fixed cost-centres. - */ +#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)) + struct COST_CENTRE_FLAGS { unsigned int doCostCentres; # define COST_CENTRES_SUMMARY 1 @@ -74,11 +79,9 @@ struct COST_CENTRE_FLAGS { # define COST_CENTRES_ALL 3 # define COST_CENTRES_XML 4 - int ctxtSwitchTicks; /* derived */ int profilerTicks; /* derived */ int msecsPerTick; /* derived */ }; -#endif #ifdef PROFILING struct PROFILING_FLAGS { @@ -89,7 +92,6 @@ struct PROFILING_FLAGS { # define HEAP_BY_MOD 2 # define HEAP_BY_DESCR 4 # define HEAP_BY_TYPE 5 -# define HEAP_BY_TIME 6 rtsBool showCCSOnException; @@ -97,13 +99,12 @@ struct PROFILING_FLAGS { # define MODchar 'M' # define DESCRchar 'D' # define TYPEchar 'Y' -# define TIMEchar 'T' - char *ccSelector; - char *modSelector; - char *descrSelector; - char *typeSelector; - char *kindSelector; + char* modSelector; + char* descrSelector; + char* typeSelector; + char* ccSelector; + }; #elif defined(DEBUG) # define NO_HEAP_PROFILING 0 @@ -115,14 +116,15 @@ struct PROFILING_FLAGS { #endif /* DEBUG || PROFILING */ struct CONCURRENT_FLAGS { - int ctxtSwitchTime; /* in milliseconds */ + int ctxtSwitchTime; /* in milliseconds */ + int ctxtSwitchTicks; /* derived */ }; #ifdef PAR /* currently the same as GRAN_STATS_FLAGS */ struct PAR_STATS_FLAGS { rtsBool Full; /* Full .gr profile (rtsTrue) or only END events? */ - // rtsBool Suppressed; /* No .gr profile at all */ + rtsBool Suppressed; /* No .gr profile at all */ rtsBool Binary; /* Binary profile? (not yet implemented) */ rtsBool Sparks; /* Info on sparks in profile? */ rtsBool Heap; /* Info on heap allocs in profile? */ @@ -133,19 +135,20 @@ struct PAR_STATS_FLAGS { struct PAR_DEBUG_FLAGS { /* flags to control debugging output in various subsystems */ rtsBool verbose : 1; /* 1 */ - rtsBool trace : 1; /* 2 */ + rtsBool bq : 1; /* 2 */ rtsBool schedule : 1; /* 4 */ rtsBool free : 1; /* 8 */ 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 */ + rtsBool paranoia : 1; /* 2048 */ }; -#define MAX_PAR_DEBUG_OPTION 10 +#define MAX_PAR_DEBUG_OPTION 11 #define PAR_DEBUG_MASK(n) ((nat)(ldexp(1,n))) #define MAX_PAR_DEBUG_MASK ((nat)(ldexp(1,(MAX_PAR_DEBUG_OPTION+1))-1)) @@ -153,7 +156,10 @@ struct PAR_FLAGS { struct PAR_STATS_FLAGS ParStats; /* profile and stats output */ struct PAR_DEBUG_FLAGS Debug; /* debugging options */ rtsBool outputDisabled; /* Disable output for performance purposes */ + rtsBool doFairScheduling; /* Fair-ish scheduling (round robin; no time-slices) */ nat packBufferSize; + nat thunksToPack; /* number of thunks in packet + 1 */ + nat globalising; /* globalisation scheme */ nat maxLocalSparks; /* spark pool size */ nat maxThreads; /* thread pool size */ nat maxFishes; /* max number of active fishes */ @@ -241,6 +247,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;