From 0622e13b4daa6231dc0de9da6c7f45e29c0774da Mon Sep 17 00:00:00 2001 From: Dmitriy Vyukov Date: Wed, 9 Jul 2014 17:00:54 +0400 Subject: [PATCH] runtime: grow heap by 64K instead of 128K When we've switched to 8K pages, heap started to grow by 128K instead of 64K, because it was implicitly assuming that pages are 4K. Fix that and make the code more robust. LGTM=khr R=golang-codereviews, dave, khr CC=golang-codereviews, rsc https://golang.org/cl/106450044 --- src/pkg/runtime/mheap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pkg/runtime/mheap.c b/src/pkg/runtime/mheap.c index 961b32e504..2637eb5b00 100644 --- a/src/pkg/runtime/mheap.c +++ b/src/pkg/runtime/mheap.c @@ -310,8 +310,8 @@ MHeap_Grow(MHeap *h, uintptr npage) // Ask for a big chunk, to reduce the number of mappings // the operating system needs to track; also amortizes // the overhead of an operating system mapping. - // Allocate a multiple of 64kB (16 pages). - npage = (npage+15)&~15; + // Allocate a multiple of 64kB. + npage = ROUND(npage, (64<<10)/PageSize); ask = npage<