[project @ 2000-04-25 11:27:35 by rrt]
[ghc-hetmet.git] / ghc / includes / StgMiscClosures.h
index aad9895..e0ed424 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: StgMiscClosures.h,v 1.12 1999/05/11 16:47:41 keithw Exp $
+ * $Id: StgMiscClosures.h,v 1.16 2000/01/13 14:34:01 hwloidl Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -24,10 +24,16 @@ STGFUN(CAF_ENTERED_entry);
 STGFUN(CAF_BLACKHOLE_entry);
 STGFUN(BLACKHOLE_entry);
 STGFUN(BLACKHOLE_BQ_entry);
+#ifdef SMP
+STGFUN(WHITEHOLE_entry);
+#endif
 #ifdef TICKY_TICKY
 STGFUN(SE_BLACKHOLE_entry);
 STGFUN(SE_CAF_BLACKHOLE_entry);
 #endif
+#if defined(PAR) || defined(GRAN)
+STGFUN(RBH_entry);
+#endif
 STGFUN(BCO_entry);
 STGFUN(EVACUATED_entry);
 STGFUN(FOREIGN_entry);
@@ -47,6 +53,15 @@ STGFUN(MUT_CONS_entry);
 STGFUN(END_MUT_LIST_entry);
 STGFUN(dummy_ret_entry);
 
+/* this is the NIL ptr for a TSO queue (e.g. runnable queue) */
+#define END_TSO_QUEUE  ((StgTSO *)(void*)&END_TSO_QUEUE_closure)
+#if defined(PAR) || defined(GRAN)
+/* this is the NIL ptr for a blocking queue */
+# define END_BQ_QUEUE  ((StgBlockingQueueElement *)(void*)&END_TSO_QUEUE_closure)
+/* this is the NIL ptr for a blocked fetch queue (as in PendingFetches in GUM) */
+# define END_BF_QUEUE  ((StgBlockedFetch *)(void*)&END_TSO_QUEUE_closure)
+#endif
+
 /* info tables */
 
 extern DLL_IMPORT_RTS const StgInfoTable IND_info;
@@ -59,10 +74,16 @@ extern DLL_IMPORT_RTS const StgInfoTable CAF_ENTERED_info;
 extern DLL_IMPORT_RTS const StgInfoTable CAF_BLACKHOLE_info;
 extern DLL_IMPORT_RTS const StgInfoTable BLACKHOLE_info;
 extern DLL_IMPORT_RTS const StgInfoTable BLACKHOLE_BQ_info;
+#ifdef SMP
+extern DLL_IMPORT_RTS const StgInfoTable WHITEHOLE_info;
+#endif
 #ifdef TICKY_TICKY
 extern DLL_IMPORT_RTS const StgInfoTable SE_BLACKHOLE_info;
 extern DLL_IMPORT_RTS const StgInfoTable SE_CAF_BLACKHOLE_info;
 #endif
+#if defined(PAR) || defined(GRAN)
+extern DLL_IMPORT_RTS const StgInfoTable RBH_info;
+#endif
 extern DLL_IMPORT_RTS const StgInfoTable BCO_info;
 extern DLL_IMPORT_RTS const StgInfoTable EVACUATED_info;
 extern DLL_IMPORT_RTS const StgInfoTable FOREIGN_info;
@@ -87,7 +108,8 @@ extern DLL_IMPORT_RTS const StgInfoTable dummy_ret_info;
 #ifdef INTERPRETER
 
 EXTFUN(Hugs_CONSTR_entry);
-extern const StgInfoTable ret_bco_info;
+
+extern const vec_info_8 ret_bco_info;
 
 #endif /* INTERPRETER */
 
@@ -97,6 +119,7 @@ extern DLL_IMPORT_DATA StgClosure END_TSO_QUEUE_closure;
 extern DLL_IMPORT_DATA StgClosure END_MUT_LIST_closure;
 extern DLL_IMPORT_DATA StgClosure NO_FINALIZER_closure;
 extern DLL_IMPORT_DATA StgClosure dummy_ret_closure;
+extern DLL_IMPORT_DATA StgClosure forceIO_closure;
 
 extern DLL_IMPORT_DATA StgIntCharlikeClosure CHARLIKE_closure[];
 extern DLL_IMPORT_DATA StgIntCharlikeClosure INTLIKE_closure[];