summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/Cmm.h8
-rw-r--r--includes/rts/storage/SMPClosureOps.h4
-rw-r--r--includes/stg/MiscClosures.h1
3 files changed, 10 insertions, 3 deletions
diff --git a/includes/Cmm.h b/includes/Cmm.h
index 1505b1cb6a..ca8e51af78 100644
--- a/includes/Cmm.h
+++ b/includes/Cmm.h
@@ -1,6 +1,6 @@
/* -----------------------------------------------------------------------------
*
- * (c) The University of Glasgow 2004-2012
+ * (c) The University of Glasgow 2004-2013
*
* This file is included at the top of all .cmm source files (and
* *only* .cmm files). It defines a collection of useful macros for
@@ -583,6 +583,12 @@
#define OVERWRITING_CLOSURE(c) /* nothing */
#endif
+#ifdef THREADED_RTS
+#define prim_write_barrier prim %write_barrier()
+#else
+#define prim_write_barrier /* nothing */
+#endif
+
/* -----------------------------------------------------------------------------
Ticky macros
-------------------------------------------------------------------------- */
diff --git a/includes/rts/storage/SMPClosureOps.h b/includes/rts/storage/SMPClosureOps.h
index cd6a789af4..39349874f7 100644
--- a/includes/rts/storage/SMPClosureOps.h
+++ b/includes/rts/storage/SMPClosureOps.h
@@ -1,6 +1,6 @@
/* ----------------------------------------------------------------------------
*
- * (c) The GHC Team, 2005
+ * (c) The GHC Team, 2005-2013
*
* Macros for THREADED_RTS support
*
@@ -12,7 +12,7 @@
#ifdef CMINUSMINUS
#define unlockClosure(ptr,info) \
- prim %write_barrier(); \
+ prim_write_barrier; \
StgHeader_info(ptr) = info;
#else
diff --git a/includes/stg/MiscClosures.h b/includes/stg/MiscClosures.h
index 68c6212396..b9b4f2304f 100644
--- a/includes/stg/MiscClosures.h
+++ b/includes/stg/MiscClosures.h
@@ -472,6 +472,7 @@ extern StgWord RTS_VAR(atomic_modify_mutvar_mutex);
extern StgWord RTS_VAR(RtsFlags); // bogus type
// Stable.c
+extern StgWord RTS_VAR(stable_ptr_table);
extern StgWord RTS_VAR(stable_name_table);
// Profiling.c