diff --git a/src/mzscheme/gc2/vm_memalign.c b/src/mzscheme/gc2/vm_memalign.c index ce05544f21..5f8f074305 100644 --- a/src/mzscheme/gc2/vm_memalign.c +++ b/src/mzscheme/gc2/vm_memalign.c @@ -24,7 +24,7 @@ static int page_size; /* OS page size */ -static void *malloc_pages(size_t len, size_t alignment) +static void *malloc_dirty_pages(size_t len, size_t alignment) { void *r; size_t extra = 0; @@ -52,6 +52,14 @@ static void *malloc_pages(size_t len, size_t alignment) return r; } +static void *malloc_pages(size_t len, size_t alignment) +{ + void *p; + p = malloc_dirty_pages(len, alignment); + memset(p, 0, len); + return p; +} + static void system_free_pages(void *p, size_t len) { free(p); diff --git a/src/mzscheme/gc2/vm_mmap.c b/src/mzscheme/gc2/vm_mmap.c index 9f704724c0..42abfd2177 100644 --- a/src/mzscheme/gc2/vm_mmap.c +++ b/src/mzscheme/gc2/vm_mmap.c @@ -116,6 +116,8 @@ static void *malloc_pages(size_t len, size_t alignment) return r; } +#define malloc_dirty_pages(size,align) malloc_pages(size,align) + static void system_free_pages(void *p, size_t len) { if (munmap(p, len)) { diff --git a/src/mzscheme/gc2/vm_osk.c b/src/mzscheme/gc2/vm_osk.c index 972efc6bcd..eb81df335e 100644 --- a/src/mzscheme/gc2/vm_osk.c +++ b/src/mzscheme/gc2/vm_osk.c @@ -24,14 +24,13 @@ # define CHECK_USED_AGAINST_MAX(x) /* empty */ #endif -inline static void *malloc_pages(size_t len, size_t alignment) +inline static void *malloc_dirty_pages(size_t len, size_t alignment) { void *p; CHECK_USED_AGAINST_MAX(len); p = smemalign(alignment, len); - memset(p, 0, len); ACTUALLY_ALLOCATING_PAGES(len); LOGICALLY_ALLOCATING_PAGES(len); @@ -39,6 +38,14 @@ inline static void *malloc_pages(size_t len, size_t alignment) return p; } +inline static void *malloc_pages(size_t len, size_t alignment) +{ + void *p; + p = malloc_dirty_pages(len, alignment); + memset(p, 0, len); + return p; +} + static void free_pages(void *p, size_t len) { free_used_pages(len); diff --git a/src/mzscheme/gc2/vm_win.c b/src/mzscheme/gc2/vm_win.c index a9de82e3c9..d4fe891ddd 100644 --- a/src/mzscheme/gc2/vm_win.c +++ b/src/mzscheme/gc2/vm_win.c @@ -67,6 +67,8 @@ static void *malloc_pages(size_t len, size_t alignment) PAGE_READWRITE); } +#define malloc_dirty_pages(size,align) malloc_pages(size,align) + static void free_pages(void *p, size_t len) { LOGICALLY_FREEING_PAGES(len);