]> Cypherpunks repositories - gostls13.git/commitdiff
runtime/internal/atomic: fix s390x's StorepNoWB implementation
authorMatthew Dempsky <mdempsky@google.com>
Tue, 16 Apr 2019 18:59:05 +0000 (11:59 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Tue, 16 Apr 2019 19:10:38 +0000 (19:10 +0000)
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>

src/runtime/internal/atomic/atomic_s390x.go

index ec294a27ba0736fa35b93b0939b15a0b3c3365da..2ffbec0b3fddd633f72f7a20c6aacb686b4ccc52 100644 (file)
@@ -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