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

Side by Side Diff: src/pkg/runtime/sys_freebsd_amd64.s

Issue 5792048: code review 5792048: runtime: inline calls to notok (Closed)
Patch Set: diff -r d3b7f8ade3cd https://go.googlecode.com/hg/ Created 13 years, 1 month 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:
View unified diff | Download patch
« no previous file with comments | « src/pkg/runtime/sys_freebsd_386.s ('k') | src/pkg/runtime/sys_linux_amd64.s » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2009 The Go Authors. All rights reserved. 1 // Copyright 2009 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, FreeBSD 5 // System calls and other sys.stuff for AMD64, FreeBSD
6 // /usr/src/sys/kern/syscalls.master for syscall numbers. 6 // /usr/src/sys/kern/syscalls.master for syscall numbers.
7 // 7 //
8 8
9 #include "zasm_GOOS_GOARCH.h" 9 #include "zasm_GOOS_GOARCH.h"
10 ········ 10 ········
(...skipping 29 matching lines...) Expand all
40 40
41 CALL runtime·stackcheck(SB) 41 CALL runtime·stackcheck(SB)
42 CALL runtime·mstart(SB) 42 CALL runtime·mstart(SB)
43 MOVQ 0, AX // crash (not reached) 43 MOVQ 0, AX // crash (not reached)
44 44
45 // Exit the entire program (like C exit) 45 // Exit the entire program (like C exit)
46 TEXT runtime·exit(SB),7,$-8 46 TEXT runtime·exit(SB),7,$-8
47 MOVL 8(SP), DI // arg 1 exit status 47 MOVL 8(SP), DI // arg 1 exit status
48 MOVL $1, AX 48 MOVL $1, AX
49 SYSCALL 49 SYSCALL
50 » CALL» runtime·notok(SB) 50 » MOVL» $0xf1, 0xf1 // crash
51 RET 51 RET
52 52
53 TEXT runtime·exit1(SB),7,$-8 53 TEXT runtime·exit1(SB),7,$-8
54 MOVQ 8(SP), DI // arg 1 exit status 54 MOVQ 8(SP), DI // arg 1 exit status
55 MOVL $431, AX 55 MOVL $431, AX
56 SYSCALL 56 SYSCALL
57 » CALL» runtime·notok(SB) 57 » MOVL» $0xf1, 0xf1 // crash
58 RET 58 RET
59 59
60 TEXT runtime·write(SB),7,$-8 60 TEXT runtime·write(SB),7,$-8
61 MOVL 8(SP), DI // arg 1 fd 61 MOVL 8(SP), DI // arg 1 fd
62 MOVQ 16(SP), SI // arg 2 buf 62 MOVQ 16(SP), SI // arg 2 buf
63 MOVL 24(SP), DX // arg 3 count 63 MOVL 24(SP), DX // arg 3 count
64 MOVL $4, AX 64 MOVL $4, AX
65 SYSCALL 65 SYSCALL
66 RET 66 RET
67 67
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 ADDQ DX, AX 122 ADDQ DX, AX
123 RET 123 RET
124 124
125 TEXT runtime·sigaction(SB),7,$-8 125 TEXT runtime·sigaction(SB),7,$-8
126 MOVL 8(SP), DI // arg 1 sig 126 MOVL 8(SP), DI // arg 1 sig
127 MOVQ 16(SP), SI // arg 2 act 127 MOVQ 16(SP), SI // arg 2 act
128 MOVQ 24(SP), DX // arg 3 oact 128 MOVQ 24(SP), DX // arg 3 oact
129 MOVL $416, AX 129 MOVL $416, AX
130 SYSCALL 130 SYSCALL
131 JCC 2(PC) 131 JCC 2(PC)
132 » CALL» runtime·notok(SB) 132 » MOVL» $0xf1, 0xf1 // crash
133 RET 133 RET
134 134
135 TEXT runtime·sigtramp(SB),7,$64 135 TEXT runtime·sigtramp(SB),7,$64
136 get_tls(BX) 136 get_tls(BX)
137 ········ 137 ········
138 // save g 138 // save g
139 MOVQ g(BX), R10 139 MOVQ g(BX), R10
140 MOVQ R10, 40(SP) 140 MOVQ R10, 40(SP)
141 ········ 141 ········
142 // g = m->signal 142 // g = m->signal
(...skipping 24 matching lines...) Expand all
167 MOVL $477, AX 167 MOVL $477, AX
168 SYSCALL 168 SYSCALL
169 RET 169 RET
170 170
171 TEXT runtime·munmap(SB),7,$0 171 TEXT runtime·munmap(SB),7,$0
172 MOVQ 8(SP), DI // arg 1 addr 172 MOVQ 8(SP), DI // arg 1 addr
173 MOVQ 16(SP), SI // arg 2 len 173 MOVQ 16(SP), SI // arg 2 len
174 MOVL $73, AX 174 MOVL $73, AX
175 SYSCALL 175 SYSCALL
176 JCC 2(PC) 176 JCC 2(PC)
177 » CALL» runtime·notok(SB) 177 » MOVL» $0xf1, 0xf1 // crash
178 » RET
179
180 TEXT runtime·notok(SB),7,$-8
181 » MOVL» $0xf1, BP
182 » MOVQ» BP, (BP)
183 RET 178 RET
184 179
185 TEXT runtime·sigaltstack(SB),7,$-8 180 TEXT runtime·sigaltstack(SB),7,$-8
186 MOVQ new+8(SP), DI 181 MOVQ new+8(SP), DI
187 MOVQ old+16(SP), SI 182 MOVQ old+16(SP), SI
188 MOVQ $53, AX 183 MOVQ $53, AX
189 SYSCALL 184 SYSCALL
190 JCC 2(PC) 185 JCC 2(PC)
191 » CALL» runtime·notok(SB) 186 » MOVL» $0xf1, 0xf1 // crash
192 RET 187 RET
193 188
194 TEXT runtime·usleep(SB),7,$16 189 TEXT runtime·usleep(SB),7,$16
195 MOVL $0, DX 190 MOVL $0, DX
196 MOVL usec+0(FP), AX 191 MOVL usec+0(FP), AX
197 MOVL $1000000, CX 192 MOVL $1000000, CX
198 DIVL CX 193 DIVL CX
199 MOVQ AX, 0(SP) // tv_sec 194 MOVQ AX, 0(SP) // tv_sec
200 MOVL $1000, AX 195 MOVL $1000, AX
201 MULL DX 196 MULL DX
202 MOVQ AX, 8(SP) // tv_nsec 197 MOVQ AX, 8(SP) // tv_nsec
203 198
204 MOVQ SP, DI // arg 1 - rqtp 199 MOVQ SP, DI // arg 1 - rqtp
205 MOVQ $0, SI // arg 2 - rmtp 200 MOVQ $0, SI // arg 2 - rmtp
206 MOVL $240, AX // sys_nanosleep 201 MOVL $240, AX // sys_nanosleep
207 SYSCALL 202 SYSCALL
208 RET 203 RET
209 204
210 // set tls base to DI 205 // set tls base to DI
211 TEXT runtime·settls(SB),7,$8 206 TEXT runtime·settls(SB),7,$8
212 ADDQ $16, DI // adjust for ELF: wants to use -16(FS) and -8(FS) for g and m 207 ADDQ $16, DI // adjust for ELF: wants to use -16(FS) and -8(FS) for g and m
213 MOVQ DI, 0(SP) 208 MOVQ DI, 0(SP)
214 MOVQ SP, SI 209 MOVQ SP, SI
215 MOVQ $129, DI // AMD64_SET_FSBASE 210 MOVQ $129, DI // AMD64_SET_FSBASE
216 MOVQ $165, AX // sysarch 211 MOVQ $165, AX // sysarch
217 SYSCALL 212 SYSCALL
218 JCC 2(PC) 213 JCC 2(PC)
219 » CALL» runtime·notok(SB) 214 » MOVL» $0xf1, 0xf1 // crash
220 RET 215 RET
221 216
222 TEXT runtime·sysctl(SB),7,$0 217 TEXT runtime·sysctl(SB),7,$0
223 MOVQ 8(SP), DI // arg 1 - name 218 MOVQ 8(SP), DI // arg 1 - name
224 MOVL 16(SP), SI // arg 2 - namelen 219 MOVL 16(SP), SI // arg 2 - namelen
225 MOVQ 24(SP), DX // arg 3 - oldp 220 MOVQ 24(SP), DX // arg 3 - oldp
226 MOVQ 32(SP), R10 // arg 4 - oldlenp 221 MOVQ 32(SP), R10 // arg 4 - oldlenp
227 MOVQ 40(SP), R8 // arg 5 - newp 222 MOVQ 40(SP), R8 // arg 5 - newp
228 MOVQ 48(SP), R9 // arg 6 - newlen 223 MOVQ 48(SP), R9 // arg 6 - newlen
229 MOVQ $202, AX // sys___sysctl 224 MOVQ $202, AX // sys___sysctl
230 SYSCALL 225 SYSCALL
231 JCC 3(PC) 226 JCC 3(PC)
232 NEGL AX 227 NEGL AX
233 RET 228 RET
234 MOVL $0, AX 229 MOVL $0, AX
235 RET 230 RET
236 231
237 TEXT runtime·osyield(SB),7,$-4 232 TEXT runtime·osyield(SB),7,$-4
238 MOVL $331, AX // sys_sched_yield 233 MOVL $331, AX // sys_sched_yield
239 SYSCALL 234 SYSCALL
240 RET 235 RET
241 236
242 TEXT runtime·sigprocmask(SB),7,$0 237 TEXT runtime·sigprocmask(SB),7,$0
243 MOVL $3, DI // arg 1 - how (SIG_SETMASK) 238 MOVL $3, DI // arg 1 - how (SIG_SETMASK)
244 MOVQ 8(SP), SI // arg 2 - set 239 MOVQ 8(SP), SI // arg 2 - set
245 MOVQ 16(SP), DX // arg 3 - oset 240 MOVQ 16(SP), DX // arg 3 - oset
246 MOVL $340, AX // sys_sigprocmask 241 MOVL $340, AX // sys_sigprocmask
247 SYSCALL 242 SYSCALL
248 JAE 2(PC) 243 JAE 2(PC)
249 » CALL» runtime·notok(SB) 244 » MOVL» $0xf1, 0xf1 // crash
250 RET 245 RET
OLDNEW
« no previous file with comments | « src/pkg/runtime/sys_freebsd_386.s ('k') | src/pkg/runtime/sys_linux_amd64.s » ('j') | no next file with comments »

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