]> Cypherpunks repositories - gostls13.git/commit
runtime: implement StorepNoWB for wasm in assembly
authorKeith Randall <khr@golang.org>
Sun, 23 Aug 2020 18:52:53 +0000 (11:52 -0700)
committerKeith Randall <khr@golang.org>
Sun, 23 Aug 2020 20:18:56 +0000 (20:18 +0000)
commitc0602603b20186228b4f89f265cb3f7665e06768
tree38a3d2ad38a10d91fe5f7765aae970f67efa6844
parent623652e73fa694eacac9e4b93049817615f1be1d
runtime: implement StorepNoWB for wasm in assembly

The second argument of StorepNoWB must be forced to escape.
The current Go code does not explicitly enforce that property.
By implementing in assembly, and not using go:noescape, we
force the issue.

Test is in CL 249761. Issue #40975.

This CL is needed for CL 249917, which changes how go:notinheap
works and breaks the previous StorepNoWB wasm code.

I checked for other possible errors like this. This is the only
go:notinheap that isn't in the runtime itself.

Change-Id: I43400a806662655727c4a3baa8902b63bdc9fa57
Reviewed-on: https://go-review.googlesource.com/c/go/+/249962
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/runtime/internal/atomic/asm_wasm.s [new file with mode: 0644]
src/runtime/internal/atomic/atomic_wasm.go