Enable two-step allocator on FreeBSD
[ghc.git] / rts / Messages.h
index 4121364..1837156 100644 (file)
@@ -6,18 +6,21 @@
  *
  * --------------------------------------------------------------------------*/
 
+#pragma once
+
 #include "BeginPrivate.h"
 
-nat messageBlackHole(Capability *cap, MessageBlackHole *msg);
+uint32_t messageBlackHole(Capability *cap, MessageBlackHole *msg);
 StgTSO * blackHoleOwner (StgClosure *bh);
 
-#ifdef THREADED_RTS
+#if defined(THREADED_RTS)
 void executeMessage (Capability *cap, Message *m);
 void sendMessage    (Capability *from_cap, Capability *to_cap, Message *msg);
 #endif
 
 #include "Capability.h"
 #include "Updates.h" // for DEBUG_FILL_SLOP
+#include "SMPClosureOps.h"
 
 INLINE_HEADER void
 doneWithMsgThrowTo (MessageThrowTo *m)
@@ -28,3 +31,7 @@ doneWithMsgThrowTo (MessageThrowTo *m)
 }
 
 #include "EndPrivate.h"
+
+#if defined(THREADED_RTS) && defined(PROF_SPIN)
+extern volatile StgWord64 whitehole_executeMessage_spin;
+#endif