X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FStgMiscClosures.h;h=3e028cefeab3535edcc3ef86ddcfc729a4b9cbe6;hb=32a464f1b66cd025f643dc15dc6851cb72bfb014;hp=7875788040ef43b26708501cc24fcd80b0ded808;hpb=e778a17045aac8aded0e0438f5e0178643ff678d;p=ghc-hetmet.git diff --git a/ghc/includes/StgMiscClosures.h b/ghc/includes/StgMiscClosures.h index 7875788..3e028ce 100644 --- a/ghc/includes/StgMiscClosures.h +++ b/ghc/includes/StgMiscClosures.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: StgMiscClosures.h,v 1.34 2001/02/09 13:09:17 simonmar Exp $ + * $Id: StgMiscClosures.h,v 1.38 2001/03/22 03:51:09 hwloidl Exp $ * * (c) The GHC Team, 1998-1999 * @@ -34,9 +34,7 @@ STGFUN(stg_SE_CAF_BLACKHOLE_entry); #if defined(PAR) || defined(GRAN) STGFUN(stg_RBH_entry); #endif -#ifdef GHCI STGFUN(stg_BCO_entry); -#endif STGFUN(stg_EVACUATED_entry); STGFUN(stg_FOREIGN_entry); STGFUN(stg_WEAK_entry); @@ -55,7 +53,6 @@ STGFUN(stg_MUT_CONS_entry); STGFUN(stg_END_MUT_LIST_entry); STGFUN(stg_dummy_ret_entry); -#ifdef GHCI /* entry code for constructors created by the bytecode interpreter */ STGFUN(stg_interp_constr_entry); STGFUN(stg_interp_constr1_entry); @@ -68,25 +65,30 @@ STGFUN(stg_interp_constr7_entry); STGFUN(stg_interp_constr8_entry); /* Magic glue code for when compiled code returns a value in R1/F1/D1 - to the interpreter. */ + or a VoidRep to the interpreter. */ extern DLL_IMPORT_RTS const vec_info_8 stg_ctoi_ret_R1p_info; extern DLL_IMPORT_RTS const vec_info_8 stg_ctoi_ret_R1n_info; extern DLL_IMPORT_RTS const vec_info_8 stg_ctoi_ret_F1_info; extern DLL_IMPORT_RTS const vec_info_8 stg_ctoi_ret_D1_info; +extern DLL_IMPORT_RTS const vec_info_8 stg_ctoi_ret_V_info; /* Used by the interpreter to return an unboxed value on the stack to compiled code. */ extern DLL_IMPORT_RTS const StgInfoTable stg_gc_unbx_r1_info; extern DLL_IMPORT_RTS const StgInfoTable stg_gc_f1_info; extern DLL_IMPORT_RTS const StgInfoTable stg_gc_d1_info; -#endif +/* this is the NIL ptr for a TSO queue (e.g. runnable queue) */ +#define END_TSO_QUEUE ((StgTSO *)(void*)&stg_END_TSO_QUEUE_closure) +/* this is the NIL ptr for a list CAFs */ +#define END_ECAF_LIST ((StgCAF *)(void*)&stg_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) +# define END_BQ_QUEUE ((StgBlockingQueueElement *)(void*)&stg_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) +# define END_BF_QUEUE ((StgBlockedFetch *)(void*)&stg_END_TSO_QUEUE_closure) #endif +/* ToDo?: different name for end of sleeping queue ? -- HWL */ /* info tables */ @@ -110,6 +112,9 @@ extern DLL_IMPORT_RTS const StgInfoTable stg_SE_CAF_BLACKHOLE_info; #if defined(PAR) || defined(GRAN) extern DLL_IMPORT_RTS const StgInfoTable stg_RBH_info; #endif +#if defined(PAR) +extern DLL_IMPORT_RTS const StgInfoTable stg_FETCH_ME_BQ_info; +#endif extern DLL_IMPORT_RTS const StgInfoTable stg_BCO_info; extern DLL_IMPORT_RTS const StgInfoTable stg_EVACUATED_info; extern DLL_IMPORT_RTS const StgInfoTable stg_FOREIGN_info;