mirror of
https://github.com/golang/go
synced 2024-11-19 04:24:39 -07:00
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
This commit is contained in:
parent
b802240300
commit
489ff75ab8
@ -43,7 +43,7 @@ var zerobase uintptr
|
|||||||
// Allocate an object of size bytes.
|
// Allocate an object of size bytes.
|
||||||
// Small objects are allocated from the per-P cache's free lists.
|
// Small objects are allocated from the per-P cache's free lists.
|
||||||
// Large objects (> 32 kB) are allocated straight from the heap.
|
// 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 {
|
if size == 0 {
|
||||||
return unsafe.Pointer(&zerobase)
|
return unsafe.Pointer(&zerobase)
|
||||||
}
|
}
|
||||||
@ -346,7 +346,7 @@ marked:
|
|||||||
|
|
||||||
// implementation of new builtin
|
// implementation of new builtin
|
||||||
func newobject(typ *_type) unsafe.Pointer {
|
func newobject(typ *_type) unsafe.Pointer {
|
||||||
flags := 0
|
flags := uint32(0)
|
||||||
if typ.kind&kindNoPointers != 0 {
|
if typ.kind&kindNoPointers != 0 {
|
||||||
flags |= flagNoScan
|
flags |= flagNoScan
|
||||||
}
|
}
|
||||||
@ -355,7 +355,7 @@ func newobject(typ *_type) unsafe.Pointer {
|
|||||||
|
|
||||||
// implementation of make builtin for slices
|
// implementation of make builtin for slices
|
||||||
func newarray(typ *_type, n uintptr) unsafe.Pointer {
|
func newarray(typ *_type, n uintptr) unsafe.Pointer {
|
||||||
flags := 0
|
flags := uint32(0)
|
||||||
if typ.kind&kindNoPointers != 0 {
|
if typ.kind&kindNoPointers != 0 {
|
||||||
flags |= flagNoScan
|
flags |= flagNoScan
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user