The storage manager is accessed exclusively through these routines:
\begin{code}
-IF_RTS(I_ initSM PROTO((I_ rts_argc, char **rts_argv, FILE *statsfile));)
-IF_RTS(I_ exitSM PROTO((smInfo *sm));)
-IF_RTS(I_ initStacks PROTO((smInfo *sm));)
-IF_RTS(I_ initHeap PROTO((smInfo *sm));)
+IF_RTS(void initSM (STG_NO_ARGS);)
+IF_RTS(rtsBool exitSM PROTO((smInfo *sm));)
+IF_RTS(rtsBool initStacks PROTO((smInfo *sm));)
+IF_RTS(rtsBool initHeap PROTO((smInfo *sm));)
#ifdef CONCURRENT
-IF_RTS(rtsBool initThreadPool PROTO((I_ size));)
+IF_RTS(rtsBool initThreadPools (STG_NO_ARGS);)
#endif
#ifdef PAR
IF_RTS(void init_gr_profiling PROTO((int, char **, int, char **));)
IF_RTS(void unmapMiddleStackPage PROTO((char *, int));) /* char * == caddr_t ? */
-#if defined(USE_COST_CENTRES) || defined(GUM)
+#if defined(PROFILING) || defined(PAR)
IF_RTS(void handle_tick_serial(STG_NO_ARGS);)
IF_RTS(void handle_tick_noserial(STG_NO_ARGS);)
#endif
\end{code}
-@initSM@ processes any runtime parameters directed towards the storage
-manager. The @statsfile@ parameter is an open file, which will contain
-any garbage collection statistics requested by the user. This file
-must be opened for writing.
+@initSM@ finalizes any runtime parameters of the storage manager.
@exitSM@ does any cleaning up required by the storage manager before
the program is executed. Its main purpose is to print any summary
We store the following information concerning the stacks in a global
structure. (sequential only).
\begin{code}
+#ifndef CONCURRENT
typedef struct {
PP_ botA; /* Points to bottom-most word of A stack */
} stackData;
extern stackData stackInfo;
+
+#endif /* !CONCURRENT */
\end{code}
%************************************************************************