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