diff options
| author | Martin Möhrmann <martisch@uos.de> | 2016-04-20 18:00:52 +0200 |
|---|---|---|
| committer | Martin Möhrmann <martisch@uos.de> | 2016-04-21 04:15:14 +0000 |
| commit | 7e460e70d90295cf08ea627c0a0fff170aba5518 (patch) | |
| tree | 937e0ef584bd4a056fe1407c9cf88ece46db8cf7 /src/runtime | |
| parent | 4938d7b5fc06bbd137619eddd494a8cca288eb25 (diff) | |
| download | go-7e460e70d90295cf08ea627c0a0fff170aba5518.tar.xz | |
runtime: use type int to specify size for newarray
Consistently use type int for the size argument of
runtime.newarray, runtime.reflect_unsafe_NewArray
and reflect.unsafe_NewArray.
Change-Id: Ic77bf2dde216c92ca8c49462f8eedc0385b6314e
Reviewed-on: https://go-review.googlesource.com/22311
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: Martin Möhrmann <martisch@uos.de>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/runtime')
| -rw-r--r-- | src/runtime/chan.go | 2 | ||||
| -rw-r--r-- | src/runtime/hashmap.go | 4 | ||||
| -rw-r--r-- | src/runtime/malloc.go | 10 |
3 files changed, 8 insertions, 8 deletions
diff --git a/src/runtime/chan.go b/src/runtime/chan.go index 3fb0236785..712ad8cef9 100644 --- a/src/runtime/chan.go +++ b/src/runtime/chan.go @@ -84,7 +84,7 @@ func makechan(t *chantype, size int64) *hchan { } } else { c = new(hchan) - c.buf = newarray(elem, uintptr(size)) + c.buf = newarray(elem, int(size)) } c.elemsize = uint16(elem.size) c.elemtype = elem diff --git a/src/runtime/hashmap.go b/src/runtime/hashmap.go index ff59faab5d..509cab2f0f 100644 --- a/src/runtime/hashmap.go +++ b/src/runtime/hashmap.go @@ -246,7 +246,7 @@ func makemap(t *maptype, hint int64, h *hmap, bucket unsafe.Pointer) *hmap { // If hint is large zeroing this memory could take a while. buckets := bucket if B != 0 { - buckets = newarray(t.bucket, uintptr(1)<<B) + buckets = newarray(t.bucket, 1<<B) } // initialize Hmap @@ -821,7 +821,7 @@ func hashGrow(t *maptype, h *hmap) { throw("evacuation not done in time") } oldbuckets := h.buckets - newbuckets := newarray(t.bucket, uintptr(1)<<(h.B+1)) + newbuckets := newarray(t.bucket, 1<<(h.B+1)) flags := h.flags &^ (iterator | oldIterator) if h.flags&iterator != 0 { flags |= oldIterator diff --git a/src/runtime/malloc.go b/src/runtime/malloc.go index 95d24a467a..30f2a4fca5 100644 --- a/src/runtime/malloc.go +++ b/src/runtime/malloc.go @@ -770,16 +770,16 @@ func reflect_unsafe_New(typ *_type) unsafe.Pointer { return newobject(typ) } -// implementation of make builtin for slices -func newarray(typ *_type, n uintptr) unsafe.Pointer { - if int(n) < 0 || n > maxSliceCap(typ.size) { +// newarray allocates an array of n elements of type typ. +func newarray(typ *_type, n int) unsafe.Pointer { + if n < 0 || uintptr(n) > maxSliceCap(typ.size) { panic(plainError("runtime: allocation size out of range")) } - return mallocgc(typ.size*n, typ, true) + return mallocgc(typ.size*uintptr(n), typ, true) } //go:linkname reflect_unsafe_NewArray reflect.unsafe_NewArray -func reflect_unsafe_NewArray(typ *_type, n uintptr) unsafe.Pointer { +func reflect_unsafe_NewArray(typ *_type, n int) unsafe.Pointer { return newarray(typ, n) } |
