[project @ 2005-10-21 14:02:17 by simonmar]
[ghc-hetmet.git] / ghc / rts / Stats.h
index ec2f2b8..ee706db 100644 (file)
@@ -1,21 +1,58 @@
 /* -----------------------------------------------------------------------------
- * $Id: Stats.h,v 1.6 1999/09/15 13:45:20 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 */