Win64 patch 4/6 (resend)

Ge van Geldorp ge at gse.nl
Tue Jun 20 02:34:46 CDT 2006


Changelog:
  Ge van Geldorp <ge at gse.nl>
  - Make heap work for Win64

 dlls/ntdll/heap.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c
index 68a234b..4218b2d 100644
--- a/dlls/ntdll/heap.c
+++ b/dlls/ntdll/heap.c
@@ -84,7 +84,15 @@ #define QUIET                  1        
 #define NOISY                  0           /* Report all errors  */
 
 /* minimum data size (without arenas) of an allocated block */
+#ifdef _WIN64
+/* The size of the "entry" member in ARENA_FREE is 16 bytes on _WIN64. If we set
+   HEAP_MIN_DATA_SIZE to 16, it's possible that the FREE_LIST_ENTRYs themselves
+   would be used when a request for <= 16 bytes comes in. Setting the value
+   a bit higher prevents that */
+#define HEAP_MIN_DATA_SIZE    24
+#else /* _WIN64 */
 #define HEAP_MIN_DATA_SIZE    16
+#endif /* _WIN64 */
 /* minimum size that must remain to shrink an allocated block */
 #define HEAP_MIN_SHRINK_SIZE  (HEAP_MIN_DATA_SIZE+sizeof(ARENA_FREE))
 
-- 
1.4.0




More information about the wine-patches mailing list