Skip to content

Commit 69bb7c6

Browse files
hawkinswprattmic
authored andcommitted
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 <[email protected]> Reviewed-by: Austin Clements <[email protected]>
1 parent 81033fb commit 69bb7c6

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/sync/atomic/doc.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,9 @@ import (
5757
// On ARM, 386, and 32-bit MIPS, it is the caller's responsibility to arrange
5858
// for 64-bit alignment of 64-bit words accessed atomically via the primitive
5959
// atomic functions (types Int64 and Uint64 are automatically aligned).
60-
// The first word in a variable or in an allocated struct, array, or slice can
61-
// be relied upon to be 64-bit aligned.
60+
// The first word in an allocated struct, array, or slice; in a global
61+
// variable; or in a local variable (because the subject of all atomic operations
62+
// will escape to the heap) can be relied upon to be 64-bit aligned.
6263

6364
// SwapInt32 atomically stores new into *addr and returns the previous *addr value.
6465
func SwapInt32(addr *int32, new int32) (old int32)

0 commit comments

Comments
 (0)