mirror of https://github.com/golang/go.git
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:
parent
81033fbd8e
commit
69bb7c6ef5
|
|
@ -57,8 +57,9 @@ import (
|
||||||
// On ARM, 386, and 32-bit MIPS, it is the caller's responsibility to arrange
|
// 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
|
// for 64-bit alignment of 64-bit words accessed atomically via the primitive
|
||||||
// atomic functions (types Int64 and Uint64 are automatically aligned).
|
// atomic functions (types Int64 and Uint64 are automatically aligned).
|
||||||
// The first word in a variable or in an allocated struct, array, or slice can
|
// The first word in an allocated struct, array, or slice; in a global
|
||||||
// be relied upon to be 64-bit aligned.
|
// 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.
|
// SwapInt32 atomically stores new into *addr and returns the previous *addr value.
|
||||||
func SwapInt32(addr *int32, new int32) (old int32)
|
func SwapInt32(addr *int32, new int32) (old int32)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue