add freeStorage() prototype
[ghc-hetmet.git] / ghc / rts / Stats.h
index 7db318d..20bc015 100644 (file)
@@ -1,27 +1,56 @@
 /* -----------------------------------------------------------------------------
- * $Id: Stats.h,v 1.8 1999/11/09 15:46:58 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);
-extern void      stat_workerStop(void);
+#ifndef STATS_H
+#define STATS_H
 
-extern void      stat_startGC(void);
-extern void      stat_endGC(lnat alloc, lnat collect, lnat live, 
-                           lnat copied, lnat gen);
+#include "GetTime.h"
 
-extern void      stat_startExit(void);
-extern void      stat_endExit(void);
+void      stat_startInit(void);
+void      stat_endInit(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);
+void      stat_startGC(void);
+void      stat_endGC (lnat alloc, lnat live, 
+                     lnat copied, lnat scavd_copied, lnat gen);
+
+#ifdef PROFILING
+void      stat_startRP(void);
+void      stat_endRP(nat, 
+#ifdef DEBUG_RETAINER
+                            nat, int, 
+#endif
+                            double);
+#endif /* PROFILING */
+
+#if defined(PROFILING) || defined(DEBUG)
+void      stat_startHeapCensus(void);
+void      stat_endHeapCensus(void);
+#endif
+
+void      stat_startExit(void);
+void      stat_endExit(void);
+
+void      stat_exit(int alloc);
+void      stat_workerStop(void);
+
+void      initStats(void);
+
+double    mut_user_time_during_GC(void);
+double    mut_user_time(void);
+
+#ifdef PROFILING
+double    mut_user_time_during_RP(void);
+double    mut_user_time_during_heap_census(void);
+#endif /* PROFILING */
+
+void      statDescribeGens( void );
+HsInt64   getAllocations( void );
+
+Ticks stat_getElapsedGCTime(void);
+
+#endif /* STATS_H */