aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/asm_arm64.s
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2018-01-25 13:57:37 -0500
committerAustin Clements <austin@google.com>2018-02-12 21:41:23 +0000
commit8a064c600802eaab9da0cbc83adccafb5d1b8678 (patch)
tree81d51e4ac2a2f9dfe5c5b302f33b885cb7c97396 /src/runtime/asm_arm64.s
parent495174302f12eafa9f8793751a5208395b969fd6 (diff)
downloadgo-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.s8
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