sync/atomic: clarify that 8-byte alignment of variables is due to escape

For #53223.

Change-Id: I79e9b920488581a4d850e4051ee0dd600b5bbcb1
Reviewed-on: https://go-review.googlesource.com/c/go/+/410102
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: Austin Clements <austin@google.com>
This commit is contained in:
Will Hawkins 2022-06-04 03:44:18 -04:00 committed by Michael Pratt
parent 81033fbd8e
commit 69bb7c6ef5

View file

@ -57,8 +57,9 @@ import (
// On ARM, 386, and 32-bit MIPS, it is the caller's responsibility to arrange
// for 64-bit alignment of 64-bit words accessed atomically via the primitive
// atomic functions (types Int64 and Uint64 are automatically aligned).
// The first word in a variable or in an allocated struct, array, or slice can
// be relied upon to be 64-bit aligned.
// The first word in an allocated struct, array, or slice; in a global
// variable; or in a local variable (because the subject of all atomic operations
// will escape to the heap) can be relied upon to be 64-bit aligned.
// SwapInt32 atomically stores new into *addr and returns the previous *addr value.
func SwapInt32(addr *int32, new int32) (old int32)