diff options
author | Ian Lance Taylor <iant@golang.org> | 2019-09-06 18:12:46 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-09-06 18:12:46 +0000 |
commit | aa8901e9bb0399d2c16f988ba2fe46eb0c0c5d13 (patch) | |
tree | 7e63b06d1eec92beec6997c9d3ab47a5d6a835be /libgo/go/runtime/mcache.go | |
parent | 920ea3b8ba3164b61ac9490dfdfceb6936eda6dd (diff) | |
download | gcc-aa8901e9bb0399d2c16f988ba2fe46eb0c0c5d13.zip gcc-aa8901e9bb0399d2c16f988ba2fe46eb0c0c5d13.tar.gz gcc-aa8901e9bb0399d2c16f988ba2fe46eb0c0c5d13.tar.bz2 |
libgo: update to Go 1.13beta1 release
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/193497
From-SVN: r275473
Diffstat (limited to 'libgo/go/runtime/mcache.go')
-rw-r--r-- | libgo/go/runtime/mcache.go | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libgo/go/runtime/mcache.go b/libgo/go/runtime/mcache.go index 2045158..ca92682 100644 --- a/libgo/go/runtime/mcache.go +++ b/libgo/go/runtime/mcache.go @@ -76,10 +76,13 @@ func (p gclinkptr) ptr() *gclink { var emptymspan mspan func allocmcache() *mcache { - lock(&mheap_.lock) - c := (*mcache)(mheap_.cachealloc.alloc()) - c.flushGen = mheap_.sweepgen - unlock(&mheap_.lock) + var c *mcache + systemstack(func() { + lock(&mheap_.lock) + c = (*mcache)(mheap_.cachealloc.alloc()) + c.flushGen = mheap_.sweepgen + unlock(&mheap_.lock) + }) for i := range c.alloc { c.alloc[i] = &emptymspan } |