From: Joel Sing Date: Tue, 7 Jan 2020 06:14:51 +0000 (+1100) Subject: runtime: use FP offsets for pipe/pipe2 on freebsd/arm64 and linux/arm64 X-Git-Tag: go1.14rc1~146 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=4b1b18d1060b82d4df273e23d81033dfacf4d5bb;p=gostls13.git runtime: use FP offsets for pipe/pipe2 on freebsd/arm64 and linux/arm64 This is more readable and less error-prone than using RSP offsets. Suggested during review of CL 212765. Change-Id: I070190abeeac8eae5dbd414407602619d9d57422 Reviewed-on: https://go-review.googlesource.com/c/go/+/213577 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Cherry Zhang --- diff --git a/src/runtime/sys_freebsd_arm64.s b/src/runtime/sys_freebsd_arm64.s index 78cd9f15ee..2330f2ffe2 100644 --- a/src/runtime/sys_freebsd_arm64.s +++ b/src/runtime/sys_freebsd_arm64.s @@ -129,7 +129,7 @@ ok: // func pipe() (r, w int32, errno int32) TEXT runtime·pipe(SB),NOSPLIT|NOFRAME,$0-12 - ADD $8, RSP, R0 + MOVD $r+0(FP), R0 MOVW $0, R1 MOVD $SYS_pipe2, R8 SVC @@ -141,7 +141,7 @@ ok: // func pipe2(flags int32) (r, w int32, errno int32) TEXT runtime·pipe2(SB),NOSPLIT|NOFRAME,$0-20 - ADD $16, RSP, R0 + MOVD $r+8(FP), R0 MOVW flags+0(FP), R1 MOVD $SYS_pipe2, R8 SVC diff --git a/src/runtime/sys_linux_arm64.s b/src/runtime/sys_linux_arm64.s index 8c2a249c9f..b9588cec30 100644 --- a/src/runtime/sys_linux_arm64.s +++ b/src/runtime/sys_linux_arm64.s @@ -112,7 +112,7 @@ TEXT runtime·read(SB),NOSPLIT|NOFRAME,$0-28 // func pipe() (r, w int32, errno int32) TEXT runtime·pipe(SB),NOSPLIT|NOFRAME,$0-12 - ADD $8, RSP, R0 + MOVD $r+0(FP), R0 MOVW $0, R1 MOVW $SYS_pipe2, R8 SVC @@ -121,7 +121,7 @@ TEXT runtime·pipe(SB),NOSPLIT|NOFRAME,$0-12 // func pipe2(flags int32) (r, w int32, errno int32) TEXT runtime·pipe2(SB),NOSPLIT|NOFRAME,$0-20 - ADD $16, RSP, R0 + MOVD $r+8(FP), R0 MOVW flags+0(FP), R1 MOVW $SYS_pipe2, R8 SVC