From: Simon Marlow Date: Thu, 9 Sep 2010 11:08:05 +0000 (+0000) Subject: newAlignedPinnedByteArray#: avoid allocating an extra word sometimes X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=9fdce342ee41c788a1dfe76fc81707367f2e7675 newAlignedPinnedByteArray#: avoid allocating an extra word sometimes --- diff --git a/rts/PrimOps.cmm b/rts/PrimOps.cmm index 3c7dbdd..1cc9544 100644 --- a/rts/PrimOps.cmm +++ b/rts/PrimOps.cmm @@ -109,6 +109,11 @@ stg_newAlignedPinnedByteArrayzh n = R1; alignment = R2; + /* we always supply at least word-aligned memory, so there's no + need to allow extra space for alignment if the requirement is less + than a word. This also prevents mischief with alignment == 0. */ + if (alignment <= SIZEOF_W) { alignment = 1; } + bytes = n; /* payload_words is what we will tell the profiler we had to allocate */