Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(336)

Delta Between Two Patch Sets: src/pkg/runtime/sys_solaris_amd64.s

Issue 35990043: code review 35990043: runtime: add support for GOOS=solaris
Left Patch Set: diff -r 6835745cc243 https://code.google.com/p/go Created 11 years, 4 months ago
Right Patch Set: diff -r ff8459d06e3f https://code.google.com/p/go Created 11 years, 2 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « src/pkg/runtime/signals_solaris.h ('k') | src/pkg/runtime/sys_windows_386.s » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 // Copyright 2013 The Go Authors. All rights reserved. 1 // Copyright 2013 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style 2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file. 3 // license that can be found in the LICENSE file.
4 // 4 //
5 // System calls and other sys.stuff for AMD64, SunOS 5 // System calls and other sys.stuff for AMD64, SunOS
6 // /usr/include/sys/syscall.h for syscall numbers. 6 // /usr/include/sys/syscall.h for syscall numbers.
7 // 7 //
8 8
9 #include "zasm_GOOS_GOARCH.h" 9 #include "zasm_GOOS_GOARCH.h"
10 #include "../../cmd/ld/textflag.h" 10 #include "../../cmd/ld/textflag.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 PUSHQ DI // save for later 70 PUSHQ DI // save for later
71 MOVQ libcall_fn(DI), AX 71 MOVQ libcall_fn(DI), AX
72 MOVQ libcall_args(DI), R11 72 MOVQ libcall_args(DI), R11
73 MOVQ libcall_n(DI), R10 73 MOVQ libcall_n(DI), R10
74 74
75 get_tls(CX) 75 get_tls(CX)
76 MOVQ m(CX), BX 76 MOVQ m(CX), BX
77 MOVQ m_perrno(BX), DX 77 MOVQ m_perrno(BX), DX
78 CMPQ DX, $0 78 CMPQ DX, $0
79 JEQ skiperrno1 79 JEQ skiperrno1
80 » MOVL» $0,» 0(DX) 80 » MOVL» $0, 0(DX)
81 81
82 skiperrno1: 82 skiperrno1:
83 CMPQ R11, $0 83 CMPQ R11, $0
84 JEQ skipargs 84 JEQ skipargs
85 // Load 6 args into correspondent registers. 85 // Load 6 args into correspondent registers.
86 MOVQ 0(R11), DI 86 MOVQ 0(R11), DI
87 MOVQ 8(R11), SI 87 MOVQ 8(R11), SI
88 MOVQ 16(R11), DX 88 MOVQ 16(R11), DX
89 MOVQ 24(R11), CX 89 MOVQ 24(R11), CX
90 MOVQ 32(R11), R8 90 MOVQ 32(R11), R8
91 MOVQ 40(R11), R9 91 MOVQ 40(R11), R9
92 skipargs: 92 skipargs:
93 93
94 // Call SysV function 94 // Call SysV function
95 CALL AX 95 CALL AX
96 96
97 // Return result 97 // Return result
98 POPQ DI 98 POPQ DI
99 MOVQ AX, libcall_r1(DI) 99 MOVQ AX, libcall_r1(DI)
100 MOVQ DX, libcall_r2(DI) 100 MOVQ DX, libcall_r2(DI)
101 101
102 get_tls(CX) 102 get_tls(CX)
103 MOVQ m(CX), BX 103 MOVQ m(CX), BX
104 MOVQ m_perrno(BX), AX 104 MOVQ m_perrno(BX), AX
105 CMPQ AX, $0 105 CMPQ AX, $0
106 JEQ skiperrno2 106 JEQ skiperrno2
107 MOVL 0(AX), AX 107 MOVL 0(AX), AX
108 MOVQ AX, libcall_err(DI) 108 MOVQ AX, libcall_err(DI)
gusev.vitaliy 2018/03/01 17:23:13 Why here is used errno as indicator of error from
109 109
110 skiperrno2:····· 110 skiperrno2:·····
111 RET 111 RET
112 112
113 // uint32 tstart_sysvicall(M *newm); 113 // uint32 tstart_sysvicall(M *newm);
114 TEXT runtime·tstart_sysvicall(SB),NOSPLIT,$0 114 TEXT runtime·tstart_sysvicall(SB),NOSPLIT,$0
115 // DI contains first arg newm 115 // DI contains first arg newm
116 MOVQ m_g0(DI), DX // g 116 MOVQ m_g0(DI), DX // g
117 117
118 // Make TLS entries point at g and m. 118 // Make TLS entries point at g and m.
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 // restore registers 258 // restore registers
259 MOVQ 32(SP), BX 259 MOVQ 32(SP), BX
260 MOVQ 40(SP), BP 260 MOVQ 40(SP), BP
261 MOVQ 48(SP), R12 261 MOVQ 48(SP), R12
262 MOVQ 56(SP), R13 262 MOVQ 56(SP), R13
263 MOVQ 64(SP), R14 263 MOVQ 64(SP), R14
264 MOVQ 72(SP), R15 264 MOVQ 72(SP), R15
265 265
266 ADDQ $184, SP 266 ADDQ $184, SP
267 RET 267 RET
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b