X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FStats.h;h=ee706db254073a7df8b7fa8e59fddb7ee5449818;hb=03a9ff01812afc81eb5236fd3063cbec44cf469e;hp=0bf08864d9e9b2507abe1a69abf7765ec9226106;hpb=c6ff5639cde8f7ffd005b5d89449adcfa90a5c01;p=ghc-hetmet.git diff --git a/ghc/rts/Stats.h b/ghc/rts/Stats.h index 0bf0886..ee706db 100644 --- a/ghc/rts/Stats.h +++ b/ghc/rts/Stats.h @@ -1,26 +1,58 @@ /* ----------------------------------------------------------------------------- - * $Id: Stats.h,v 1.7 1999/11/02 17:19:17 simonmar Exp $ * - * (c) The GHC Team, 1998-1999 + * (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); +#ifndef STATS_H +#define STATS_H + +#include "Task.h" + +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, - lnat copied, lnat gen); +extern void stat_endGC (lnat alloc, lnat collect, lnat live, + lnat copied, lnat scavd_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 void stat_describe_gens(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 ); + +#endif /* STATS_H */