projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 1999-11-02 17:08:28 by simonmar]
[ghc-hetmet.git]
/
ghc
/
rts
/
RtsFlags.h
diff --git
a/ghc/rts/RtsFlags.h
b/ghc/rts/RtsFlags.h
index
a82ec51
..
4e2443b
100644
(file)
--- a/
ghc/rts/RtsFlags.h
+++ b/
ghc/rts/RtsFlags.h
@@
-1,5
+1,7
@@
/* -----------------------------------------------------------------------------
/* -----------------------------------------------------------------------------
- * $Id: RtsFlags.h,v 1.5 1999/01/23 17:52:21 sof Exp $
+ * $Id: RtsFlags.h,v 1.17 1999/11/02 15:06:00 simonmar Exp $
+ *
+ * (c) The GHC Team, 1998-1999
*
* Datatypes that holds the command-line flag settings.
*
*
* Datatypes that holds the command-line flag settings.
*
@@
-12,9
+14,10
@@
struct GC_FLAGS {
FILE *statsFile;
struct GC_FLAGS {
FILE *statsFile;
- nat giveStats; /* ToDo: replace with enum type? */
+ nat giveStats;
#define NO_GC_STATS 0
#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* */
nat maxStkSize; /* in *words* */
nat initialStkSize; /* in *words* */
@@
-22,10
+25,12
@@
struct GC_FLAGS {
nat maxHeapSize; /* in *blocks* */
nat minAllocAreaSize; /* in *blocks* */
nat minOldGenSize; /* in *blocks* */
nat maxHeapSize; /* in *blocks* */
nat minAllocAreaSize; /* in *blocks* */
nat minOldGenSize; /* in *blocks* */
+ nat heapSizeSuggestion; /* in *blocks* */
double oldGenFactor;
double pcFreeHeap;
nat generations;
double oldGenFactor;
double pcFreeHeap;
nat generations;
+ nat steps;
rtsBool forceGC; /* force a major GC every <interval> bytes */
int forcingInterval; /* actually, stored as a number of *words* */
rtsBool forceGC; /* force a major GC every <interval> bytes */
int forcingInterval; /* actually, stored as a number of *words* */
@@
-35,7
+40,9
@@
struct GC_FLAGS {
};
/* Hack: this struct uses bitfields so that we can use a binary arg
};
/* 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 */
*/
struct DEBUG_FLAGS {
/* flags to control debugging output in various subsystems */
@@
-49,6
+56,9
@@
struct DEBUG_FLAGS {
/* flags to control consistency checking (often very expensive!) */
rtsBool sanity : 1; /* 128 */
/* flags to control consistency checking (often very expensive!) */
rtsBool sanity : 1; /* 128 */
+
+ rtsBool stable : 1; /* 256 */
+ rtsBool prof : 1; /* 512 */
};
#if defined(PROFILING) || defined(PAR)
};
#if defined(PROFILING) || defined(PAR)
@@
-75,8
+85,9
@@
struct COST_CENTRE_FLAGS {
#ifdef PROFILING
struct PROFILING_FLAGS {
unsigned int doHeapProfile;
#ifdef PROFILING
struct PROFILING_FLAGS {
unsigned int doHeapProfile;
+
# define NO_HEAP_PROFILING 0 /* N.B. Used as indexes into arrays */
# 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
# define HEAP_BY_MOD 2
# define HEAP_BY_GRP 3
# define HEAP_BY_DESCR 4
@@
-107,8
+118,10
@@
struct PROFILING_FLAGS {
#endif /* DEBUG || PROFILING */
struct CONCURRENT_FLAGS {
#endif /* DEBUG || PROFILING */
struct CONCURRENT_FLAGS {
- int ctxtSwitchTime; /* in milliseconds */
- int maxThreads;
+ int ctxtSwitchTime; /* in milliseconds */
+#ifdef SMP
+ nat nNodes; /* number of threads to run simultaneously */
+#endif
};
#ifdef PAR
};
#ifdef PAR
@@
-211,8
+224,6
@@
struct GRAN_FLAGS {
struct TICKY_FLAGS {
rtsBool showTickyStats;
FILE *tickyFile;
struct TICKY_FLAGS {
rtsBool showTickyStats;
FILE *tickyFile;
-
- /* see also: doUpdEntryCounts in AllFlags */
};
#endif /* TICKY_TICKY */
};
#endif /* TICKY_TICKY */
@@
-241,7
+252,11
@@
struct RTS_FLAGS {
#endif
};
#endif
};
+#ifdef COMPILING_RTS_MAIN
+extern DLLIMPORT struct RTS_FLAGS RtsFlags;
+#else
extern struct RTS_FLAGS RtsFlags;
extern struct RTS_FLAGS RtsFlags;
+#endif
/* Routines that operate-on/to-do-with RTS flags: */
/* Routines that operate-on/to-do-with RTS flags: */
@@
-268,8
+283,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"
#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 char **prog_argv;
+*/
extern int rts_argc; /* ditto */
extern char *rts_argv[];
extern int rts_argc; /* ditto */
extern char *rts_argv[];