diff options
| author | David Crawshaw <crawshaw@golang.org> | 2015-01-14 14:41:04 -0500 |
|---|---|---|
| committer | David Crawshaw <crawshaw@golang.org> | 2015-01-21 19:04:38 +0000 |
| commit | 695a0fb4ef35beaacc0dbfdd41d6008fc0c07ff4 (patch) | |
| tree | d55db77a4816e925e381d3ab4c5612f3d55fd133 /src/syscall/asm_linux_amd64.s | |
| parent | 01295d79124c05e14329e67ae61d976c1beed573 (diff) | |
| download | go-695a0fb4ef35beaacc0dbfdd41d6008fc0c07ff4.tar.xz | |
syscall: use name+(NN)FP on linux/amd64
Generated from a modified go vet.
Change-Id: Ibe82941283da9bd4dbc7fa624a33ffb12424daa2
Reviewed-on: https://go-review.googlesource.com/2817
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/syscall/asm_linux_amd64.s')
| -rw-r--r-- | src/syscall/asm_linux_amd64.s | 105 |
1 files changed, 53 insertions, 52 deletions
diff --git a/src/syscall/asm_linux_amd64.s b/src/syscall/asm_linux_amd64.s index b3ce2165d6..6634875f6a 100644 --- a/src/syscall/asm_linux_amd64.s +++ b/src/syscall/asm_linux_amd64.s @@ -2,9 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP) -// so that go vet can check that they are correct. - #include "textflag.h" #include "funcdata.h" @@ -19,100 +16,104 @@ TEXT ·Syscall(SB),NOSPLIT,$0-56 CALL runtime·entersyscall(SB) - MOVQ 16(SP), DI - MOVQ 24(SP), SI - MOVQ 32(SP), DX + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX MOVQ $0, R10 MOVQ $0, R8 MOVQ $0, R9 - MOVQ 8(SP), AX // syscall entry + MOVQ trap+0(FP), AX // syscall entry SYSCALL CMPQ AX, $0xfffffffffffff001 JLS ok - MOVQ $-1, 40(SP) // r1 - MOVQ $0, 48(SP) // r2 + MOVQ $-1, r1+32(FP) + MOVQ $0, r2+40(FP) NEGQ AX - MOVQ AX, 56(SP) // errno + MOVQ AX, err+48(FP) CALL runtime·exitsyscall(SB) RET ok: - MOVQ AX, 40(SP) // r1 - MOVQ DX, 48(SP) // r2 - MOVQ $0, 56(SP) // errno + MOVQ AX, r1+32(FP) + MOVQ DX, r2+40(FP) + MOVQ $0, err+48(FP) CALL runtime·exitsyscall(SB) RET +// func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr) TEXT ·Syscall6(SB),NOSPLIT,$0-80 CALL runtime·entersyscall(SB) - MOVQ 16(SP), DI - MOVQ 24(SP), SI - MOVQ 32(SP), DX - MOVQ 40(SP), R10 - MOVQ 48(SP), R8 - MOVQ 56(SP), R9 - MOVQ 8(SP), AX // syscall entry + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX + MOVQ a4+32(FP), R10 + MOVQ a5+40(FP), R8 + MOVQ a6+48(FP), R9 + MOVQ trap+0(FP), AX // syscall entry SYSCALL CMPQ AX, $0xfffffffffffff001 JLS ok6 - MOVQ $-1, 64(SP) // r1 - MOVQ $0, 72(SP) // r2 + MOVQ $-1, r1+56(FP) + MOVQ $0, r2+64(FP) NEGQ AX - MOVQ AX, 80(SP) // errno + MOVQ AX, err+72(FP) CALL runtime·exitsyscall(SB) RET ok6: - MOVQ AX, 64(SP) // r1 - MOVQ DX, 72(SP) // r2 - MOVQ $0, 80(SP) // errno + MOVQ AX, r1+56(FP) + MOVQ DX, r2+64(FP) + MOVQ $0, err+72(FP) CALL runtime·exitsyscall(SB) RET +// func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr) TEXT ·RawSyscall(SB),NOSPLIT,$0-56 - MOVQ 16(SP), DI - MOVQ 24(SP), SI - MOVQ 32(SP), DX + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX MOVQ $0, R10 MOVQ $0, R8 MOVQ $0, R9 - MOVQ 8(SP), AX // syscall entry + MOVQ trap+0(FP), AX // syscall entry SYSCALL CMPQ AX, $0xfffffffffffff001 JLS ok1 - MOVQ $-1, 40(SP) // r1 - MOVQ $0, 48(SP) // r2 + MOVQ $-1, r1+32(FP) + MOVQ $0, r2+40(FP) NEGQ AX - MOVQ AX, 56(SP) // errno + MOVQ AX, err+48(FP) RET ok1: - MOVQ AX, 40(SP) // r1 - MOVQ DX, 48(SP) // r2 - MOVQ $0, 56(SP) // errno + MOVQ AX, r1+32(FP) + MOVQ DX, r2+40(FP) + MOVQ $0, err+48(FP) RET +// func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr) TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 - MOVQ 16(SP), DI - MOVQ 24(SP), SI - MOVQ 32(SP), DX - MOVQ 40(SP), R10 - MOVQ 48(SP), R8 - MOVQ 56(SP), R9 - MOVQ 8(SP), AX // syscall entry + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX + MOVQ a4+32(FP), R10 + MOVQ a5+40(FP), R8 + MOVQ a6+48(FP), R9 + MOVQ trap+0(FP), AX // syscall entry SYSCALL CMPQ AX, $0xfffffffffffff001 JLS ok2 - MOVQ $-1, 64(SP) // r1 - MOVQ $0, 72(SP) // r2 + MOVQ $-1, r1+56(FP) + MOVQ $0, r2+64(FP) NEGQ AX - MOVQ AX, 80(SP) // errno + MOVQ AX, err+72(FP) RET ok2: - MOVQ AX, 64(SP) // r1 - MOVQ DX, 72(SP) // r2 - MOVQ $0, 80(SP) // errno + MOVQ AX, r1+56(FP) + MOVQ DX, r2+64(FP) + MOVQ $0, err+72(FP) RET +// func gettimeofday(tv *Timeval) (err uintptr) TEXT ·gettimeofday(SB),NOSPLIT,$0-16 - MOVQ 8(SP), DI + MOVQ tv+0(FP), DI MOVQ $0, SI MOVQ runtime·__vdso_gettimeofday_sym(SB), AX CALL AX @@ -120,8 +121,8 @@ TEXT ·gettimeofday(SB),NOSPLIT,$0-16 CMPQ AX, $0xfffffffffffff001 JLS ok7 NEGQ AX - MOVQ AX, 16(SP) // errno + MOVQ AX, err+8(FP) RET ok7: - MOVQ $0, 16(SP) // errno + MOVQ $0, err+8(FP) RET |
