Commit 7e460e70 authored by Martin Möhrmann's avatar Martin Möhrmann Committed by Martin Möhrmann

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/22311Reviewed-by: 's avatarKeith Randall <khr@golang.org>
Run-TryBot: Martin Möhrmann <martisch@uos.de>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 4938d7b5
...@@ -84,7 +84,7 @@ func makechan(t *chantype, size int64) *hchan { ...@@ -84,7 +84,7 @@ func makechan(t *chantype, size int64) *hchan {
} }
} else { } else {
c = new(hchan) c = new(hchan)
c.buf = newarray(elem, uintptr(size)) c.buf = newarray(elem, int(size))
} }
c.elemsize = uint16(elem.size) c.elemsize = uint16(elem.size)
c.elemtype = elem c.elemtype = elem
......
...@@ -246,7 +246,7 @@ func makemap(t *maptype, hint int64, h *hmap, bucket unsafe.Pointer) *hmap { ...@@ -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. // If hint is large zeroing this memory could take a while.
buckets := bucket buckets := bucket
if B != 0 { if B != 0 {
buckets = newarray(t.bucket, uintptr(1)<<B) buckets = newarray(t.bucket, 1<<B)
} }
// initialize Hmap // initialize Hmap
...@@ -821,7 +821,7 @@ func hashGrow(t *maptype, h *hmap) { ...@@ -821,7 +821,7 @@ func hashGrow(t *maptype, h *hmap) {
throw("evacuation not done in time") throw("evacuation not done in time")
} }
oldbuckets := h.buckets 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) flags := h.flags &^ (iterator | oldIterator)
if h.flags&iterator != 0 { if h.flags&iterator != 0 {
flags |= oldIterator flags |= oldIterator
......
...@@ -770,16 +770,16 @@ func reflect_unsafe_New(typ *_type) unsafe.Pointer { ...@@ -770,16 +770,16 @@ func reflect_unsafe_New(typ *_type) unsafe.Pointer {
return newobject(typ) return newobject(typ)
} }
// implementation of make builtin for slices // newarray allocates an array of n elements of type typ.
func newarray(typ *_type, n uintptr) unsafe.Pointer { func newarray(typ *_type, n int) unsafe.Pointer {
if int(n) < 0 || n > maxSliceCap(typ.size) { if n < 0 || uintptr(n) > maxSliceCap(typ.size) {
panic(plainError("runtime: allocation size out of range")) 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 //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) return newarray(typ, n)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment