X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsStartup.c;h=c55fdfb537c5007678946e6cd0935da0d66bca8b;hb=1663532f26ae2e68f04d067b11bd177d307637b1;hp=d1025a3a8b17d12884f1873eab78dc46ad4708e1;hpb=a84385fa752d8fa800a2155cce95f47c68b74e2b;p=ghc-hetmet.git diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c index d1025a3..c55fdfb 100644 --- a/rts/RtsStartup.c +++ b/rts/RtsStartup.c @@ -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 */