From a7a59741cb8abf828faaff811d8d23e27efcd084 Mon Sep 17 00:00:00 2001 From: simonmar Date: Tue, 19 Dec 2000 12:50:37 +0000 Subject: [PATCH] [project @ 2000-12-19 12:50:37 by simonmar] new flag: +RTS -t Prints one-line GC stats, in the style of -Rghc-timing. --- ghc/rts/RtsFlags.c | 14 +++++++++++--- ghc/rts/RtsFlags.h | 15 +++++---------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/ghc/rts/RtsFlags.c b/ghc/rts/RtsFlags.c index 01b2ec0..737ea41 100644 --- a/ghc/rts/RtsFlags.c +++ b/ghc/rts/RtsFlags.c @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: RtsFlags.c,v 1.34 2000/12/04 12:31:21 simonmar Exp $ + * $Id: RtsFlags.c,v 1.35 2000/12/19 12:50:37 simonmar Exp $ * * (c) The AQUA Project, Glasgow University, 1994-1997 * (c) The GHC Team, 1998-1999 @@ -367,8 +367,10 @@ usage_text[] = { " -m% Minimum % of heap which must be available (default 3%)", " -G Number of generations (default: 2)", " -T Number of steps in younger generations (default: 2)", -" -s Summary GC statistics (default file: .stat)", -" -S Detailed GC statistics (with -Sstderr going to stderr)", +"", +" -t One-line GC statistics (default file: .stat)", +" -s Summary GC statistics (with -Sstderr going to stderr)", +" -S Detailed GC statistics", #ifdef RTS_GTK_FRONTPANEL " -f Display front panel (requires X11 & GTK+)", #endif @@ -672,6 +674,12 @@ error = rtsTrue; case 's': RtsFlags.GcFlags.giveStats ++; + + case 't': + RtsFlags.GcFlags.giveStats ++; + + /* giveStats == 1 means "stats are being collected only" */ + RtsFlags.GcFlags.giveStats ++; #ifdef PAR /* Opening all those files would almost certainly fail... */ RtsFlags.ParFlags.ParStats.Full = rtsTrue; diff --git a/ghc/rts/RtsFlags.h b/ghc/rts/RtsFlags.h index feef33b..62ad3bd 100644 --- a/ghc/rts/RtsFlags.h +++ b/ghc/rts/RtsFlags.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: RtsFlags.h,v 1.29 2000/12/04 12:31:21 simonmar Exp $ + * $Id: RtsFlags.h,v 1.30 2000/12/19 12:50:37 simonmar 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* */ @@ -36,9 +38,7 @@ struct GC_FLAGS { rtsBool squeezeUpdFrames; -#ifdef RTS_GTK_FRONTPANEL rtsBool frontpanel; -#endif }; /* Hack: this struct uses bitfields so that we can use a binary arg @@ -72,10 +72,6 @@ struct DEBUG_FLAGS { #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 @@ -86,7 +82,6 @@ struct COST_CENTRE_FLAGS { int profilerTicks; /* derived */ int msecsPerTick; /* derived */ }; -#endif #ifdef PROFILING struct PROFILING_FLAGS { -- 1.7.10.4