aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/internal
diff options
context:
space:
mode:
authorMatthew Dempsky <mdempsky@google.com>2019-04-16 11:59:05 -0700
committerMatthew Dempsky <mdempsky@google.com>2019-04-16 19:10:38 +0000
commit13b7c04d3f15e5b3bc767057de148d8bf116dcf4 (patch)
tree7eca2b18c1ceffde8d9af05b70e56fb5fe42f1a5 /src/runtime/internal
parent644543dd6447b39800825f66411df06066baa84e (diff)
downloadgo-13b7c04d3f15e5b3bc767057de148d8bf116dcf4.tar.gz
go-13b7c04d3f15e5b3bc767057de148d8bf116dcf4.zip
runtime/internal/atomic: fix s390x's StorepNoWB implementation
Same as CL 170323, but for s390x instead of wasm. Fixes #31495. Change-Id: Ie39f649f5e33690375a8bcb1bc3b92d912ca4398 Reviewed-on: https://go-review.googlesource.com/c/go/+/172417 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/runtime/internal')
-rw-r--r--src/runtime/internal/atomic/atomic_s390x.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/runtime/internal/atomic/atomic_s390x.go b/src/runtime/internal/atomic/atomic_s390x.go
index ec294a27ba..2ffbec0b3f 100644
--- a/src/runtime/internal/atomic/atomic_s390x.go
+++ b/src/runtime/internal/atomic/atomic_s390x.go
@@ -42,11 +42,14 @@ func Store64(ptr *uint64, val uint64) {
*ptr = val
}
+//go:notinheap
+type noWB struct{}
+
// NO go:noescape annotation; see atomic_pointer.go.
//go:noinline
//go:nosplit
func StorepNoWB(ptr unsafe.Pointer, val unsafe.Pointer) {
- *(*uintptr)(ptr) = uintptr(val)
+ *(**noWB)(ptr) = (*noWB)(val)
}
//go:noinline