runtime: make mcache.local_cachealloc a uintptr

This field used to decrease with sweeps (and potentially go
negative). Now it is always zero or positive, so change it to a
uintptr so it meshes better with other memory stats.

Change-Id: I6a50a956ddc6077eeaf92011c51743cb69540a3c
Reviewed-on: https://go-review.googlesource.com/8899
Reviewed-by: Rick Hudson <rlh@golang.org>
diff --git a/src/runtime/malloc.go b/src/runtime/malloc.go
index 84a2ad7..4a2d3e3 100644
--- a/src/runtime/malloc.go
+++ b/src/runtime/malloc.go
@@ -623,7 +623,7 @@
 				}
 			}
 		}
-		c.local_cachealloc += intptr(size)
+		c.local_cachealloc += size
 	} else {
 		var s *mspan
 		shouldhelpgc = true
diff --git a/src/runtime/mcache.go b/src/runtime/mcache.go
index 14748a4..f012153 100644
--- a/src/runtime/mcache.go
+++ b/src/runtime/mcache.go
@@ -11,8 +11,8 @@
 type mcache struct {
 	// The following members are accessed on every malloc,
 	// so they are grouped here for better caching.
-	next_sample      int32  // trigger heap sample after allocating this many bytes
-	local_cachealloc intptr // bytes allocated from cache since last lock of heap
+	next_sample      int32   // trigger heap sample after allocating this many bytes
+	local_cachealloc uintptr // bytes allocated from cache since last lock of heap
 	// Allocator cache for tiny objects w/o pointers.
 	// See "Tiny allocator" comment in malloc.go.
 	tiny             unsafe.Pointer