diff --git a/ghc/includes/Assembler.h b/ghc/includes/Assembler.h index 913ec9eeb159c7709fcc222c697c9e42cdaad586..b7087129d0df53c2bb31cffd84967f5fb16d0d39 100644 --- a/ghc/includes/Assembler.h +++ b/ghc/includes/Assembler.h @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------------- - * $Id: Assembler.h,v 1.6 1999/04/27 10:07:22 sewardj Exp $ + * $Id: Assembler.h,v 1.7 1999/07/06 16:17:39 sewardj Exp $ * * (c) The GHC Team 1994-1998. * @@ -223,6 +223,7 @@ extern AsmBCO asm_BCO_seq ( void ); * ------------------------------------------------------------------------*/ extern AsmVar asmClosure ( AsmBCO bco, AsmObject p ); +extern AsmVar asmGHCClosure ( AsmBCO bco, AsmObject p ); extern AsmVar asmAllocCONSTR ( AsmBCO bco, AsmInfo info ); diff --git a/ghc/includes/ClosureMacros.h b/ghc/includes/ClosureMacros.h index 34b08c31bbfb0811d59539adf3e0567eee248914..07dfa09a572f9200d4137501575edb2524bb7c03 100644 --- a/ghc/includes/ClosureMacros.h +++ b/ghc/includes/ClosureMacros.h @@ -1,5 +1,5 @@ /* ---------------------------------------------------------------------------- - * $Id: ClosureMacros.h,v 1.17 1999/06/25 09:13:37 simonmar Exp $ + * $Id: ClosureMacros.h,v 1.18 1999/07/06 16:17:39 sewardj Exp $ * * (c) The GHC Team, 1998-1999 * @@ -102,9 +102,22 @@ extern StgFun start; extern void* TEXT_SECTION_END_MARKER_DECL; extern void* DATA_SECTION_END_MARKER_DECL; +#ifdef INTERPRETER +/* Take into account code sections in dynamically loaded object files. */ +#define IS_CODE_PTR(p) ( ((P_)(p) < (P_)&TEXT_SECTION_END_MARKER) \ + || is_dynamically_loaded_code_or_rodata_ptr(p) ) +#define IS_DATA_PTR(p) ( ((P_)(p) >= (P_)&TEXT_SECTION_END_MARKER && \ + (P_)(p) < (P_)&DATA_SECTION_END_MARKER) \ + || is_dynamically_loaded_rwdata_ptr(p) ) +#define IS_USER_PTR(p) ( ((P_)(p) >= (P_)&DATA_SECTION_END_MARKER) \ + && is_not_dynamically_loaded_ptr(p) ) +#else #define IS_CODE_PTR(p) ((P_)(p) < (P_)&TEXT_SECTION_END_MARKER) #define IS_DATA_PTR(p) ((P_)(p) >= (P_)&TEXT_SECTION_END_MARKER && (P_)(p) < (P_)&DATA_SECTION_END_MARKER) #define IS_USER_PTR(p) ((P_)(p) >= (P_)&DATA_SECTION_END_MARKER) +#endif + + #ifdef HAVE_WIN32_DLL_SUPPORT extern int is_heap_alloced(const void* x); diff --git a/ghc/includes/StgMiscClosures.h b/ghc/includes/StgMiscClosures.h index 94bf651dc69e4721cc749a55c2d3c4e2c0925448..c1ac9f078e5a732d924098682ad49b4c52ae8dcb 100644 --- a/ghc/includes/StgMiscClosures.h +++ b/ghc/includes/StgMiscClosures.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: StgMiscClosures.h,v 1.13 1999/05/21 14:46:21 sof Exp $ + * $Id: StgMiscClosures.h,v 1.14 1999/07/06 16:17:40 sewardj Exp $ * * (c) The GHC Team, 1998-1999 * @@ -87,7 +87,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 */