From 295d160e017edce29b3dccfa7bb7a9e5d9434b26 Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Fri, 17 Jun 2016 09:33:33 -0400 Subject: [PATCH] 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 --- src/runtime/malloc.go | 2 +- src/runtime/mheap.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 { -- 2.48.1