aboutsummaryrefslogtreecommitdiff
path: root/src/sync/atomic
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2017-07-11 11:03:36 -0400
committerAustin Clements <austin@google.com>2017-07-11 18:32:38 +0000
commitfea7c43ea238d8e18f3bafaac2740b3fa8975ae5 (patch)
tree91e5ba1461cbf8f8d70f9efe46caf02fad2d20e6 /src/sync/atomic
parent58ae050055ef00b97f1119e042fe7b459b20e839 (diff)
downloadgo-fea7c43ea238d8e18f3bafaac2740b3fa8975ae5.tar.xz
sync/atomic: clarify 64-bit alignment bug
Local variables can also be relied on the be 64-bit aligned, since they will be escaped to the heap if used with any atomic operations. Also, allocated arrays are also aligned, just like structs and slices. Fixes #18955. Change-Id: I8a1897f6ff78922c8bfcf20d6eb4bcb17a70ba2d Reviewed-on: https://go-review.googlesource.com/48112 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/sync/atomic')
-rw-r--r--src/sync/atomic/doc.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/sync/atomic/doc.go b/src/sync/atomic/doc.go
index 302ff43070..7c007d7a15 100644
--- a/src/sync/atomic/doc.go
+++ b/src/sync/atomic/doc.go
@@ -48,8 +48,8 @@ import (
// On non-Linux ARM, the 64-bit functions use instructions unavailable before the ARMv6k core.
//
// On both ARM and x86-32, it is the caller's responsibility to arrange for 64-bit
-// alignment of 64-bit words accessed atomically. The first word in a global
-// variable or in an allocated struct or slice can be relied upon to be
+// alignment of 64-bit words accessed atomically. The first word in a
+// variable or in an allocated struct, array, or slice can be relied upon to be
// 64-bit aligned.
// SwapInt32 atomically stores new into *addr and returns the previous *addr value.