X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FRtsFlags.h;h=a7e903fca5d513420375512e887fd866d9f26398;hb=6f83fbc0a8b201a3d2ad20e4d8c707613d45cf2a;hp=4ce4c762d1afde3757c3724c93a735a1c5a7972f;hpb=b9d8ddb91c9360e3165244520f31dcd28c396825;p=ghc-hetmet.git diff --git a/ghc/rts/RtsFlags.h b/ghc/rts/RtsFlags.h index 4ce4c76..a7e903f 100644 --- a/ghc/rts/RtsFlags.h +++ b/ghc/rts/RtsFlags.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: RtsFlags.h,v 1.24 2000/04/03 15:54:50 simonmar Exp $ + * $Id: RtsFlags.h,v 1.33 2001/07/19 07:28:00 andy 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* */ @@ -35,6 +37,8 @@ struct GC_FLAGS { rtsBool ringBell; rtsBool squeezeUpdFrames; + + rtsBool frontpanel; }; /* Hack: this struct uses bitfields so that we can use a binary arg @@ -59,16 +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 11 +#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. - */ struct COST_CENTRE_FLAGS { unsigned int doCostCentres; # define COST_CENTRES_SUMMARY 1 @@ -76,22 +79,23 @@ 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 { unsigned int doHeapProfile; + nat profileFrequency; /* how often do you want */ + /* to sample (in ms) */ + + # 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_DESCR 4 # define HEAP_BY_TYPE 5 -# define HEAP_BY_TIME 6 rtsBool showCCSOnException; @@ -99,32 +103,34 @@ 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 # define HEAP_BY_INFOPTR 1 # define HEAP_BY_CLOSURE_TYPE 2 struct PROFILING_FLAGS { - unsigned int doHeapProfile; /* heap profile using symbol table */ + unsigned int doHeapProfile; /* heap profile using symbol table */ + }; #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? */ @@ -135,7 +141,7 @@ 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 */ @@ -145,9 +151,10 @@ struct PAR_DEBUG_FLAGS { 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)) @@ -155,7 +162,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 */