]> Cypherpunks repositories - gostls13.git/commit
[release-branch.go1.5] runtime: memmove/memclr pointers atomically
authorKeith Randall <khr@golang.org>
Thu, 5 Nov 2015 20:39:56 +0000 (12:39 -0800)
committerAustin Clements <austin@google.com>
Fri, 13 Nov 2015 17:26:50 +0000 (17:26 +0000)
commit0b5982f08e3d897cd1db450130e0f1746b87b67d
tree926c830160cd03051c5f856c6e5b2c5b5c24c9f3
parentd3a413569bf5c01cf08a24bc6b13fd331081b842
[release-branch.go1.5] runtime: memmove/memclr pointers atomically

Make sure that we're moving or zeroing pointers atomically.
Anything that is a multiple of pointer size and at least
pointer aligned might have pointers in it.  All the code looks
ok except for the 1-pointer-sized moves.

Fixes #13160
Update #12552

Change-Id: Ib97d9b918fa9f4cc5c56c67ed90255b7fdfb7b45
Reviewed-on: https://go-review.googlesource.com/16668
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-on: https://go-review.googlesource.com/16910
Reviewed-by: Russ Cox <rsc@golang.org>
src/runtime/asm_amd64p32.s
src/runtime/memclr_386.s
src/runtime/memclr_amd64.s
src/runtime/memclr_plan9_386.s
src/runtime/memmove_386.s
src/runtime/memmove_amd64.s
src/runtime/memmove_nacl_amd64p32.s
src/runtime/memmove_plan9_386.s
src/runtime/memmove_plan9_amd64.s
test/fixedbugs/issue13160.go [new file with mode: 0644]