]> Cypherpunks.ru repositories - gostls13.git/commit
runtime/internal/atomic: remove bad go:noescape annotations on Loadp
authorMatthew Dempsky <mdempsky@google.com>
Wed, 17 Apr 2019 18:23:53 +0000 (11:23 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Wed, 17 Apr 2019 19:09:15 +0000 (19:09 +0000)
commit9dce58d30d1005e0cbac40789429cd3543d80836
treeed5d8f5debbfeb54caab67341a84b731a404f6b6
parente5986209e082cd207989d7f8759ba92e3f9dd8cb
runtime/internal/atomic: remove bad go:noescape annotations on Loadp

The //go:noescape directive says that arguments don't leak at all,
which is too aggressive of a claim for functions that return pointers
derived from their parameters.

Remove the directive for now. Long term fix will require a new
directive that allows more fine-grained control over escape analysis
information supplied for functions implemented in assembly.

Also, update the BAD comments in the test cases for Loadp: we really
want that *ptr leaks to the result parameter, not that *ptr leaks to
the heap.

Updates #31525.

Change-Id: Ibfa61f2b70daa7ed3223056b57eeee777eef2e31
Reviewed-on: https://go-review.googlesource.com/c/go/+/172578
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
src/runtime/internal/atomic/atomic_arm.go
src/runtime/internal/atomic/atomic_arm64.go
src/runtime/internal/atomic/atomic_mips64x.go
src/runtime/internal/atomic/atomic_mipsx.go
src/runtime/internal/atomic/atomic_ppc64x.go
test/escape_runtime_atomic.go
test/escape_sync_atomic.go