summaryrefslogtreecommitdiff
path: root/ghc/includes/Updates.h
diff options
context:
space:
mode:
Diffstat (limited to 'ghc/includes/Updates.h')
-rw-r--r--ghc/includes/Updates.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/ghc/includes/Updates.h b/ghc/includes/Updates.h
index 77a18d1573..9c174660ed 100644
--- a/ghc/includes/Updates.h
+++ b/ghc/includes/Updates.h
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------------------
- * $Id: Updates.h,v 1.21 2000/12/04 12:31:20 simonmar Exp $
+ * $Id: Updates.h,v 1.22 2001/01/29 17:23:41 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
@@ -61,6 +61,16 @@
}
#endif
+#define UPD_STATIC_IND(updclosure, heapptr) \
+ { \
+ const StgInfoTable *info; \
+ info = ((StgClosure *)updclosure)->header.info; \
+ AWAKEN_STATIC_BQ(info,updclosure); \
+ updateWithStaticIndirection(info, \
+ (StgClosure *)updclosure, \
+ (StgClosure *)heapptr); \
+ }
+
#if defined(PROFILING) || defined(TICKY_TICKY)
#define UPD_PERM_IND(updclosure, heapptr) \
{ \
@@ -160,6 +170,11 @@ extern void awakenBlockedQueue(StgTSO *q);
DO_AWAKEN_BQ(closure); \
}
+#define AWAKEN_STATIC_BQ(info,closure) \
+ if (info == &stg_BLACKHOLE_BQ_STATIC_info) { \
+ DO_AWAKEN_BQ(closure); \
+ }
+
#endif /* GRAN || PAR */
/* -------------------------------------------------------------------------