From 518696f3a75744b8b79924b8bcd053123812a76d Mon Sep 17 00:00:00 2001 From: Araq Date: Wed, 15 Mar 2017 17:51:17 +0100 Subject: [PATCH] hotfix: allocator: don't set origSize to 0 --- lib/system/alloc.nim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/system/alloc.nim b/lib/system/alloc.nim index 768ca92f3..cde17bead 100644 --- a/lib/system/alloc.nim +++ b/lib/system/alloc.nim @@ -326,7 +326,7 @@ proc requestOsChunks(a: var MemRegion, size: int): PBigChunk = result, result.heapLink, result.origSize) when defined(memtracker): - trackLocation(addr result.origSize, sizeof(int)*2) + trackLocation(addr result.origSize, sizeof(int)) a.heapLink = result sysAssert((cast[ByteAddress](result) and PageMask) == 0, "requestOsChunks 1") @@ -447,7 +447,7 @@ proc splitChunk(a: var MemRegion, c: PBigChunk, size: int) = var rest = cast[PBigChunk](cast[ByteAddress](c) +% size) sysAssert(rest notin a.freeChunksList, "splitChunk") rest.size = c.size - size - rest.origSize = 0 # not used and size irrelevant + rest.origSize = rest.origSize and not 1 # not used track("rest.origSize", addr rest.origSize, sizeof(int)) rest.next = nil rest.prev = nil