/* -----------------------------------------------------------------------------
- * $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.
*
* ------------------------------------------------------------------------*/
extern AsmVar asmClosure ( AsmBCO bco, AsmObject p );
+extern AsmVar asmGHCClosure ( AsmBCO bco, AsmObject p );
extern AsmVar asmAllocCONSTR ( AsmBCO bco, AsmInfo info );
/* ----------------------------------------------------------------------------
- * $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
*
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);
/* -----------------------------------------------------------------------------
- * $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
*
#ifdef INTERPRETER
EXTFUN(Hugs_CONSTR_entry);
-extern const StgInfoTable ret_bco_info;
+
+extern const vec_info_8 ret_bco_info;
#endif /* INTERPRETER */