]> Cypherpunks repositories - gostls13.git/commit
runtime: memmove/memclr pointers atomically
authorKeith Randall <khr@golang.org>
Thu, 5 Nov 2015 20:39:56 +0000 (12:39 -0800)
committerKeith Randall <khr@golang.org>
Sat, 7 Nov 2015 02:42:12 +0000 (02:42 +0000)
commit4b7d5f0b941c75e678d60e84602155ea9e73bab6
tree14adb10bb9f88fbfcda921032ab192230daccb61
parent321a40721bbfcb9bcf6113d4e8afd1bc030f1d8f
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>
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]