/* -----------------------------------------------------------------------------
- * $Id: RtsFlags.h,v 1.21 2000/02/17 17:19:42 simonmar Exp $
+ * $Id: RtsFlags.h,v 1.30 2000/12/19 12:50:37 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
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* */
nat generations;
nat steps;
- rtsBool forceGC; /* force a major GC every <interval> 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
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
# 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 {
# 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
# 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
#endif /* DEBUG || PROFILING */
struct CONCURRENT_FLAGS {
- int ctxtSwitchTime; /* in milliseconds */
+ int ctxtSwitchTime; /* in milliseconds */
+ int ctxtSwitchTicks; /* derived */
};
#ifdef PAR
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 */
};
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;