From: Austin Clements Date: Fri, 17 Jun 2016 13:33:33 +0000 (-0400) Subject: runtime: make _TinySizeClass an int8 to prevent use as spanClass X-Git-Tag: go1.9beta1~389 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=295d160e017edce29b3dccfa7bb7a9e5d9434b26;p=gostls13.git runtime: make _TinySizeClass an int8 to prevent use as spanClass Currently _TinySizeClass is untyped, which means it can accidentally be used as a spanClass (not that I would know this from experience or anything). Make it an int8 to avoid this mix up. This is a cherry-pick of dev.garbage commit 81b74bf9c5. Change-Id: I1e69eccee436ea5aa45e9a9828a013e369e03f1a Reviewed-on: https://go-review.googlesource.com/41254 Run-TryBot: Austin Clements TryBot-Result: Gobot Gobot Reviewed-by: Rick Hudson --- diff --git a/src/runtime/malloc.go b/src/runtime/malloc.go index ea0d585ed9..3a533d9100 100644 --- a/src/runtime/malloc.go +++ b/src/runtime/malloc.go @@ -111,7 +111,7 @@ const ( // Tiny allocator parameters, see "Tiny allocator" comment in malloc.go. _TinySize = 16 - _TinySizeClass = 2 + _TinySizeClass = int8(2) _FixAllocChunk = 16 << 10 // Chunk size for FixAlloc _MaxMHeapList = 1 << (20 - _PageShift) // Maximum page length for fixed-size list in MHeap. diff --git a/src/runtime/mheap.go b/src/runtime/mheap.go index f237ec26aa..a61ea5420c 100644 --- a/src/runtime/mheap.go +++ b/src/runtime/mheap.go @@ -326,7 +326,7 @@ type spanClass uint8 const ( numSpanClasses = _NumSizeClasses << 1 - tinySpanClass = tinySizeClass<<1 | 1 + tinySpanClass = spanClass(tinySizeClass<<1 | 1) ) func makeSpanClass(sizeclass uint8, noscan bool) spanClass {