X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=ghc%2Frts%2FMBlock.h;h=40461a0ef6fdd688a7825677e64a3a24d889ea5c;hb=9dcd9e93b312eaf4c2ffc73f0bf8e528909e8a5a;hp=8ca6c5115c158d7859a8a081d0280d5cd272430d;hpb=5ca4a0134475bbc790af6ce7d7517a97e877bff6;p=ghc-hetmet.git diff --git a/ghc/rts/MBlock.h b/ghc/rts/MBlock.h index 8ca6c51..40461a0 100644 --- a/ghc/rts/MBlock.h +++ b/ghc/rts/MBlock.h @@ -1,15 +1,16 @@ /* ----------------------------------------------------------------------------- - * $Id: MBlock.h,v 1.11 2001/12/10 01:28:00 sebc Exp $ + * $Id: MBlock.h,v 1.14 2002/05/14 08:15:49 matthewc Exp $ * * (c) The GHC Team, 1998-1999 * * MegaBlock Allocator interface. * * ---------------------------------------------------------------------------*/ - +#ifndef __MBLOCK_H__ +#define __MBLOCK_H__ extern lnat mblocks_allocated; -#ifdef ENABLE_WIN32_DLL_SUPPORT +#if defined(mingw32_TARGET_OS) extern int is_heap_alloced(const void* p); #endif @@ -30,10 +31,18 @@ extern void * getMBlocks(nat n); #define HEAP_BASE 0x50000000 #elif openbsd_TARGET_OS #define HEAP_BASE 0x50000000 + #elif linux_TARGET_OS +#if ia64_TARGET_ARCH +/* Shared libraries are in region 1, text in region 2, data in region 3. + * Stack is at the top of region 4. We use the bottom. + */ +#define HEAP_BASE (4L<<61) +#else /* Any ideas? */ #define HEAP_BASE 0x50000000 +#endif #elif solaris2_TARGET_OS /* guess */ @@ -63,3 +72,5 @@ extern void * getMBlocks(nat n); #error Dont know where to get memory from on this architecture /* ToDo: memory locations on other architectures */ #endif + +#endif