/* -----------------------------------------------------------------------------
- * $Id: Stats.h,v 1.18 2004/05/27 09:29:29 simonmar Exp $
*
- * (c) The GHC Team, 1998-1999
+ * (c) The GHC Team, 1998-2005
*
* Statistics and timing-related functions.
*
* ---------------------------------------------------------------------------*/
+#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);
nat, int,
#endif
double);
-#endif // PROFILING
+#endif /* PROFILING */
#if defined(PROFILING) || defined(DEBUG)
extern void stat_startHeapCensus(void);
#ifdef PROFILING
extern double mut_user_time_during_RP(void);
extern double mut_user_time_during_heap_census(void);
-#endif // PROFILING
+#endif /* PROFILING */
extern void statDescribeGens( void );
extern HsInt64 getAllocations( void );
-#if defined(SMP)
-extern long int stat_getElapsedTime ( void );
-#endif
+extern void stat_getTimes ( long *currentElapsedTime,
+ long *currentUserTime,
+ long *elapsedGCTime );
+
+#endif /* STATS_H */