refactor: move unlockClosure() into SMPClosureOps() where it should be
authorSimon Marlow <marlowsd@gmail.com>
Fri, 14 Nov 2008 09:58:17 +0000 (09:58 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Fri, 14 Nov 2008 09:58:17 +0000 (09:58 +0000)
includes/Cmm.h
includes/SMP.h
includes/SMPClosureOps.h

index 9915830..c0b2fe9 100644 (file)
 #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
index e3b4cd5..bf23e08 100644 (file)
  *      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)
@@ -203,6 +195,4 @@ xchg(StgPtr p, StgWord w)
 
 #endif /* !THREADED_RTS */
 
-#endif /* CMINUSMINUS */
-
 #endif /* SMP_H */
index a43222d..f46dbde 100644 (file)
@@ -9,6 +9,14 @@
 #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);
 
@@ -65,4 +73,6 @@ EXTERN_INLINE void unlockTSO(StgTSO *tso);
 EXTERN_INLINE void unlockTSO(StgTSO *tso)
 { unlockClosure((StgClosure*)tso, (const StgInfoTable *)&stg_TSO_info); }
 
+#endif /* CMINUSMINUS */
+
 #endif /* SMPCLOSUREOPS_H */