#include "ClosureTypes.h"
#include "StgFun.h"
#include "OSThreads.h"
-#include "SMP.h"
+#include "SMPClosureOps.h"
/*
* Need MachRegs, because some of the RTS code is conditionally
* Unregisterised builds are ok, but only 1 CPU supported.
*/
-#ifdef CMINUSMINUS
-
-#define unlockClosure(ptr,info) \
- prim %write_barrier() []; \
- StgHeader_info(ptr) = info;
-
-#else
-
#if defined(THREADED_RTS)
#if defined(TICKY_TICKY)
#endif /* !THREADED_RTS */
-#endif /* CMINUSMINUS */
-
#endif /* SMP_H */
#ifndef SMPCLOSUREOPS_H
#define SMPCLOSUREOPS_H
+#ifdef CMINUSMINUS
+
+#define unlockClosure(ptr,info) \
+ prim %write_barrier() []; \
+ StgHeader_info(ptr) = info;
+
+#else
+
EXTERN_INLINE StgInfoTable *lockClosure(StgClosure *p);
EXTERN_INLINE void unlockClosure(StgClosure *p, const StgInfoTable *info);
EXTERN_INLINE void unlockTSO(StgTSO *tso)
{ unlockClosure((StgClosure*)tso, (const StgInfoTable *)&stg_TSO_info); }
+#endif /* CMINUSMINUS */
+
#endif /* SMPCLOSUREOPS_H */