[HEAP]
authorAleksey Bragin <aleksey@reactos.org>
Sun, 10 Oct 2010 11:16:55 +0000 (11:16 +0000)
committerAleksey Bragin <aleksey@reactos.org>
Sun, 10 Oct 2010 11:16:55 +0000 (11:16 +0000)
- Add 64 bit compatibility.

svn path=/trunk/; revision=49090

reactos/lib/rtl/heap.h

index b7e493b..81500d1 100644 (file)
 #define HEAP_SEGMENTS 64
 
 #define HEAP_ENTRY_SIZE ((ULONG)sizeof(HEAP_ENTRY))
+#ifdef _WIN64
+#define HEAP_ENTRY_SHIFT 4
+#else
 #define HEAP_ENTRY_SHIFT 3
+#endif
 #define HEAP_MAX_BLOCK_SIZE ((0x80000 - PAGE_SIZE) >> HEAP_ENTRY_SHIFT)
 
 #define ARENA_INUSE_FILLER     0xBAADF00D
@@ -106,7 +110,11 @@ typedef struct _HEAP_ENTRY
     struct _HEAP_COMMON_ENTRY;
 }  HEAP_ENTRY, *PHEAP_ENTRY;
 
+#ifdef _WIN64
+C_ASSERT(sizeof(HEAP_ENTRY) == 16);
+#else
 C_ASSERT(sizeof(HEAP_ENTRY) == 8);
+#endif
 C_ASSERT((1 << HEAP_ENTRY_SHIFT) == sizeof(HEAP_ENTRY));
 
 typedef struct _HEAP_TAG_ENTRY