]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: make Go and C mallocgc signatures match
authorAustin Clements <austin@google.com>
Mon, 3 Nov 2014 18:26:46 +0000 (13:26 -0500)
committerAustin Clements <austin@google.com>
Mon, 3 Nov 2014 18:26:46 +0000 (13:26 -0500)
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

src/runtime/malloc.go

index 9b4264f2b3daccedeb5ba3eeef3578b90ab24a77..8cf1c3d342664269703fe0fdc727851cddc308b0 100644 (file)
@@ -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
        }