]> Cypherpunks repositories - gostls13.git/commit
sync/atomic: redirect many functions to runtime/internal/atomic
authorCherry Zhang <cherryyz@google.com>
Mon, 12 Feb 2018 20:27:02 +0000 (15:27 -0500)
committerCherry Zhang <cherryyz@google.com>
Thu, 3 May 2018 21:35:01 +0000 (21:35 +0000)
commit1b6fec862cbe890ef0abea99827a587ffbe2e0f1
tree89f6499fff153fc963057b04efce44d9c65829ca
parent4a1baf8bd11c8804a22aa8364028ce8d81b6e1f3
sync/atomic: redirect many functions to runtime/internal/atomic

The implementation of atomics are inherently tricky. It would
be good to have them implemented in a single place, instead of
multiple copies.

Mostly a simple redirect.

On 386, some functions in sync/atomic have better implementations,
which are moved to runtime/internal/atomic.

On ARM, some functions in sync/atomic have better implementations.
They are dropped by this CL, but restored with an improved
version in a follow-up CL. On linux/arm, 64-bit CAS kernel helper
is dropped, as we're trying to move away from kernel helpers.

Fixes #23778.

Change-Id: Icb9e1039acc92adbb2a371c34baaf0b79551c3ea
Reviewed-on: https://go-review.googlesource.com/93637
Reviewed-by: Austin Clements <austin@google.com>
24 files changed:
src/runtime/internal/atomic/asm_386.s
src/runtime/internal/atomic/asm_amd64p32.s
src/runtime/internal/atomic/atomic_386.go
src/runtime/internal/atomic/sys_linux_arm.s
src/sync/atomic/64bit_arm.go [deleted file]
src/sync/atomic/asm.s [new file with mode: 0644]
src/sync/atomic/asm_386.s [deleted file]
src/sync/atomic/asm_amd64.s [deleted file]
src/sync/atomic/asm_amd64p32.s [deleted file]
src/sync/atomic/asm_arm.s [deleted file]
src/sync/atomic/asm_arm64.s [deleted file]
src/sync/atomic/asm_darwin_arm.s [deleted file]
src/sync/atomic/asm_freebsd_arm.s [deleted file]
src/sync/atomic/asm_linux_arm.s [deleted file]
src/sync/atomic/asm_mips64x.s [deleted file]
src/sync/atomic/asm_mipsx.s [deleted file]
src/sync/atomic/asm_nacl_arm.s [deleted file]
src/sync/atomic/asm_netbsd_arm.s [deleted file]
src/sync/atomic/asm_openbsd_arm.s [deleted file]
src/sync/atomic/asm_plan9_arm.s [deleted file]
src/sync/atomic/asm_ppc64x.s [deleted file]
src/sync/atomic/asm_s390x.s [deleted file]
src/sync/atomic/atomic_linux_arm_test.go [deleted file]
src/sync/atomic/export_linux_arm_test.go [deleted file]