#include "FrontPanel.h"
#endif
-#if defined(PROFILING) || defined(DEBUG)
# include "Profiling.h"
+
+#if defined(PROFILING)
# include "ProfHeap.h"
# include "RetainerProfile.h"
#endif
synchroniseSystem(); // calls initParallelSystem etc
#endif /* PAR */
- /* Perform initialisation of adjustor thunk layer. */
- initAdjustor();
-
/* initialise scheduler data structures (needs to be done before
* initStorage()).
*/
initThreadLabelTable();
#endif
-#if defined(PROFILING) || defined(DEBUG)
initProfiling1();
-#endif
/* start the virtual timer 'subsystem'. */
startTimer();
startupHpc();
-#if defined(PROFILING) || defined(DEBUG)
// This must be done after module initialisation.
// ToDo: make this work in the presence of multiple hs_add_root()s.
initProfiling2();
-#endif
}
/* -----------------------------------------------------------------------------
/* free the stable pointer table */
exitStablePtrTable();
-#if defined(PROFILING) || defined(DEBUG)
freeProfiling1();
-#endif
#if defined(DEBUG)
/* free the thread label table */
freeThreadLabelTable();
#endif
- /* free hash table storage */
- exitHashTable();
-
#ifdef RTS_GTK_FRONTPANEL
if (RtsFlags.GcFlags.frontpanel) {
stopFrontPanel();
reportCCSProfiling();
#endif
-#if defined(PROFILING) || defined(DEBUG)
endProfiling();
-#endif
#ifdef PROFILING
// Originally, this was in report_ccs_profiling(). Now, retainer
shutdownAsyncIO();
#endif
+ /* free hash table storage */
+ exitHashTable();
+
// Finally, free all our storage
freeStorage();