calculate and report slop (wasted space at the end of blocks)
[ghc-hetmet.git] / rts / RtsStartup.c
index d1025a3..c55fdfb 100644 (file)
@@ -140,17 +140,20 @@ hs_init(int *argc, char **argv[])
        return;
     }
 
-#if defined(DEBUG)
-    /* Start off by initialising the allocator debugging so we can
-     * use it anywhere */
-    initAllocator();
-#endif
+    /* Initialise the stats department, phase 0 */
+    initStats0();
 
     /* Next we do is grab the start time...just in case we're
      * collecting timing statistics.
      */
     stat_startInit();
 
+#if defined(DEBUG)
+    /* Start off by initialising the allocator debugging so we can
+     * use it anywhere */
+    initAllocator();
+#endif
+
 #ifdef PAR
     /*
      * The parallel system needs to be initialised and synchronised before
@@ -167,10 +170,6 @@ hs_init(int *argc, char **argv[])
     argv++; argc--;
 #endif
 
-#ifdef USE_PAPI
-    papi_init();
-#endif
-
     /* Set the RTS flags to default values. */
 
     initRtsFlagsDefaults();
@@ -185,6 +184,13 @@ hs_init(int *argc, char **argv[])
        setProgArgv(*argc,*argv);
     }
 
+    /* Initialise the stats department, phase 1 */
+    initStats1();
+
+#ifdef USE_PAPI
+    papi_init();
+#endif
+
     /* initTracing must be after setupRtsFlags() */
     initTracing();
 
@@ -235,9 +241,6 @@ hs_init(int *argc, char **argv[])
     initTimer();
     startTimer();
 
-    /* Initialise the stats department */
-    initStats();
-
 #if defined(RTS_USER_SIGNALS)
     if (RtsFlags.MiscFlags.install_signal_handlers) {
         /* Initialise the user signal handler set */