X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FStats.h;h=0ed1307a3b58e5393e47824cb5f87bfe2409a782;hb=a97f058b9e041baaf1c90d93ebe0ed99fa3203c2;hp=be95442f1ac20c480d1bb61726e37bc316fae13b;hpb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;p=ghc-hetmet.git diff --git a/ghc/rts/Stats.h b/ghc/rts/Stats.h index be95442..0ed1307 100644 --- a/ghc/rts/Stats.h +++ b/ghc/rts/Stats.h @@ -1,16 +1,51 @@ /* ----------------------------------------------------------------------------- - * $Id: Stats.h,v 1.2 1998/12/02 13:28:50 simonm Exp $ + * + * (c) The GHC Team, 1998-1999 * * 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_startInit(void); +extern void stat_endInit(void); + extern void stat_startGC(void); extern void stat_endGC(lnat alloc, lnat collect, lnat live, - char *comment); + lnat copied, lnat gen); + +#ifdef PROFILING +extern void stat_startRP(void); +extern void stat_endRP(nat, +#ifdef DEBUG_RETAINER + nat, int, +#endif + double); +#endif /* PROFILING */ + +#if defined(PROFILING) || defined(DEBUG) +extern void stat_startHeapCensus(void); +extern void stat_endHeapCensus(void); +#endif + +extern void stat_startExit(void); +extern void stat_endExit(void); + +extern void stat_exit(int alloc); +extern void stat_workerStop(void); + extern void initStats(void); + +extern double mut_user_time_during_GC(void); +extern double mut_user_time(void); + +#ifdef PROFILING +extern double mut_user_time_during_RP(void); +extern double mut_user_time_during_heap_census(void); +#endif /* PROFILING */ + +extern void statDescribeGens( void ); +extern HsInt64 getAllocations( void ); + +extern void stat_getTimes ( long *currentElapsedTime, + long *currentUserTime, + long *elapsedGCTime );