Commit 489ff75a authored by Austin Clements's avatar Austin Clements

runtime: make Go and C mallocgc signatures match

Previously, the flags argument to mallocgc was an int in Go,
but a uint32 in C.  Change the Go type to use uint32 so these
agree.  The largest flag value is 2 (and of course no flag
values are negative), so this won't change anything on little
endian architectures, but it matters on big endian.

LGTM=rsc
R=khr, rsc
CC=golang-codereviews
https://golang.org/cl/169920043
parent b8022403
......@@ -43,7 +43,7 @@ var zerobase uintptr
// Allocate an object of size bytes.
// Small objects are allocated from the per-P cache's free lists.
// Large objects (> 32 kB) are allocated straight from the heap.
func mallocgc(size uintptr, typ *_type, flags int) unsafe.Pointer {
func mallocgc(size uintptr, typ *_type, flags uint32) unsafe.Pointer {
if size == 0 {
return unsafe.Pointer(&zerobase)
}
......@@ -346,7 +346,7 @@ marked:
// implementation of new builtin
func newobject(typ *_type) unsafe.Pointer {
flags := 0
flags := uint32(0)
if typ.kind&kindNoPointers != 0 {
flags |= flagNoScan
}
......@@ -355,7 +355,7 @@ func newobject(typ *_type) unsafe.Pointer {
// implementation of make builtin for slices
func newarray(typ *_type, n uintptr) unsafe.Pointer {
flags := 0
flags := uint32(0)
if typ.kind&kindNoPointers != 0 {
flags |= flagNoScan
}
......
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