X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FStats.h;h=f9fe5afeae9a54038076d9bc0f493bac2be750f0;hb=d3d69395401d3e7be7a8794e0b6850e608a30a24;hp=be95442f1ac20c480d1bb61726e37bc316fae13b;hpb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;p=ghc-hetmet.git diff --git a/ghc/rts/Stats.h b/ghc/rts/Stats.h index be95442..f9fe5af 100644 --- a/ghc/rts/Stats.h +++ b/ghc/rts/Stats.h @@ -1,16 +1,56 @@ /* ----------------------------------------------------------------------------- - * $Id: Stats.h,v 1.2 1998/12/02 13:28:50 simonm Exp $ + * + * (c) The GHC Team, 1998-2005 * * Statistics and timing-related functions. * * ---------------------------------------------------------------------------*/ -extern StgDouble elapsedtime(void); -extern void start_time(void); -extern StgDouble usertime(void); -extern void end_init(void); -extern void stat_exit(int alloc); -extern void stat_startGC(void); -extern void stat_endGC(lnat alloc, lnat collect, lnat live, - char *comment); -extern void initStats(void); +#ifndef STATS_H +#define STATS_H + +#include "GetTime.h" + +void stat_startInit(void); +void stat_endInit(void); + +void stat_startGC(void); +void stat_endGC (lnat alloc, lnat collect, lnat live, + lnat copied, lnat scavd_copied, lnat gen); + +#ifdef PROFILING +void stat_startRP(void); +void stat_endRP(nat, +#ifdef DEBUG_RETAINER + nat, int, +#endif + double); +#endif /* PROFILING */ + +#if defined(PROFILING) || defined(DEBUG) +void stat_startHeapCensus(void); +void stat_endHeapCensus(void); +#endif + +void stat_startExit(void); +void stat_endExit(void); + +void stat_exit(int alloc); +void stat_workerStop(void); + +void initStats(void); + +double mut_user_time_during_GC(void); +double mut_user_time(void); + +#ifdef PROFILING +double mut_user_time_during_RP(void); +double mut_user_time_during_heap_census(void); +#endif /* PROFILING */ + +void statDescribeGens( void ); +HsInt64 getAllocations( void ); + +Ticks stat_getElapsedGCTime(void); + +#endif /* STATS_H */