diff options
| author | Austin Clements <austin@google.com> | 2018-01-25 13:57:37 -0500 |
|---|---|---|
| committer | Austin Clements <austin@google.com> | 2018-02-12 21:41:23 +0000 |
| commit | 8a064c600802eaab9da0cbc83adccafb5d1b8678 (patch) | |
| tree | 81d51e4ac2a2f9dfe5c5b302f33b885cb7c97396 /src/runtime/internal/atomic | |
| parent | 495174302f12eafa9f8793751a5208395b969fd6 (diff) | |
| download | go-8a064c600802eaab9da0cbc83adccafb5d1b8678.tar.xz | |
runtime: fix silly frame sizes on arm and arm64
"-8" is not a sensible frame size on arm and we're about to start
rejecting it. Replace it with -4.
Likewise, "-4" is not a sensible frame size on arm64 and we're about
to start rejecting it. Replace it with -8.
Finally, clean up some places we're weirdly inconsistent about using 0
versus -8.
Change-Id: If85e229993d5f7f1f0cfa9852b4e294d053bd784
Reviewed-on: https://go-review.googlesource.com/92038
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/runtime/internal/atomic')
| -rw-r--r-- | src/runtime/internal/atomic/asm_arm64.s | 4 | ||||
| -rw-r--r-- | src/runtime/internal/atomic/atomic_arm64.s | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/runtime/internal/atomic/asm_arm64.s b/src/runtime/internal/atomic/asm_arm64.s index b6af632efa..56b89a5a0b 100644 --- a/src/runtime/internal/atomic/asm_arm64.s +++ b/src/runtime/internal/atomic/asm_arm64.s @@ -29,10 +29,10 @@ ok: TEXT runtime∕internal∕atomic·Casuintptr(SB), NOSPLIT, $0-25 B runtime∕internal∕atomic·Cas64(SB) -TEXT runtime∕internal∕atomic·Loaduintptr(SB), NOSPLIT, $-8-16 +TEXT runtime∕internal∕atomic·Loaduintptr(SB), NOSPLIT, $0-16 B runtime∕internal∕atomic·Load64(SB) -TEXT runtime∕internal∕atomic·Loaduint(SB), NOSPLIT, $-8-16 +TEXT runtime∕internal∕atomic·Loaduint(SB), NOSPLIT, $0-16 B runtime∕internal∕atomic·Load64(SB) TEXT runtime∕internal∕atomic·Storeuintptr(SB), NOSPLIT, $0-16 diff --git a/src/runtime/internal/atomic/atomic_arm64.s b/src/runtime/internal/atomic/atomic_arm64.s index 6c2031c205..354fd1e94b 100644 --- a/src/runtime/internal/atomic/atomic_arm64.s +++ b/src/runtime/internal/atomic/atomic_arm64.s @@ -5,21 +5,21 @@ #include "textflag.h" // uint32 runtime∕internal∕atomic·Load(uint32 volatile* addr) -TEXT ·Load(SB),NOSPLIT,$-8-12 +TEXT ·Load(SB),NOSPLIT,$0-12 MOVD ptr+0(FP), R0 LDARW (R0), R0 MOVW R0, ret+8(FP) RET // uint64 runtime∕internal∕atomic·Load64(uint64 volatile* addr) -TEXT ·Load64(SB),NOSPLIT,$-8-16 +TEXT ·Load64(SB),NOSPLIT,$0-16 MOVD ptr+0(FP), R0 LDAR (R0), R0 MOVD R0, ret+8(FP) RET // void *runtime∕internal∕atomic·Loadp(void *volatile *addr) -TEXT ·Loadp(SB),NOSPLIT,$-8-16 +TEXT ·Loadp(SB),NOSPLIT,$0-16 MOVD ptr+0(FP), R0 LDAR (R0), R0 MOVD R0, ret+8(FP) |
