summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-12-20 14:30:03 -0500
committerBen Gamari <ben@smart-cactus.org>2022-12-20 14:30:32 -0500
commit5287266e0df91997947ddba7475a8aa7337ddda8 (patch)
tree8975889b4ca6f888e22c040e326eff8234fad76a
parent5e047effac9228f3bdddb66c9056e86621ccbec8 (diff)
downloadhaskell-wip/m32-debug.tar.gz
rts/m32: Fix sanity checkingwip/m32-debug
Previously we would attempt to clear pages which were marked as read-only. Fix this.
-rw-r--r--rts/linker/M32Alloc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/linker/M32Alloc.c b/rts/linker/M32Alloc.c
index 6ad316e164..17d3d12459 100644
--- a/rts/linker/M32Alloc.c
+++ b/rts/linker/M32Alloc.c
@@ -286,13 +286,13 @@ m32_release_page(struct m32_page_t *page)
const size_t pgsz = getPageSize();
ssize_t sz = page->filled_page.size;
- IF_DEBUG(sanity, memset(page, 0xaa, sz));
// Break the page, which may be a large multi-page allocation, into
// individual pages for the page pool
while (sz > 0) {
if (m32_free_page_pool_size < M32_MAX_FREE_PAGE_POOL_SIZE) {
mprotectForLinker(page, pgsz, MEM_READ_WRITE);
+ IF_DEBUG(sanity, memset(page, 0xaa, pgsz));
SET_PAGE_TYPE(page, FREE_PAGE);
page->free_page.next = m32_free_page_pool;
m32_free_page_pool = page;