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/asm_arm64.s | |
parent | 495174302f12eafa9f8793751a5208395b969fd6 (diff) | |
download | go-8a064c600802eaab9da0cbc83adccafb5d1b8678.tar.gz go-8a064c600802eaab9da0cbc83adccafb5d1b8678.zip |
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/asm_arm64.s')
-rw-r--r-- | src/runtime/asm_arm64.s | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/runtime/asm_arm64.s b/src/runtime/asm_arm64.s index 9bf0646c8d..daf3bf79cc 100644 --- a/src/runtime/asm_arm64.s +++ b/src/runtime/asm_arm64.s @@ -300,7 +300,7 @@ TEXT runtime·morestack(SB),NOSPLIT,$-8-0 // is still in this function, and not the beginning of the next. UNDEF -TEXT runtime·morestack_noctxt(SB),NOSPLIT,$-4-0 +TEXT runtime·morestack_noctxt(SB),NOSPLIT,$-8-0 MOVW $0, R26 B runtime·morestack(SB) @@ -745,7 +745,7 @@ eq: MOVB R3, ret+16(FP) RET -TEXT runtime·cmpstring(SB),NOSPLIT,$-4-40 +TEXT runtime·cmpstring(SB),NOSPLIT,$-8-40 MOVD s1_base+0(FP), R2 MOVD s1_len+8(FP), R0 MOVD s2_base+16(FP), R3 @@ -753,7 +753,7 @@ TEXT runtime·cmpstring(SB),NOSPLIT,$-4-40 ADD $40, RSP, R7 B runtime·cmpbody<>(SB) -TEXT bytes·Compare(SB),NOSPLIT,$-4-56 +TEXT bytes·Compare(SB),NOSPLIT,$-8-56 MOVD s1+0(FP), R2 MOVD s1+8(FP), R0 MOVD s2+24(FP), R3 @@ -770,7 +770,7 @@ TEXT bytes·Compare(SB),NOSPLIT,$-4-56 // // On exit: // R4, R5, and R6 are clobbered -TEXT runtime·cmpbody<>(SB),NOSPLIT,$-4-0 +TEXT runtime·cmpbody<>(SB),NOSPLIT,$-8-0 CMP R2, R3 BEQ samebytes // same starting pointers; compare lengths CMP R0, R1 |