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

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

Issue 6460108: net: epoll dispatcher 2
Left Patch Set: diff -r 79225d9f3ced https://go.googlecode.com/hg/ Created 11 years, 7 months ago
Right Patch Set: diff -r f2755950769b https://dvyukov%40google.com@code.google.com/p/go/ Created 11 years, 4 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/runtime.h ('k') | src/pkg/runtime/time.goc » ('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 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 // 5 //
6 // System calls and other sys.stuff for AMD64, Linux 6 // System calls and other sys.stuff for AMD64, Linux
7 // 7 //
8 8
9 #include "zasm_GOOS_GOARCH.h" 9 #include "zasm_GOOS_GOARCH.h"
10
11 TEXT runtime·raiseprio(SB),7,$0
12 MOVL $186, AX // syscall - gettid
13 SYSCALL
14 MOVL AX, DI // tid
15 MOVL $1, SI // SCHED_FIFO
16 MOVQ 8(SP), DX
17 MOVL $144, AX // syscall - sched_setscheduler
18 SYSCALL
19 RET
20 10
21 TEXT runtime·exit(SB),7,$0-8 11 TEXT runtime·exit(SB),7,$0-8
22 MOVL 8(SP), DI 12 MOVL 8(SP), DI
23 MOVL $231, AX // exitgroup - force all os threads to exit 13 MOVL $231, AX // exitgroup - force all os threads to exit
24 SYSCALL 14 SYSCALL
25 RET 15 RET
26 16
27 TEXT runtime·exit1(SB),7,$0-8 17 TEXT runtime·exit1(SB),7,$0-8
28 MOVL 8(SP), DI 18 MOVL 8(SP), DI
29 MOVL $60, AX // exit - exit the current os thread 19 MOVL $60, AX // exit - exit the current os thread
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 TEXT runtime·mincore(SB),7,$0-24 141 TEXT runtime·mincore(SB),7,$0-24
152 MOVQ 8(SP), DI 142 MOVQ 8(SP), DI
153 MOVQ 16(SP), SI 143 MOVQ 16(SP), SI
154 MOVQ 24(SP), DX 144 MOVQ 24(SP), DX
155 MOVL $27, AX // syscall entry 145 MOVL $27, AX // syscall entry
156 SYSCALL 146 SYSCALL
157 RET 147 RET
158 148
159 // func now() (sec int64, nsec int32) 149 // func now() (sec int64, nsec int32)
160 TEXT time·now(SB), 7, $32 150 TEXT time·now(SB), 7, $32
151 MOVQ runtime·__vdso_clock_gettime_sym(SB), AX
152 CMPQ AX, $0
153 JEQ fallback_gtod
154 MOVL $0, DI // CLOCK_REALTIME
155 LEAQ 8(SP), SI
156 CALL AX
157 MOVQ 8(SP), AX // sec
158 MOVQ 16(SP), DX // nsec
159 MOVQ AX, sec+0(FP)
160 MOVL DX, nsec+8(FP)
161 RET
162 fallback_gtod:
161 LEAQ 8(SP), DI 163 LEAQ 8(SP), DI
162 MOVQ $0, SI 164 MOVQ $0, SI
163 » MOVQ» $0xffffffffff600000, AX 165 » MOVQ» runtime·__vdso_gettimeofday_sym(SB), AX
164 CALL AX 166 CALL AX
165 MOVQ 8(SP), AX // sec 167 MOVQ 8(SP), AX // sec
166 MOVL 16(SP), DX // usec 168 MOVL 16(SP), DX // usec
167 169 » IMULQ» $1000, DX
168 » // sec is in AX, usec in DX
169 MOVQ AX, sec+0(FP) 170 MOVQ AX, sec+0(FP)
170 IMULQ $1000, DX
171 MOVL DX, nsec+8(FP) 171 MOVL DX, nsec+8(FP)
172 RET 172 RET
173 173
174 TEXT runtime·nanotime(SB), 7, $32 174 TEXT runtime·nanotime(SB), 7, $32
175 » LEAQ» 8(SP), DI 175 » CALL» time·now(SB)
176 » MOVQ» $0, SI 176 » MOVQ» 0(SP), AX» // sec
177 » MOVQ» $0xffffffffff600000, AX 177 » MOVL» 8(SP), DX» // nsec
178 » CALL» AX
179 » MOVQ» 8(SP), AX» // sec
180 » MOVL» 16(SP), DX» // usec
181 178
182 // sec is in AX, usec in DX 179 // sec is in AX, usec in DX
183 // return nsec in AX 180 // return nsec in AX
184 IMULQ $1000000000, AX 181 IMULQ $1000000000, AX
185 IMULQ $1000, DX
186 ADDQ DX, AX 182 ADDQ DX, AX
187 RET 183 RET
188 184
189 TEXT runtime·rtsigprocmask(SB),7,$0-32 185 TEXT runtime·rtsigprocmask(SB),7,$0-32
190 MOVL 8(SP), DI 186 MOVL 8(SP), DI
191 MOVQ 16(SP), SI 187 MOVQ 16(SP), SI
192 MOVQ 24(SP), DX 188 MOVQ 24(SP), DX
193 MOVL 32(SP), R10 189 MOVL 32(SP), R10
194 MOVL $14, AX // syscall entry 190 MOVL $14, AX // syscall entry
195 SYSCALL 191 SYSCALL
(...skipping 10 matching lines...) Expand all
206 MOVL $13, AX // syscall entry 202 MOVL $13, AX // syscall entry
207 SYSCALL 203 SYSCALL
208 RET 204 RET
209 205
210 TEXT runtime·sigtramp(SB),7,$64 206 TEXT runtime·sigtramp(SB),7,$64
211 get_tls(BX) 207 get_tls(BX)
212 208
213 // check that m exists 209 // check that m exists
214 MOVQ m(BX), BP 210 MOVQ m(BX), BP
215 CMPQ BP, $0 211 CMPQ BP, $0
216 » JNE» 2(PC) 212 » JNE» 4(PC)
213 » MOVQ» DI, 0(SP)
217 CALL runtime·badsignal(SB) 214 CALL runtime·badsignal(SB)
215 RET
218 216
219 // save g 217 // save g
220 MOVQ g(BX), R10 218 MOVQ g(BX), R10
221 MOVQ R10, 40(SP) 219 MOVQ R10, 40(SP)
222 220
223 // g = m->gsignal 221 // g = m->gsignal
224 MOVQ m_gsignal(BP), BP 222 MOVQ m_gsignal(BP), BP
225 MOVQ BP, g(BX) 223 MOVQ BP, g(BX)
226 224
227 MOVQ DI, 0(SP) 225 MOVQ DI, 0(SP)
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 SYSCALL 365 SYSCALL
368 RET 366 RET
369 367
370 TEXT runtime·sched_getaffinity(SB),7,$0 368 TEXT runtime·sched_getaffinity(SB),7,$0
371 MOVQ 8(SP), DI 369 MOVQ 8(SP), DI
372 MOVL 16(SP), SI 370 MOVL 16(SP), SI
373 MOVQ 24(SP), DX 371 MOVQ 24(SP), DX
374 MOVL $204, AX // syscall entry 372 MOVL $204, AX // syscall entry
375 SYSCALL 373 SYSCALL
376 RET 374 RET
LEFTRIGHT

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