Commit 34a98f40 authored by simonmar's avatar simonmar

[project @ 2000-11-13 14:40:36 by simonmar]

Change the names of several RTS symbols so they don't potentially
clash with user code.  All the symbols that may clash now have an
"stg_" prefix.
parent dc7a3d8c
%
% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
%
% $Id: CLabel.lhs,v 1.41 2000/11/06 08:15:20 simonpj Exp $
% $Id: CLabel.lhs,v 1.42 2000/11/13 14:40:38 simonmar Exp $
%
\section[CLabel]{@CLabel@: Information to make C Labels}
......@@ -246,19 +246,19 @@ mkStgUpdatePAPLabel = RtsLabel (Rts_Code "stg_update_PAP")
mkSplitMarkerLabel = RtsLabel (Rts_Code "__stg_split_marker")
mkUpdInfoLabel = RtsLabel RtsUpdInfo
mkSeqInfoLabel = RtsLabel RtsSeqInfo
mkIndInfoLabel = RtsLabel (Rts_Info "IND_info")
mkIndStaticInfoLabel = RtsLabel (Rts_Info "IND_STATIC_info")
mkIndInfoLabel = RtsLabel (Rts_Info "stg_IND_info")
mkIndStaticInfoLabel = RtsLabel (Rts_Info "stg_IND_STATIC_info")
mkRtsGCEntryLabel str = RtsLabel (RtsGCEntryLabel str)
mkMainRegTableLabel = RtsLabel RtsMainRegTable
mkCharlikeClosureLabel = RtsLabel (Rts_Closure "CHARLIKE_closure")
mkIntlikeClosureLabel = RtsLabel (Rts_Closure "INTLIKE_closure")
mkMAP_FROZEN_infoLabel = RtsLabel (Rts_Info "MUT_ARR_PTRS_FROZEN_info")
mkCharlikeClosureLabel = RtsLabel (Rts_Closure "stg_CHARLIKE_closure")
mkIntlikeClosureLabel = RtsLabel (Rts_Closure "stg_INTLIKE_closure")
mkMAP_FROZEN_infoLabel = RtsLabel (Rts_Info "stg_MUT_ARR_PTRS_FROZEN_info")
mkTopTickyCtrLabel = RtsLabel RtsTopTickyCtr
mkBlackHoleInfoTableLabel = RtsLabel (RtsBlackHoleInfoTbl SLIT("BLACKHOLE_info"))
mkCAFBlackHoleInfoTableLabel = RtsLabel (RtsBlackHoleInfoTbl SLIT("CAF_BLACKHOLE_info"))
mkBlackHoleInfoTableLabel = RtsLabel (RtsBlackHoleInfoTbl SLIT("stg_BLACKHOLE_info"))
mkCAFBlackHoleInfoTableLabel = RtsLabel (RtsBlackHoleInfoTbl SLIT("stg_CAF_BLACKHOLE_info"))
mkSECAFBlackHoleInfoTableLabel = if opt_DoTickyProfiling then
RtsLabel (RtsBlackHoleInfoTbl SLIT("SE_CAF_BLACKHOLE_info"))
RtsLabel (RtsBlackHoleInfoTbl SLIT("stg_SE_CAF_BLACKHOLE_info"))
else -- RTS won't have info table unless -ticky is on
panic "mkSECAFBlackHoleInfoTableLabel requires -ticky"
mkRtsPrimOpLabel primop = RtsLabel (RtsPrimOp primop)
......@@ -467,8 +467,8 @@ pprCLbl (RtsLabel RtsShouldNeverHappenCode) = ptext SLIT("NULL")
-- used to be stg_error_entry but Windows can't have DLL entry points as static
-- initialisers, and besides, this ShouldNeverHappen, right?
pprCLbl (RtsLabel RtsUpdInfo) = ptext SLIT("upd_frame_info")
pprCLbl (RtsLabel RtsSeqInfo) = ptext SLIT("seq_frame_info")
pprCLbl (RtsLabel RtsUpdInfo) = ptext SLIT("stg_upd_frame_info")
pprCLbl (RtsLabel RtsSeqInfo) = ptext SLIT("stg_seq_frame_info")
pprCLbl (RtsLabel RtsMainRegTable) = ptext SLIT("MainRegTable")
pprCLbl (RtsLabel (RtsGCEntryLabel str)) = text str
pprCLbl (RtsLabel (Rts_Closure str)) = text str
......@@ -480,28 +480,28 @@ pprCLbl (RtsLabel RtsTopTickyCtr) = ptext SLIT("top_ct")
pprCLbl (RtsLabel (RtsBlackHoleInfoTbl info)) = ptext info
pprCLbl (RtsLabel (RtsSelectorInfoTbl upd_reqd offset))
= hcat [ptext SLIT("__sel_"), text (show offset),
= hcat [ptext SLIT("stg_sel_"), text (show offset),
ptext (if upd_reqd
then SLIT("_upd_info")
else SLIT("_noupd_info"))
]
pprCLbl (RtsLabel (RtsSelectorEntry upd_reqd offset))
= hcat [ptext SLIT("__sel_"), text (show offset),
= hcat [ptext SLIT("stg_sel_"), text (show offset),
ptext (if upd_reqd
then SLIT("_upd_entry")
else SLIT("_noupd_entry"))
]
pprCLbl (RtsLabel (RtsApInfoTbl upd_reqd arity))
= hcat [ptext SLIT("__ap_"), text (show arity),
= hcat [ptext SLIT("stg_ap_"), text (show arity),
ptext (if upd_reqd
then SLIT("_upd_info")
else SLIT("_noupd_info"))
]
pprCLbl (RtsLabel (RtsApEntry upd_reqd arity))
= hcat [ptext SLIT("__ap_"), text (show arity),
= hcat [ptext SLIT("stg_ap_"), text (show arity),
ptext (if upd_reqd
then SLIT("_upd_entry")
else SLIT("_noupd_entry"))
......
/* -----------------------------------------------------------------------------
* $Id: Assembler.h,v 1.18 2000/10/09 11:21:41 daan Exp $
* $Id: Assembler.h,v 1.19 2000/11/13 14:40:36 simonmar Exp $
*
* (c) The GHC Team 1994-1998.
*
......@@ -29,7 +29,7 @@ extern void DEBUG_LoadSymbols( char *name );
typedef unsigned char AsmNat8;
typedef unsigned int AsmNat;
typedef signed int AsmInt;
typedef HsInt64_ AsmInt64;
typedef HsInt64 AsmInt64;
typedef unsigned int AsmWord;
typedef void* AsmAddr;
typedef unsigned char AsmChar;
......
/* ----------------------------------------------------------------------------
* $Id: ClosureMacros.h,v 1.27 2000/11/07 10:42:56 simonmar Exp $
* $Id: ClosureMacros.h,v 1.28 2000/11/13 14:40:36 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
......@@ -153,12 +153,12 @@ extern int is_heap_alloced(const void* x);
/* Tiresome predicates needed to check for pointers into the closure tables */
#define IS_CHARLIKE_CLOSURE(p) \
( (P_)(p) >= (P_)CHARLIKE_closure && \
(char*)(p) <= ((char*)CHARLIKE_closure + \
( (P_)(p) >= (P_)stg_CHARLIKE_closure && \
(char*)(p) <= ((char*)stg_CHARLIKE_closure + \
(MAX_CHARLIKE-MIN_CHARLIKE) * sizeof(StgIntCharlikeClosure)) )
#define IS_INTLIKE_CLOSURE(p) \
( (P_)(p) >= (P_)INTLIKE_closure && \
(char*)(p) <= ((char*)INTLIKE_closure + \
( (P_)(p) >= (P_)stg_INTLIKE_closure && \
(char*)(p) <= ((char*)stg_INTLIKE_closure + \
(MAX_INTLIKE-MIN_INTLIKE) * sizeof(StgIntCharlikeClosure)) )
#define LOOKS_LIKE_STATIC_CLOSURE(r) (((*(((unsigned long *)(r))-1)) == 0) || IS_CHARLIKE_CLOSURE(r) || IS_INTLIKE_CLOSURE(r))
......@@ -348,8 +348,8 @@ static __inline__ StgWord tso_sizeW ( StgTSO *tso )
INTLIKE and CHARLIKE closures.
-------------------------------------------------------------------------- */
#define CHARLIKE_CLOSURE(n) ((P_)&CHARLIKE_closure[(n)-MIN_CHARLIKE])
#define INTLIKE_CLOSURE(n) ((P_)&INTLIKE_closure[(n)-MIN_INTLIKE])
#define CHARLIKE_CLOSURE(n) ((P_)&stg_CHARLIKE_closure[(n)-MIN_CHARLIKE])
#define INTLIKE_CLOSURE(n) ((P_)&stg_INTLIKE_closure[(n)-MIN_INTLIKE])
/* -----------------------------------------------------------------------------
Closure Tables (for enumerated data types)
......
/* -----------------------------------------------------------------------------
* $Id: PrimOps.h,v 1.66 2000/11/07 13:30:40 simonmar Exp $
* $Id: PrimOps.h,v 1.67 2000/11/13 14:40:36 simonmar Exp $
*
* (c) The GHC Team, 1998-2000
*
......@@ -547,11 +547,11 @@ LI_ stg_word64ToInt64 (StgWord64);
#ifdef DEBUG
#define BYTE_ARR_CTS(a) \
({ ASSERT(GET_INFO((StgArrWords *)(a)) == &ARR_WORDS_info); \
({ ASSERT(GET_INFO((StgArrWords *)(a)) == &stg_ARR_WORDS_info); \
REAL_BYTE_ARR_CTS(a); })
#define PTRS_ARR_CTS(a) \
({ ASSERT((GET_INFO((StgMutArrPtrs *)(a)) == &MUT_ARR_PTRS_FROZEN_info) \
|| (GET_INFO((StgMutArrPtrs *)(a)) == &MUT_ARR_PTRS_info)); \
({ ASSERT((GET_INFO((StgMutArrPtrs *)(a)) == &stg_MUT_ARR_PTRS_FROZEN_info) \
|| (GET_INFO((StgMutArrPtrs *)(a)) == &stg_MUT_ARR_PTRS_info)); \
REAL_PTRS_ARR_CTS(a); })
#else
#define BYTE_ARR_CTS(a) REAL_BYTE_ARR_CTS(a)
......@@ -619,7 +619,7 @@ extern I_ resetGenSymZh(void);
#define unsafeFreezzeArrayzh(r,a) \
{ \
SET_INFO((StgClosure *)a,&MUT_ARR_PTRS_FROZEN_info); \
SET_INFO((StgClosure *)a,&stg_MUT_ARR_PTRS_FROZEN_info); \
r = a; \
}
......@@ -691,7 +691,7 @@ EXTFUN_RTS(newMutVarzh_fast);
#define sameMVarzh(r,a,b) r=(I_)((a)==(b))
/* Assume external decl of EMPTY_MVAR_info is in scope by now */
#define isEmptyMVarzh(r,a) r=(I_)((GET_INFO((StgMVar*)(a))) == &EMPTY_MVAR_info )
#define isEmptyMVarzh(r,a) r=(I_)((GET_INFO((StgMVar*)(a))) == &stg_EMPTY_MVAR_info )
EXTFUN_RTS(newMVarzh_fast);
EXTFUN_RTS(takeMVarzh_fast);
EXTFUN_RTS(tryTakeMVarzh_fast);
......@@ -870,7 +870,7 @@ EXTFUN_RTS(mkWeakzh_fast);
EXTFUN_RTS(finalizzeWeakzh_fast);
#define deRefWeakzh(code,val,w) \
if (((StgWeak *)w)->header.info == &WEAK_info) { \
if (((StgWeak *)w)->header.info == &stg_WEAK_info) { \
code = 1; \
val = (P_)((StgWeak *)w)->value; \
} else { \
......
/* -----------------------------------------------------------------------------
* $Id: SchedAPI.h,v 1.10 2000/04/14 15:18:05 sewardj Exp $
* $Id: SchedAPI.h,v 1.11 2000/11/13 14:40:36 simonmar Exp $
*
* (c) The GHC Team 1998
*
......@@ -82,7 +82,7 @@ createStrictIOThread(nat stack_size, StgClosure *closure) {
t = createThread(stack_size);
#endif
pushClosure(t,closure);
pushClosure(t,(StgClosure*)&forceIO_closure);
pushClosure(t,(StgClosure*)&stg_forceIO_closure);
return t;
}
......
/* -----------------------------------------------------------------------------
* $Id: StgMacros.h,v 1.35 2000/11/07 10:42:56 simonmar Exp $
* $Id: StgMacros.h,v 1.36 2000/11/13 14:40:36 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
......@@ -422,7 +422,7 @@ EXTINFO_RTS(stg_gen_chk_info);
} \
} \
} \
SET_INFO(R1.cl,&BLACKHOLE_info)
SET_INFO(R1.cl,&stg_BLACKHOLE_info)
# define UPD_BH_SINGLE_ENTRY(info) \
TICK_UPD_BH_SINGLE_ENTRY(); \
{ \
......@@ -436,14 +436,14 @@ EXTINFO_RTS(stg_gen_chk_info);
} \
} \
} \
SET_INFO(R1.cl,&BLACKHOLE_info)
SET_INFO(R1.cl,&stg_BLACKHOLE_info)
# else
# define UPD_BH_UPDATABLE(info) \
TICK_UPD_BH_UPDATABLE(); \
SET_INFO(R1.cl,&BLACKHOLE_info)
SET_INFO(R1.cl,&stg_BLACKHOLE_info)
# define UPD_BH_SINGLE_ENTRY(info) \
TICK_UPD_BH_SINGLE_ENTRY(); \
SET_INFO(R1.cl,&SE_BLACKHOLE_info)
SET_INFO(R1.cl,&stg_SE_BLACKHOLE_info)
# endif
#else /* !EAGER_BLACKHOLING */
# define UPD_BH_UPDATABLE(thunk) /* nothing */
......@@ -617,7 +617,7 @@ static inline StgInt64 PK_Int64(W_ p_src[])
Catch frames
-------------------------------------------------------------------------- */
extern DLL_IMPORT_RTS const StgPolyInfoTable catch_frame_info;
extern DLL_IMPORT_RTS const StgPolyInfoTable stg_catch_frame_info;
/* -----------------------------------------------------------------------------
Seq frames
......@@ -626,14 +626,14 @@ extern DLL_IMPORT_RTS const StgPolyInfoTable catch_frame_info;
an update...
-------------------------------------------------------------------------- */
extern DLL_IMPORT_RTS const StgPolyInfoTable seq_frame_info;
extern DLL_IMPORT_RTS const StgPolyInfoTable stg_seq_frame_info;
#define PUSH_SEQ_FRAME(sp) \
{ \
StgSeqFrame *__frame; \
TICK_SEQF_PUSHED(); \
__frame = (StgSeqFrame *)(sp); \
SET_HDR_(__frame,&seq_frame_info,CCCS); \
SET_HDR_(__frame,&stg_seq_frame_info,CCCS); \
__frame->link = Su; \
Su = (StgUpdateFrame *)__frame; \
}
......
/* -----------------------------------------------------------------------------
* $Id: StgMiscClosures.h,v 1.21 2000/11/07 10:42:56 simonmar Exp $
* $Id: StgMiscClosures.h,v 1.22 2000/11/13 14:40:36 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
......@@ -14,60 +14,58 @@
/* entry code */
STGFUN(IND_entry);
STGFUN(IND_STATIC_entry);
STGFUN(IND_PERM_entry);
STGFUN(IND_OLDGEN_entry);
STGFUN(IND_OLDGEN_PERM_entry);
STGFUN(CAF_UNENTERED_entry);
STGFUN(CAF_ENTERED_entry);
STGFUN(CAF_BLACKHOLE_entry);
STGFUN(BLACKHOLE_entry);
STGFUN(BLACKHOLE_BQ_entry);
STGFUN(stg_IND_entry);
STGFUN(stg_IND_STATIC_entry);
STGFUN(stg_IND_PERM_entry);
STGFUN(stg_IND_OLDGEN_entry);
STGFUN(stg_IND_OLDGEN_PERM_entry);
STGFUN(stg_CAF_UNENTERED_entry);
STGFUN(stg_CAF_ENTERED_entry);
STGFUN(stg_CAF_BLACKHOLE_entry);
STGFUN(stg_BLACKHOLE_entry);
STGFUN(stg_BLACKHOLE_BQ_entry);
#ifdef SMP
STGFUN(WHITEHOLE_entry);
STGFUN(stg_WHITEHOLE_entry);
#endif
#ifdef TICKY_TICKY
STGFUN(SE_BLACKHOLE_entry);
STGFUN(SE_CAF_BLACKHOLE_entry);
STGFUN(stg_SE_BLACKHOLE_entry);
STGFUN(stg_SE_CAF_BLACKHOLE_entry);
#endif
#if defined(PAR) || defined(GRAN)
STGFUN(RBH_entry);
STGFUN(stg_RBH_entry);
#endif
STGFUN(BCO_entry);
STGFUN(EVACUATED_entry);
STGFUN(FOREIGN_entry);
STGFUN(WEAK_entry);
STGFUN(NO_FINALIZER_entry);
STGFUN(DEAD_WEAK_entry);
STGFUN(STABLE_NAME_entry);
STGFUN(TSO_entry);
STGFUN(FULL_MVAR_entry);
STGFUN(EMPTY_MVAR_entry);
STGFUN(ARR_WORDS_entry);
STGFUN(MUT_ARR_PTRS_entry);
STGFUN(MUT_ARR_PTRS_FROZEN_entry);
STGFUN(MUT_VAR_entry);
STGFUN(END_TSO_QUEUE_entry);
STGFUN(MUT_CONS_entry);
STGFUN(END_MUT_LIST_entry);
STGFUN(dummy_ret_entry);
STGFUN(stg_BCO_entry);
STGFUN(stg_EVACUATED_entry);
STGFUN(stg_FOREIGN_entry);
STGFUN(stg_WEAK_entry);
STGFUN(stg_NO_FINALIZER_entry);
STGFUN(stg_DEAD_WEAK_entry);
STGFUN(stg_STABLE_NAME_entry);
STGFUN(stg_TSO_entry);
STGFUN(stg_FULL_MVAR_entry);
STGFUN(stg_EMPTY_MVAR_entry);
STGFUN(stg_ARR_WORDS_entry);
STGFUN(stg_MUT_ARR_PTRS_entry);
STGFUN(stg_MUT_ARR_PTRS_FROZEN_entry);
STGFUN(stg_MUT_VAR_entry);
STGFUN(stg_END_TSO_QUEUE_entry);
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 metacircular interpreter */
STGFUN(mci_constr_entry);
STGFUN(mci_constr1_entry);
STGFUN(mci_constr2_entry);
STGFUN(mci_constr3_entry);
STGFUN(mci_constr4_entry);
STGFUN(mci_constr5_entry);
STGFUN(mci_constr6_entry);
STGFUN(mci_constr7_entry);
STGFUN(mci_constr8_entry);
STGFUN(stg_mci_constr_entry);
STGFUN(stg_mci_constr1_entry);
STGFUN(stg_mci_constr2_entry);
STGFUN(stg_mci_constr3_entry);
STGFUN(stg_mci_constr4_entry);
STGFUN(stg_mci_constr5_entry);
STGFUN(stg_mci_constr6_entry);
STGFUN(stg_mci_constr7_entry);
STGFUN(stg_mci_constr8_entry);
#endif
/* 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)
......@@ -77,65 +75,65 @@ STGFUN(mci_constr8_entry);
/* info tables */
extern DLL_IMPORT_RTS const StgInfoTable IND_info;
extern DLL_IMPORT_RTS const StgInfoTable IND_STATIC_info;
extern DLL_IMPORT_RTS const StgInfoTable IND_PERM_info;
extern DLL_IMPORT_RTS const StgInfoTable IND_OLDGEN_info;
extern DLL_IMPORT_RTS const StgInfoTable IND_OLDGEN_PERM_info;
extern DLL_IMPORT_RTS const StgInfoTable CAF_UNENTERED_info;
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;
extern DLL_IMPORT_RTS const StgInfoTable stg_IND_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_IND_STATIC_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_IND_PERM_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_IND_OLDGEN_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_IND_OLDGEN_PERM_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_CAF_UNENTERED_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_CAF_ENTERED_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_CAF_BLACKHOLE_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_BLACKHOLE_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_BLACKHOLE_BQ_info;
#ifdef SMP
extern DLL_IMPORT_RTS const StgInfoTable WHITEHOLE_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_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;
extern DLL_IMPORT_RTS const StgInfoTable stg_SE_BLACKHOLE_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_SE_CAF_BLACKHOLE_info;
#endif
#if defined(PAR) || defined(GRAN)
extern DLL_IMPORT_RTS const StgInfoTable RBH_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_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;
extern DLL_IMPORT_RTS const StgInfoTable WEAK_info;
extern DLL_IMPORT_RTS const StgInfoTable DEAD_WEAK_info;
extern DLL_IMPORT_RTS const StgInfoTable STABLE_NAME_info;
extern DLL_IMPORT_RTS const StgInfoTable FULL_MVAR_info;
extern DLL_IMPORT_RTS const StgInfoTable EMPTY_MVAR_info;
extern DLL_IMPORT_RTS const StgInfoTable TSO_info;
extern DLL_IMPORT_RTS const StgInfoTable ARR_WORDS_info;
extern DLL_IMPORT_RTS const StgInfoTable MUT_ARR_WORDS_info;
extern DLL_IMPORT_RTS const StgInfoTable MUT_ARR_PTRS_info;
extern DLL_IMPORT_RTS const StgInfoTable MUT_ARR_PTRS_FROZEN_info;
extern DLL_IMPORT_RTS const StgInfoTable MUT_VAR_info;
extern DLL_IMPORT_RTS const StgInfoTable END_TSO_QUEUE_info;
extern DLL_IMPORT_RTS const StgInfoTable MUT_CONS_info;
extern DLL_IMPORT_RTS const StgInfoTable END_MUT_LIST_info;
extern DLL_IMPORT_RTS const StgInfoTable catch_info;
extern DLL_IMPORT_RTS const StgInfoTable seq_info;
extern DLL_IMPORT_RTS const StgInfoTable dummy_ret_info;
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;
extern DLL_IMPORT_RTS const StgInfoTable stg_WEAK_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_DEAD_WEAK_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_STABLE_NAME_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_FULL_MVAR_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_EMPTY_MVAR_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_TSO_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_ARR_WORDS_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_MUT_ARR_WORDS_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_MUT_ARR_PTRS_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_MUT_ARR_PTRS_FROZEN_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_MUT_VAR_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_END_TSO_QUEUE_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_MUT_CONS_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_END_MUT_LIST_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_catch_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_seq_info;
extern DLL_IMPORT_RTS const StgInfoTable stg_dummy_ret_info;
#ifdef INTERPRETER
EXTFUN(Hugs_CONSTR_entry);
extern const vec_info_8 ret_bco_info;
extern const vec_info_8 stg_ret_bco_info;
#endif /* INTERPRETER */
/* closures */
extern DLL_IMPORT_RTS StgClosure END_TSO_QUEUE_closure;
extern DLL_IMPORT_RTS StgClosure END_MUT_LIST_closure;
extern DLL_IMPORT_RTS StgClosure NO_FINALIZER_closure;
extern DLL_IMPORT_RTS StgClosure dummy_ret_closure;
extern DLL_IMPORT_RTS StgClosure forceIO_closure;
extern DLL_IMPORT_RTS StgClosure stg_END_TSO_QUEUE_closure;
extern DLL_IMPORT_RTS StgClosure stg_END_MUT_LIST_closure;
extern DLL_IMPORT_RTS StgClosure stg_NO_FINALIZER_closure;
extern DLL_IMPORT_RTS StgClosure stg_dummy_ret_closure;
extern DLL_IMPORT_RTS StgClosure stg_forceIO_closure;
extern DLL_IMPORT_RTS StgIntCharlikeClosure CHARLIKE_closure[];
extern DLL_IMPORT_RTS StgIntCharlikeClosure INTLIKE_closure[];
extern DLL_IMPORT_RTS StgIntCharlikeClosure stg_CHARLIKE_closure[];
extern DLL_IMPORT_RTS StgIntCharlikeClosure stg_INTLIKE_closure[];
/* standard entry points */
......@@ -145,86 +143,86 @@ extern DLL_IMPORT_RTS StgIntCharlikeClosure INTLIKE_closure[];
/* standard selector thunks */
EXTINFO_RTS __sel_0_upd_info;
EXTINFO_RTS __sel_1_upd_info;
EXTINFO_RTS __sel_2_upd_info;
EXTINFO_RTS __sel_3_upd_info;
EXTINFO_RTS __sel_4_upd_info;
EXTINFO_RTS __sel_5_upd_info;
EXTINFO_RTS __sel_6_upd_info;
EXTINFO_RTS __sel_7_upd_info;
EXTINFO_RTS __sel_8_upd_info;
EXTINFO_RTS __sel_8_upd_info;
EXTINFO_RTS __sel_9_upd_info;
EXTINFO_RTS __sel_10_upd_info;
EXTINFO_RTS __sel_11_upd_info;
EXTINFO_RTS __sel_12_upd_info;
EXTINFO_RTS __sel_13_upd_info;
EXTINFO_RTS __sel_14_upd_info;
EXTINFO_RTS __sel_15_upd_info;
EXTINFO_RTS __sel_0_noupd_info;
EXTINFO_RTS __sel_1_noupd_info;
EXTINFO_RTS __sel_2_noupd_info;
EXTINFO_RTS __sel_3_noupd_info;
EXTINFO_RTS __sel_4_noupd_info;
EXTINFO_RTS __sel_5_noupd_info;
EXTINFO_RTS __sel_6_noupd_info;
EXTINFO_RTS __sel_7_noupd_info;
EXTINFO_RTS __sel_8_noupd_info;
EXTINFO_RTS __sel_9_noupd_info;
EXTINFO_RTS __sel_10_noupd_info;
EXTINFO_RTS __sel_11_noupd_info;
EXTINFO_RTS __sel_12_noupd_info;
EXTINFO_RTS __sel_13_noupd_info;
EXTINFO_RTS __sel_14_noupd_info;
EXTINFO_RTS __sel_15_noupd_info;
EXTINFO_RTS stg_sel_0_upd_info;
EXTINFO_RTS stg_sel_1_upd_info;
EXTINFO_RTS stg_sel_2_upd_info;
EXTINFO_RTS stg_sel_3_upd_info;
EXTINFO_RTS stg_sel_4_upd_info;
EXTINFO_RTS stg_sel_5_upd_info;
EXTINFO_RTS stg_sel_6_upd_info;
EXTINFO_RTS stg_sel_7_upd_info;
EXTINFO_RTS stg_sel_8_upd_info;
EXTINFO_RTS stg_sel_8_upd_info;
EXTINFO_RTS stg_sel_9_upd_info;
EXTINFO_RTS stg_sel_10_upd_info;
EXTINFO_RTS stg_sel_11_upd_info;
EXTINFO_RTS stg_sel_12_upd_info;
EXTINFO_RTS stg_sel_13_upd_info;
EXTINFO_RTS stg_sel_14_upd_info;
EXTINFO_RTS stg_sel_15_upd_info;
EXTINFO_RTS stg_sel_0_noupd_info;
EXTINFO_RTS stg_sel_1_noupd_info;
EXTINFO_RTS stg_sel_2_noupd_info;
EXTINFO_RTS stg_sel_3_noupd_info;
EXTINFO_RTS stg_sel_4_noupd_info;
EXTINFO_RTS stg_sel_5_noupd_info;
EXTINFO_RTS stg_sel_6_noupd_info;
EXTINFO_RTS stg_sel_7_noupd_info;
EXTINFO_RTS stg_sel_8_noupd_info;
EXTINFO_RTS stg_sel_9_noupd_info;
EXTINFO_RTS stg_sel_10_noupd_info;
EXTINFO_RTS stg_sel_11_noupd_info;
EXTINFO_RTS stg_sel_12_noupd_info;
EXTINFO_RTS stg_sel_13_noupd_info;
EXTINFO_RTS stg_sel_14_noupd_info;
EXTINFO_RTS stg_sel_15_noupd_info;
/* and their standard entry points -- KSW 1998-12 */
EXTFUN_RTS(__sel_0_upd_entry);
EXTFUN_RTS(__sel_1_upd_entry);
EXTFUN_RTS(__sel_2_upd_entry);
EXTFUN_RTS(__sel_3_upd_entry);
EXTFUN_RTS(__sel_4_upd_entry);
EXTFUN_RTS(__sel_5_upd_entry);
EXTFUN_RTS(__sel_6_upd_entry);
EXTFUN_RTS(__sel_7_upd_entry);
EXTFUN_RTS(__sel_8_upd_entry);
EXTFUN_RTS(__sel_8_upd_entry);
EXTFUN_RTS(__sel_9_upd_entry);
EXTFUN_RTS(__sel_10_upd_entry);
EXTFUN_RTS(__sel_11_upd_entry);
EXTFUN_RTS(__sel_12_upd_entry);
EXTFUN_RTS(__sel_13_upd_entry);
EXTFUN_RTS(__sel_14_upd_entry);
EXTFUN_RTS(__sel_15_upd_entry);
EXTFUN_RTS(__sel_0_noupd_entry);
EXTFUN_RTS(__sel_1_noupd_entry);
EXTFUN_RTS(__sel_2_noupd_entry);
EXTFUN_RTS(__sel_3_noupd_entry);
EXTFUN_RTS(__sel_4_noupd_entry);
EXTFUN_RTS(__sel_5_noupd_entry);
EXTFUN_RTS(__sel_6_noupd_entry);
EXTFUN_RTS(__sel_7_noupd_entry);
EXTFUN_RTS(__sel_8_noupd_entry);
EXTFUN_RTS(__sel_9_noupd_entry);
EXTFUN_RTS(__sel_10_noupd_entry);
EXTFUN_RTS(__sel_11_noupd_entry);
EXTFUN_RTS(__sel_12_noupd_entry);
EXTFUN_RTS(__sel_13_noupd_entry);
EXTFUN_RTS(__sel_14_noupd_entry);
EXTFUN_RTS(__sel_15_noupd_entry);
EXTFUN_RTS(stg_sel_0_upd_entry);
EXTFUN_RTS(stg_sel_1_upd_entry);
EXTFUN_RTS(stg_sel_2_upd_entry);
EXTFUN_RTS(stg_sel_3_upd_entry);
EXTFUN_RTS(stg_sel_4_upd_entry);
EXTFUN_RTS(stg_sel_5_upd_entry);
EXTFUN_RTS(stg_sel_6_upd_entry);
EXTFUN_RTS(stg_sel_7_upd_entry);
EXTFUN_RTS(stg_sel_8_upd_entry);
EXTFUN_RTS(stg_sel_8_upd_entry);
EXTFUN_RTS(stg_sel_9_upd_entry);
EXTFUN_RTS(stg_sel_10_upd_entry);
EXTFUN_RTS(stg_sel_11_upd_entry);
EXTFUN_RTS(stg_sel_12_upd_entry);
EXTFUN_RTS(stg_sel_13_upd_entry);
EXTFUN_RTS(stg_sel_14_upd_entry);
EXTFUN_RTS(stg_sel_15_upd_entry);
EXTFUN_RTS(stg_sel_0_noupd_entry);
EXTFUN_RTS(stg_sel_1_noupd_entry);
EXTFUN_RTS(stg_sel_2_noupd_entry);
EXTFUN_RTS(stg_sel_3_noupd_entry);
EXTFUN_RTS(stg_sel_4_noupd_entry);
EXTFUN_RTS(stg_sel_5_noupd_entry);
EXTFUN_RTS(stg_sel_6_noupd_entry);
EXTFUN_RTS(stg_sel_7_noupd_entry);
EXTFUN_RTS(stg_sel_8_noupd_entry);
EXTFUN_RTS(stg_sel_9_noupd_entry);
EXTFUN_RTS(stg_sel_10_noupd_entry);
EXTFUN_RTS(stg_sel_11_noupd_entry);
EXTFUN_RTS(stg_sel_12_noupd_entry);
EXTFUN_RTS(stg_sel_13_noupd_entry);
EXTFUN_RTS(stg_sel_14_noupd_entry);
EXTFUN_RTS(stg_sel_15_noupd_entry);
/* standard ap thunks */
EXTINFO_RTS __ap_1_upd_info;
EXTINFO_RTS __ap_2_upd_info;
EXTINFO_RTS __ap_3_upd_info;
EXTINFO_RTS __ap_4_upd_info;
EXTINFO_RTS __ap_5_upd_info;
EXTINFO_RTS __ap_6_upd_info;
EXTINFO_RTS __ap_7_upd_info;
EXTINFO_RTS __ap_8_upd_info;
EXTINFO_RTS stg_ap_1_upd_info;
EXTINFO_RTS stg_ap_2_upd_info;
EXTINFO_RTS stg_ap_3_upd_info;
EXTINFO_RTS stg_ap_4_upd_info;
EXTINFO_RTS stg_ap_5_upd_info;
EXTINFO_RTS stg_ap_6_upd_info;
EXTINFO_RTS stg_ap_7_upd_info;
EXTINFO_RTS stg_ap_8_upd_info;
/* -----------------------------------------------------------------------------
* $Id: Updates.h,v 1.19 2000/11/07 10:42:56 simonmar Exp $
* $Id: Updates.h,v 1.20 2000/11/13 14:40:36 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
......@@ -123,8 +123,8 @@ extern void awakenBlockedQueue(StgBlockingQueueElement *q, StgClosure *node);
#define DO_AWAKEN_BQ(bqe, node) STGCALL2(awakenBlockedQueue, bqe, node);
#define AWAKEN_BQ(info,closure) \
if (info == &BLACKHOLE_BQ_info || \
info == &FETCH_ME_BQ_info || \
if (info == &stg_BLACKHOLE_BQ_info || \
info == &stg_FETCH_ME_BQ_info || \