]> Cypherpunks repositories - gostls13.git/commit
runtime: execute publicationBarrier in noscan case for delayed zeroing
authorMichael Anthony Knyszek <mknyszek@google.com>
Wed, 9 Oct 2024 17:38:49 +0000 (17:38 +0000)
committerGopher Robot <gobot@golang.org>
Mon, 21 Oct 2024 15:56:31 +0000 (15:56 +0000)
commitacd072a0784863dfbdf32da9d770753722270a26
treef769ca2eabcc226fec500d69748e9490685c2819
parenta1c4fb4361c3bc58760400b99f026fb2088610c6
runtime: execute publicationBarrier in noscan case for delayed zeroing

This is a peace-of-mind change to make sure that delayed-zeroed memory
(in the large alloc case) is globally visible from the moment the
allocation is published back to the caller.

The way it's written right now is good enough for the garbage collector
(we already have a publication barrier for a nil span.largeType, so the
GC will ignore the noscan span) but this might matter for user code on
weak memory architectures.

Change-Id: I06ac9b95863074e5f09382629083b19bfa87fdb8
Reviewed-on: https://go-review.googlesource.com/c/go/+/619036
Reviewed-by: Keith Randall <khr@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@golang.org>
src/runtime/malloc.go