-#elif defined(ia64_TARGET_ARCH)
-/* Instead of trying to cover the whole 64-bit address space (which would
- * require a better data structure), we assume that mmap allocates mappings
- * from the bottom of region 1, and track some portion of address space from
- * there upwards (currently 4GB). */
-# define MBLOCK_MAP_SIZE 4096
-# define MBLOCK_MAP_ENTRY(p) (((StgWord)(p) - (1UL << 61)) >> MBLOCK_SHIFT)
-# define HEAP_ALLOCED(p) ((MBLOCK_MAP_ENTRY(p) < MBLOCK_MAP_SIZE) \
- && mblock_map[MBLOCK_MAP_ENTRY(p)])
-# define MARK_HEAP_ALLOCED(p) ((MBLOCK_MAP_ENTRY(p) < MBLOCK_MAP_SIZE) \
- && (mblock_map[MBLOCK_MAP_ENTRY(p)] = 1))
-
-#elif defined(x86_64_TARGET_ARCH)
-/* XXX: This is a HACK, and will not work in general! We just use the
- * lower 32 bits of the address, and do the same as for the 32-bit
- * version. As long as the OS gives us memory in a roughly linear
- * fashion, it won't go wrong until we've allocated 4G. */