mirror of https://go.googlesource.com/go
22 lines
447 B
Go
22 lines
447 B
Go
// Copyright 2010 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package runtime
|
|
|
|
import "unsafe"
|
|
|
|
func sbrk(n uintptr) unsafe.Pointer {
|
|
// Plan 9 sbrk from /sys/src/libc/9sys/sbrk.c
|
|
bl := bloc
|
|
n = memRound(n)
|
|
if bl+n > blocMax {
|
|
if brk_(unsafe.Pointer(bl+n)) < 0 {
|
|
return nil
|
|
}
|
|
blocMax = bl + n
|
|
}
|
|
bloc += n
|
|
return unsafe.Pointer(bl)
|
|
}
|