diff options
| author | Ruslan Andreev <ruslan.andreev@huawei.com> | 2021-01-13 22:36:19 +0800 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2021-04-05 15:56:14 +0000 |
| commit | af1789a61c02fa769fcd4ab8addcbb9a160b987b (patch) | |
| tree | 4650a9edcb748b903dfef7362dd3f2171690088a /src/runtime/internal/atomic/sys_linux_arm.s | |
| parent | a4b8241d97fb180e1b9cb41c4828345c931d1aaf (diff) | |
| download | go-af1789a61c02fa769fcd4ab8addcbb9a160b987b.tar.xz | |
runtime: extend internal atomics to comply with sync/atomic
The CV add changes according to TODO in Go source-code.
Internal atomic set does not comply with sync/atomic library and has shortage
operations for signed integers.
This patch extend internal atomic set by Int32 and Int64 operations. It's
implemented new aliases and asm versions of operations. As a result Cas64 was
replaced by Casint64 in findRunnableGCWorker without type casting.
Another purpose is unified structure of internal atomics' source code. Before,
assembly impementations for different archs were in different files. For
example, filename for AMD64 was asm_amd64.s, but filename for RISC-V was
atomic_riscv64.s. Some arches have both files without any meaning. So, assembly
files were merged and renamed to atomic_{$ARCH}.s filenames.
Change-Id: I29a05a7cbf5f4a9cc146e8315536c038af545677
Reviewed-on: https://go-review.googlesource.com/c/go/+/289152
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Diffstat (limited to 'src/runtime/internal/atomic/sys_linux_arm.s')
| -rw-r--r-- | src/runtime/internal/atomic/sys_linux_arm.s | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/runtime/internal/atomic/sys_linux_arm.s b/src/runtime/internal/atomic/sys_linux_arm.s index 192be4b64f..0cc7fa73d1 100644 --- a/src/runtime/internal/atomic/sys_linux_arm.s +++ b/src/runtime/internal/atomic/sys_linux_arm.s @@ -24,7 +24,7 @@ TEXT cas<>(SB),NOSPLIT,$0 MOVW $0xffff0fc0, R15 // R15 is hardware PC. -TEXT runtime∕internal∕atomic·Cas(SB),NOSPLIT|NOFRAME,$0 +TEXT ·Cas(SB),NOSPLIT|NOFRAME,$0 MOVB runtime·goarm(SB), R11 CMP $7, R11 BLT 2(PC) |
