aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/export_test.go
diff options
context:
space:
mode:
authorMichael Anthony Knyszek <mknyszek@google.com>2020-09-16 17:08:55 +0000
committerMichael Knyszek <mknyszek@google.com>2020-09-16 17:36:58 +0000
commit10dfb1dd3d1d26122cf18f29468ec17eb7222c3f (patch)
tree4807314ba1e6321c2e97574fb62e4a106c99fb75 /src/runtime/export_test.go
parent37f261010f837f945eaa2d33d90cd822b4e93459 (diff)
downloadgo-10dfb1dd3d1d26122cf18f29468ec17eb7222c3f.tar.gz
go-10dfb1dd3d1d26122cf18f29468ec17eb7222c3f.zip
runtime: actually fix locking in BenchmarkMSpanCountAlloc
I just submitted CL 255297 which mostly fixed this problem, but totally forgot to actually acquire/release the heap lock. Oops. Updates #41391. Change-Id: I45b42f20a9fc765c4de52476db3654d4bfe9feb3 Reviewed-on: https://go-review.googlesource.com/c/go/+/255298 Trust: Michael Knyszek <mknyszek@google.com> Run-TryBot: Michael Knyszek <mknyszek@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Go Bot <gobot@golang.org>
Diffstat (limited to 'src/runtime/export_test.go')
-rw-r--r--src/runtime/export_test.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/runtime/export_test.go b/src/runtime/export_test.go
index e3d6441c18..f2fa11dc98 100644
--- a/src/runtime/export_test.go
+++ b/src/runtime/export_test.go
@@ -991,7 +991,9 @@ type MSpan mspan
func AllocMSpan() *MSpan {
var s *mspan
systemstack(func() {
+ lock(&mheap_.lock)
s = (*mspan)(mheap_.spanalloc.alloc())
+ unlock(&mheap_.lock)
})
return (*MSpan)(s)
}
@@ -999,7 +1001,9 @@ func AllocMSpan() *MSpan {
// Free an allocated mspan.
func FreeMSpan(s *MSpan) {
systemstack(func() {
+ lock(&mheap_.lock)
mheap_.spanalloc.free(unsafe.Pointer(s))
+ unlock(&mheap_.lock)
})
}