diff options
author | Matthew Dempsky <mdempsky@google.com> | 2019-04-16 11:59:05 -0700 |
---|---|---|
committer | Matthew Dempsky <mdempsky@google.com> | 2019-04-16 19:10:38 +0000 |
commit | 13b7c04d3f15e5b3bc767057de148d8bf116dcf4 (patch) | |
tree | 7eca2b18c1ceffde8d9af05b70e56fb5fe42f1a5 /src/runtime/internal | |
parent | 644543dd6447b39800825f66411df06066baa84e (diff) | |
download | go-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.go | 5 |
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 |