diff options
author | Paolo Capriotti <p.capriotti@gmail.com> | 2012-06-15 17:12:24 +0100 |
---|---|---|
committer | Paolo Capriotti <p.capriotti@gmail.com> | 2012-06-19 14:36:08 +0100 |
commit | 5490e71be49131108d849ffe02867acf189a9e19 (patch) | |
tree | b42783cda76476f2fbbd193e5dbed59014dedc09 | |
parent | ee44e19f20395596fc34f2bce5763fb16032dbd4 (diff) | |
download | haskell-5490e71be49131108d849ffe02867acf189a9e19.tar.gz |
Add getGCStatsEnabled function.
-rw-r--r-- | includes/rts/storage/GC.h | 1 | ||||
-rw-r--r-- | rts/Linker.c | 1 | ||||
-rw-r--r-- | rts/Stats.c | 5 |
3 files changed, 7 insertions, 0 deletions
diff --git a/includes/rts/storage/GC.h b/includes/rts/storage/GC.h index ab3af17b1e..5de8b2be4a 100644 --- a/includes/rts/storage/GC.h +++ b/includes/rts/storage/GC.h @@ -202,6 +202,7 @@ typedef struct _GCStats { StgDouble wall_seconds; } GCStats; void getGCStats (GCStats *s); +rtsBool getGCStatsEnabled (void); // These don't change over execution, so do them elsewhere // StgDouble init_cpu_seconds; diff --git a/rts/Linker.c b/rts/Linker.c index 7d10300f9c..703bc5fa07 100644 --- a/rts/Linker.c +++ b/rts/Linker.c @@ -1072,6 +1072,7 @@ typedef struct _RtsSymbolVal { SymI_HasProto(getOrSetSystemEventThreadEventManagerStore) \ SymI_HasProto(getOrSetSystemEventThreadIOManagerThreadStore) \ SymI_HasProto(getGCStats) \ + SymI_HasProto(getGCStatsEnabled) \ SymI_HasProto(genSymZh) \ SymI_HasProto(genericRaise) \ SymI_HasProto(getProgArgv) \ diff --git a/rts/Stats.c b/rts/Stats.c index 5605810ba2..b12cb769f7 100644 --- a/rts/Stats.c +++ b/rts/Stats.c @@ -922,6 +922,11 @@ extern HsInt64 getAllocations( void ) /* EZY: I'm not convinced I got all the casting right. */ +extern rtsBool getGCStatsEnabled( void ) +{ + return RtsFlags.GcFlags.giveStats != NO_GC_STATS; +} + extern void getGCStats( GCStats *s ) { nat total_collections = 0; |