X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsStartup.c;h=b85b15305f8e41faae8287881085d850692624da;hb=085d9de94b86e1559de064528d6480ee27de9091;hp=1c39cf8422290da92d42f427f09e85abf619ba90;hpb=a5288c551349a0adab0d931a429b10a096d9444d;p=ghc-hetmet.git diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c index 1c39cf8..b85b153 100644 --- a/rts/RtsStartup.c +++ b/rts/RtsStartup.c @@ -17,6 +17,7 @@ #include "sm/Storage.h" #include "RtsUtils.h" +#include "Prelude.h" #include "Schedule.h" /* initScheduler */ #include "Stats.h" /* initStats */ #include "STM.h" /* initSTM */ @@ -148,6 +149,9 @@ hs_init(int *argc, char **argv[]) #ifdef TRACING initTracing(); #endif + /* Dtrace events are always enabled + */ + dtraceEventStartup(); /* initialise scheduler data structures (needs to be done before * initStorage()). @@ -164,8 +168,8 @@ hs_init(int *argc, char **argv[]) * knows about. We don't know whether these turn out to be CAFs * or refer to CAFs, but we have to assume that they might. */ - getStablePtr((StgPtr)base_GHCziTopHandler_runIO_closure); - getStablePtr((StgPtr)base_GHCziTopHandler_runNonIO_closure); + getStablePtr((StgPtr)runIO_closure); + getStablePtr((StgPtr)runNonIO_closure); getStablePtr((StgPtr)stackOverflow_closure); getStablePtr((StgPtr)heapOverflow_closure); getStablePtr((StgPtr)runFinalizerBatch_closure); @@ -337,6 +341,9 @@ hs_exit_(rtsBool wait_foreign) OnExitHook(); + // Free the full argv storage + freeFullProgArgv(); + #if defined(THREADED_RTS) ioManagerDie(); #endif