X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FPrelude.h;h=a998dd2b2b788607d8f1b6d617c480f480fcb7f6;hb=aa698b4b602c576ba9fa3e1d3cd8523e9c2b1f99;hp=9a64fb214945f5ac57b8866327444832881d46e7;hpb=d3058014b75ef30cc1535dcc6abcf073b3170697;p=ghc-hetmet.git diff --git a/ghc/rts/Prelude.h b/ghc/rts/Prelude.h index 9a64fb2..a998dd2 100644 --- a/ghc/rts/Prelude.h +++ b/ghc/rts/Prelude.h @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- - * $Id: Prelude.h,v 1.9 2000/05/22 13:09:29 simonmar Exp $ + * $Id: Prelude.h,v 1.24 2003/07/10 08:02:29 simonpj Exp $ * - * (c) The GHC Team, 1998-2000 + * (c) The GHC Team, 1998-2001 * * Prelude identifiers that we sometimes need to refer to in the RTS. * @@ -11,131 +11,106 @@ #define PRELUDE_H /* Define canonical names so we can abstract away from the actual - * module these names are defined in. + * modules these names are defined in. */ -#ifndef INTERPRETER -extern DLL_IMPORT const StgClosure PrelBase_True_closure; -extern DLL_IMPORT const StgClosure PrelBase_False_closure; -extern DLL_IMPORT const StgClosure PrelPack_unpackCString_closure; -extern DLL_IMPORT const StgClosure PrelWeak_runFinalizzerBatch_closure; -extern const StgClosure PrelMain_mainIO_closure; - -extern DLL_IMPORT const StgClosure PrelException_stackOverflow_closure; -extern DLL_IMPORT const StgClosure PrelException_heapOverflow_closure; -extern DLL_IMPORT const StgClosure PrelException_PutFullMVar_closure; -extern DLL_IMPORT const StgClosure PrelException_BlockedOnDeadMVar_closure; -extern DLL_IMPORT const StgClosure PrelException_NonTermination_closure; - -extern DLL_IMPORT const StgInfoTable PrelBase_Czh_static_info; -extern DLL_IMPORT const StgInfoTable PrelBase_Izh_static_info; -extern DLL_IMPORT const StgInfoTable PrelFloat_Fzh_static_info; -extern DLL_IMPORT const StgInfoTable PrelFloat_Dzh_static_info; -extern DLL_IMPORT const StgInfoTable PrelAddr_Azh_static_info; -extern DLL_IMPORT const StgInfoTable PrelAddr_Wzh_static_info; -extern DLL_IMPORT const StgInfoTable PrelBase_Czh_con_info; -extern DLL_IMPORT const StgInfoTable PrelBase_Izh_con_info; -extern DLL_IMPORT const StgInfoTable PrelFloat_Fzh_con_info; -extern DLL_IMPORT const StgInfoTable PrelFloat_Dzh_con_info; -extern DLL_IMPORT const StgInfoTable PrelAddr_Azh_con_info; -extern DLL_IMPORT const StgInfoTable PrelAddr_Wzh_con_info; -extern DLL_IMPORT const StgInfoTable PrelAddr_I64zh_con_info; -extern DLL_IMPORT const StgInfoTable PrelAddr_W64zh_con_info; -extern DLL_IMPORT const StgInfoTable PrelStable_StablePtr_static_info; -extern DLL_IMPORT const StgInfoTable PrelStable_StablePtr_con_info; - -#define True_closure (&PrelBase_True_closure) -#define False_closure (&PrelBase_False_closure) -#define unpackCString_closure (&PrelPack_unpackCString_closure) -#define runFinalizerBatch_closure (&PrelWeak_runFinalizzerBatch_closure) -#define mainIO_closure (&PrelMain_mainIO_closure) - -#define stackOverflow_closure (&PrelException_stackOverflow_closure) -#define heapOverflow_closure (&PrelException_heapOverflow_closure) -#define PutFullMVar_closure (&PrelException_PutFullMVar_closure) -#define BlockedOnDeadMVar_closure (&PrelException_BlockedOnDeadMVar_closure) -#define NonTermination_closure (&PrelException_NonTermination_closure) - -#define Czh_static_info (&PrelBase_Czh_static_info) -#define Izh_static_info (&PrelBase_Izh_static_info) -#define Fzh_static_info (&PrelFloat_Fzh_static_info) -#define Dzh_static_info (&PrelFloat_Dzh_static_info) -#define Azh_static_info (&PrelAddr_Azh_static_info) -#define Wzh_static_info (&PrelAddr_Wzh_static_info) -#define Czh_con_info (&PrelBase_Czh_con_info) -#define Izh_con_info (&PrelBase_Izh_con_info) -#define Fzh_con_info (&PrelFloat_Fzh_con_info) -#define Dzh_con_info (&PrelFloat_Dzh_con_info) -#define Azh_con_info (&PrelAddr_Azh_con_info) -#define Wzh_con_info (&PrelAddr_Wzh_con_info) -#define W64zh_con_info (&PrelAddr_W64zh_con_info) -#define I64zh_con_info (&PrelAddr_I64zh_con_info) -#define StablePtr_static_info (&PrelStable_StablePtr_static_info) -#define StablePtr_con_info (&PrelStable_StablePtr_con_info) - -#else /* INTERPRETER */ - -/* We need indirections to the Prelude stuff, because we can't link - * these symbols statically. - */ -extern const StgClosure *ind_True_closure; -extern const StgClosure *ind_False_closure; -extern const StgClosure *ind_unpackCString_closure; -extern const StgClosure *ind_runFinalizerBatch_closure; - -extern const StgClosure *ind_stackOverflow_closure; -extern const StgClosure *ind_heapOverflow_closure; -extern const StgClosure *ind_PutFullMVar_closure; -extern const StgClosure *ind_BlockedOnDeadMVar_closure; -extern const StgClosure *ind_NonTermination_closure; - -extern const StgInfoTable *ind_Czh_static_info; -extern const StgInfoTable *ind_Izh_static_info; -extern const StgInfoTable *ind_Fzh_static_info; -extern const StgInfoTable *ind_Dzh_static_info; -extern const StgInfoTable *ind_Azh_static_info; -extern const StgInfoTable *ind_Wzh_static_info; -extern const StgInfoTable *ind_Czh_con_info; -extern const StgInfoTable *ind_Izh_con_info; -extern const StgInfoTable *ind_Fzh_con_info; -extern const StgInfoTable *ind_Dzh_con_info; -extern const StgInfoTable *ind_Azh_con_info; -extern const StgInfoTable *ind_Wzh_con_info; -extern const StgInfoTable *ind_I64zh_con_info; -extern const StgInfoTable *ind_W64zh_con_info; -extern const StgInfoTable *ind_StablePtr_static_info; -extern const StgInfoTable *ind_StablePtr_con_info; - -#define True_closure ind_True_closure -#define False_closure ind_False_closure -#define unpackCString_closure ind_unpackCString_closure -#define runFinalizerBatch_closure ind_runFinalizerBatch_closure; - -#define stackOverflow_closure ind_stackOverflow_closure -#define heapOverflow_closure ind_heapOverflow_closure -#define PutFullMVar_closure ind_PutFullMVar_closure -#define BlockedOnDeadMVar_closure ind_BlockedOnDeadMVar_closure -#define NonTermination_closure ind_NonTermination_closure - -#define Czh_static_info ind_Czh_static_info -#define Izh_static_info ind_Izh_static_info -#define Fzh_static_info ind_Fzh_static_info -#define Dzh_static_info ind_Dzh_static_info -#define Azh_static_info ind_Azh_static_info -#define Wzh_static_info ind_Wzh_static_info -#define Czh_con_info ind_Czh_con_info -#define Izh_con_info ind_Izh_con_info -#define Fzh_con_info ind_Fzh_con_info -#define Dzh_con_info ind_Dzh_con_info -#define Azh_con_info ind_Azh_con_info -#define Wzh_con_info ind_Wzh_con_info -#define W64zh_con_info ind_W64zh_con_info -#define I64zh_con_info ind_I64zh_con_info -#define StablePtr_static_info ind_StablePtr_static_info -#define StablePtr_con_info ind_StablePtr_con_info - -#endif - -void fixupRTStoPreludeRefs( void*(*)(char*) ); +extern DLL_IMPORT StgClosure GHCziBase_True_closure; +extern DLL_IMPORT StgClosure GHCziBase_False_closure; +extern DLL_IMPORT StgClosure GHCziPack_unpackCString_closure; +extern DLL_IMPORT StgClosure GHCziWeak_runFinalizzerBatch_closure; +extern StgClosure ZCMain_main_closure; +extern DLL_IMPORT StgClosure GHCziTopHandler_runIO_closure; +extern DLL_IMPORT StgClosure GHCziTopHandler_runNonIO_closure; + +extern DLL_IMPORT StgClosure GHCziIOBase_stackOverflow_closure; +extern DLL_IMPORT StgClosure GHCziIOBase_heapOverflow_closure; +extern DLL_IMPORT StgClosure GHCziIOBase_BlockedOnDeadMVar_closure; +extern DLL_IMPORT StgClosure GHCziIOBase_NonTermination_closure; +extern DLL_IMPORT StgClosure GHCziIOBase_Deadlock_closure; + +extern DLL_IMPORT const StgInfoTable GHCziBase_Czh_static_info; +extern DLL_IMPORT const StgInfoTable GHCziBase_Izh_static_info; +extern DLL_IMPORT const StgInfoTable GHCziFloat_Fzh_static_info; +extern DLL_IMPORT const StgInfoTable GHCziFloat_Dzh_static_info; +extern DLL_IMPORT const StgInfoTable Addr_Azh_static_info; +extern DLL_IMPORT const StgInfoTable GHCziPtr_Ptr_static_info; +extern DLL_IMPORT const StgInfoTable GHCziPtr_FunPtr_static_info; +extern DLL_IMPORT const StgInfoTable GHCziInt_I8zh_static_info; +extern DLL_IMPORT const StgInfoTable GHCziInt_I16zh_static_info; +extern DLL_IMPORT const StgInfoTable GHCziInt_I32zh_static_info; +extern DLL_IMPORT const StgInfoTable GHCziInt_I64zh_static_info; +extern DLL_IMPORT const StgInfoTable GHCziWord_Wzh_static_info; +extern DLL_IMPORT const StgInfoTable GHCziWord_W8zh_static_info; +extern DLL_IMPORT const StgInfoTable GHCziWord_W16zh_static_info; +extern DLL_IMPORT const StgInfoTable GHCziWord_W32zh_static_info; +extern DLL_IMPORT const StgInfoTable GHCziWord_W64zh_static_info; +extern DLL_IMPORT const StgInfoTable GHCziBase_Czh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziBase_Izh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziFloat_Fzh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziFloat_Dzh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziPtr_Ptr_con_info; +extern DLL_IMPORT const StgInfoTable GHCziPtr_FunPtr_con_info; +extern DLL_IMPORT const StgInfoTable Addr_Azh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziWord_Wzh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziInt_I8zh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziInt_I16zh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziInt_I32zh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziInt_I64zh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziWord_W8zh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziWord_W16zh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziWord_W32zh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziWord_W64zh_con_info; +extern DLL_IMPORT const StgInfoTable GHCziStable_StablePtr_static_info; +extern DLL_IMPORT const StgInfoTable GHCziStable_StablePtr_con_info; + +#define True_closure (&GHCziBase_True_closure) +#define False_closure (&GHCziBase_False_closure) +#define unpackCString_closure (&GHCziPack_unpackCString_closure) +#define runFinalizerBatch_closure (&GHCziWeak_runFinalizzerBatch_closure) +#define mainIO_closure (&ZCMain_main_closure) +#define runIO_closure (&GHCziTopHandler_runIO_closure) +#define runNonIO_closure (&GHCziTopHandler_runNonIO_closure) + +#define stackOverflow_closure (&GHCziIOBase_stackOverflow_closure) +#define heapOverflow_closure (&GHCziIOBase_heapOverflow_closure) +#define BlockedOnDeadMVar_closure (&GHCziIOBase_BlockedOnDeadMVar_closure) +#define NonTermination_closure (&GHCziIOBase_NonTermination_closure) +#define Deadlock_closure (&GHCziIOBase_NonTermination_closure) + +#define Czh_static_info (&GHCziBase_Czh_static_info) +#define Fzh_static_info (&GHCziFloat_Fzh_static_info) +#define Dzh_static_info (&GHCziFloat_Dzh_static_info) +#define Azh_static_info (&Addr_Azh_static_info) +#define Izh_static_info (&GHCziBase_Izh_static_info) +#define I8zh_static_info (&GHCziInt_I8zh_static_info) +#define I16zh_static_info (&GHCziInt_I16zh_static_info) +#define I32zh_static_info (&GHCziInt_I32zh_static_info) +#define I64zh_static_info (&GHCziInt_I64zh_static_info) +#define Wzh_static_info (&GHCziWord_Wzh_static_info) +#define W8zh_static_info (&GHCziWord_W8zh_static_info) +#define W16zh_static_info (&GHCziWord_W16zh_static_info) +#define W32zh_static_info (&GHCziWord_W32zh_static_info) +#define W64zh_static_info (&GHCziWord_W64zh_static_info) +#define Ptr_static_info (&GHCziPtr_Ptr_static_info) +#define FunPtr_static_info (&GHCziPtr_FunPtr_static_info) +#define Czh_con_info (&GHCziBase_Czh_con_info) +#define Izh_con_info (&GHCziBase_Izh_con_info) +#define Fzh_con_info (&GHCziFloat_Fzh_con_info) +#define Dzh_con_info (&GHCziFloat_Dzh_con_info) +#define Azh_con_info (&Addr_Azh_con_info) +#define Wzh_con_info (&GHCziWord_Wzh_con_info) +#define W8zh_con_info (&GHCziWord_W8zh_con_info) +#define W16zh_con_info (&GHCziWord_W16zh_con_info) +#define W32zh_con_info (&GHCziWord_W32zh_con_info) +#define W64zh_con_info (&GHCziWord_W64zh_con_info) +#define I8zh_con_info (&GHCziInt_I8zh_con_info) +#define I16zh_con_info (&GHCziInt_I16zh_con_info) +#define I32zh_con_info (&GHCziInt_I32zh_con_info) +#define I64zh_con_info (&GHCziInt_I64zh_con_info) +#define I64zh_con_info (&GHCziInt_I64zh_con_info) +#define Ptr_con_info (&GHCziPtr_Ptr_con_info) +#define FunPtr_con_info (&GHCziPtr_FunPtr_con_info) +#define StablePtr_static_info (&GHCziStable_StablePtr_static_info) +#define StablePtr_con_info (&GHCziStable_StablePtr_con_info) #endif /* PRELUDE_H */