From: Dmitriy Vyukov Date: Thu, 13 Jun 2013 12:02:50 +0000 (+0400) Subject: runtime: use ROUND macro for rounding X-Git-Tag: go1.2rc2~1253 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=2ffaefd1618efda434e3176f9bff658fbe70b003;p=gostls13.git runtime: use ROUND macro for rounding R=golang-dev, minux.ma CC=golang-dev https://golang.org/cl/10256043 --- diff --git a/src/pkg/runtime/malloc.goc b/src/pkg/runtime/malloc.goc index f85a582bb8..12d326fe20 100644 --- a/src/pkg/runtime/malloc.goc +++ b/src/pkg/runtime/malloc.goc @@ -354,8 +354,7 @@ runtime·mallocinit(void) arena_size = MaxMem; bitmap_size = arena_size / (sizeof(void*)*8/4); spans_size = arena_size / PageSize * sizeof(runtime·mheap.spans[0]); - // round spans_size to pages - spans_size = (spans_size + ((1<arena_used + n - (uintptr)h->arena_end; - // Round wanted arena size to a multiple of 256MB. - needed = (needed + (256<<20) - 1) & ~((256<<20)-1); + needed = ROUND(needed, 256<<20); new_end = h->arena_end + needed; if(new_end <= h->arena_start + MaxArena32) { p = runtime·SysReserve(h->arena_end, new_end - h->arena_end); @@ -865,10 +862,9 @@ func SetFinalizer(obj Eface, finalizer Eface) { // compute size needed for return parameters for(i=0; iout.len; i++) { t = ((Type**)ft->out.array)[i]; - nret = (nret + t->align - 1) & ~(t->align - 1); - nret += t->size; + nret = ROUND(nret, t->align) + t->size; } - nret = (nret + sizeof(void*)-1) & ~(sizeof(void*)-1); + nret = ROUND(nret, sizeof(void*)); } if(!runtime·addfinalizer(obj.data, finalizer.data, nret)) {