Added a comment about se.info.type being used uninitialized
[ghc-hetmet.git] / rts / Stats.c
index f0f61b2..aabe259 100644 (file)
 #include "RtsFlags.h"
 #include "RtsUtils.h"
 #include "MBlock.h"
+#include "Storage.h"
 #include "Schedule.h"
 #include "Stats.h"
 #include "ParTicky.h"                       /* ToDo: move into Rts.h */
 #include "Profiling.h"
-#include "Storage.h"
 #include "GetTime.h"
 
 /* huh? */
@@ -75,6 +75,11 @@ Ticks stat_getElapsedGCTime(void)
     return GCe_tot_time;
 }
 
+Ticks stat_getElapsedTime(void)
+{
+    return getProcessElapsedTime() - ElapsedTimeStart;
+}
+
 /* mut_user_time_during_GC() and mut_user_time()
  *
  * The former function can be used to get the current mutator time
@@ -532,6 +537,9 @@ stat_exit(int alloc)
        statsFlush();
        statsClose();
     }
+    if (GC_coll_times)
+      stgFree(GC_coll_times);
+    GC_coll_times = NULL;
 }
 
 /* -----------------------------------------------------------------------------
@@ -549,13 +557,13 @@ statDescribeGens(void)
   step *step;
 
   debugBelch(
-"     Gen    Steps      Max   Mutable  Step   Blocks     Live    Large\n"
-"                     Blocks Closures                          Objects\n");
+"     Gen    Steps      Max  Mut-list  Step   Blocks     Live    Large\n"
+"                    Blocks     Bytes                          Objects\n");
 
   mut = 0;
   for (g = 0; g < RtsFlags.GcFlags.generations; g++) {
       for (bd = generations[g].mut_list; bd != NULL; bd = bd->link) {
-         mut += bd->free - bd->start;
+         mut += (bd->free - bd->start) * sizeof(W_);
       }
 
     debugBelch("%8d %8d %8d %9d", g, generations[g].n_steps,