]> Cypherpunks repositories - gostls13.git/commitdiff
sync/atomic: clarify that 8-byte alignment of variables is due to escape
authorWill Hawkins <whh8b@obs.cr>
Sat, 4 Jun 2022 07:44:18 +0000 (03:44 -0400)
committerMichael Pratt <mpratt@google.com>
Tue, 7 Jun 2022 17:44:51 +0000 (17:44 +0000)
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>
src/sync/atomic/doc.go

index 4d426826da330ea5773b16cdd6153004ddcf8762..7977d131684498f77fb6b778aa406592f39b125d 100644 (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)