[project @ 2005-10-21 14:02:17 by simonmar]
[ghc-hetmet.git] / ghc / rts / Stats.h
index 061d5fb..ee706db 100644 (file)
@@ -1,18 +1,22 @@
 /* -----------------------------------------------------------------------------
- * $Id: Stats.h,v 1.13 2001/11/23 10:27:58 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);
@@ -20,11 +24,13 @@ extern void      stat_endRP(nat,
 #ifdef DEBUG_RETAINER
                             nat, int, 
 #endif
-                            double, nat, nat);
+                            double);
+#endif /* PROFILING */
 
-extern void      stat_startLDV(void);
-extern void      stat_endLDV(void);
-#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);
@@ -39,8 +45,14 @@ extern double    mut_user_time(void);
 
 #ifdef PROFILING
 extern double    mut_user_time_during_RP(void);
-extern double    mut_user_time_during_LDV(void);
-#endif // PROFILING
+extern double    mut_user_time_during_heap_census(void);
+#endif /* PROFILING */
 
 extern void      statDescribeGens( void );
-extern HsInt     getAllocations( void );
+extern HsInt64   getAllocations( void );
+
+extern void      stat_getTimes ( long *currentElapsedTime, 
+                                long *currentUserTime,
+                                long *elapsedGCTime );
+
+#endif /* STATS_H */