extern int forkOS_createThread ( HsStablePtr entry );
extern StgInt forkProcess(HsStablePtr *entry);
extern StgBool rtsSupportsBoundThreads(void);
+extern StgInt newSpark (StgRegTable *reg, StgClosure *p);
/* grimy low-level support functions defined in StgPrimFloat.c */
extern StgDouble __encodeDouble (I_ size, StgByteArray arr, I_ e);
char *typeString);
extern void freeHaskellFunctionPtr(void* ptr);
+/* Hpc stuff */
+extern int hs_hpc_module(char *modName,int modCount,StgWord64 *tixArr);
+extern void hs_hpc_tick(int globIx,struct StgTSO_ *current_tso);
+extern void hs_hpc_event(char *msg,struct StgTSO_ *current_tso);
+
+
#if defined(mingw32_HOST_OS)
extern int rts_InstallConsoleEvent ( int action, StgStablePtr *handler );
extern void rts_ConsoleHandlerDone ( int ev );
extern int stg_sig_install (int, int, StgStablePtr *, void *);
#endif
-#if !defined(mingw32_HOST_OS)
+#if defined(mingw32_HOST_OS)
+extern StgInt console_handler;
+#else
extern StgInt *signal_handlers;
#endif
+
+#if defined(mingw32_HOST_OS)
+void *getIOManagerEvent (void);
+StgWord32 readIOManagerEvent (void);
+void sendIOManagerEvent (StgWord32 event);
+#else
extern void setIOManagerPipe (int fd);
+#endif
extern void* allocateExec(unsigned int len);
Storage manager stuff exported
-------------------------------------------------------------------------- */
-/* Prototype for an evacuate-like function */
-typedef void (*evac_fn)(StgClosure **);
-
extern void performGC(void);
extern void performMajorGC(void);
-extern void performGCWithRoots(void (*get_roots)(evac_fn));
extern HsInt64 getAllocations( void );
extern void revertCAFs( void );
extern void dirty_MUT_VAR(StgRegTable *reg, StgClosure *p);