Make setInlineActivation left-associative
[ghc-hetmet.git] / rts / RtsStartup.c
index 1c39cf8..b85b153 100644 (file)
@@ -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