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

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

Issue 6460108: net: epoll dispatcher 2
Left Patch Set: diff -r ac1b735e8753 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 10
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 RET 43 RET
44 44
45 TEXT runtime·read(SB),7,$0-24 45 TEXT runtime·read(SB),7,$0-24
46 MOVL 8(SP), DI 46 MOVL 8(SP), DI
47 MOVQ 16(SP), SI 47 MOVQ 16(SP), SI
48 MOVL 24(SP), DX 48 MOVL 24(SP), DX
49 MOVL $0, AX // syscall entry 49 MOVL $0, AX // syscall entry
50 SYSCALL 50 SYSCALL
51 RET 51 RET
52 52
53 TEXT runtime·epollcreate(SB),7,$0-8
54 MOVL 8(SP), DI
55 MOVL $213, AX // syscall entry
56 SYSCALL
57 CMPQ AX, $0xfffffffffffff001
58 JLS epollcreateok
59 NEGQ AX
60 RET
61 epollcreateok:
62 MOVQ 16(SP), DI
63 MOVL AX, (DI)
64 MOVL $0, AX
65 RET
66
53 TEXT runtime·epollcreate1(SB),7,$0-8 67 TEXT runtime·epollcreate1(SB),7,$0-8
54 MOVL 8(SP), DI 68 MOVL 8(SP), DI
55 MOVL $291, AX // syscall entry 69 MOVL $291, AX // syscall entry
56 SYSCALL 70 SYSCALL
71 CMPQ AX, $0xfffffffffffff001
72 JLS epollcreate1ok
73 NEGQ AX
74 RET
75 epollcreate1ok:
76 MOVQ 16(SP), DI
77 MOVL AX, (DI)
78 MOVL $0, AX
57 RET 79 RET
58 80
59 TEXT runtime·epollctl(SB),7,$0-32 81 TEXT runtime·epollctl(SB),7,$0-32
60 MOVL 8(SP), DI 82 MOVL 8(SP), DI
61 » MOVL» 16(SP), SI 83 » MOVL» 12(SP), SI
84 » MOVL» 16(SP), DX
85 » MOVQ» 24(SP), R10
86 » MOVL» $233, AX» » » // syscall entry
87 » SYSCALL
88 » RET
89
90 TEXT runtime·epollwait(SB),7,$0-32
91 » MOVL» 8(SP), DI
92 » MOVQ» 16(SP), SI
62 MOVL 24(SP), DX 93 MOVL 24(SP), DX
63 » MOVQ» 32(SP), R10 94 » MOVL» 28(SP), R10
64 » MOVL» $233, AX» » » // syscall entry
65 » SYSCALL
66 » RET
67
68 TEXT runtime·epollwait(SB),7,$0-32
69 » MOVL» 8(SP), DI
70 » MOVQ» 16(SP), SI
71 » MOVL» 24(SP), DX
72 » MOVL» 32(SP), R10
73 MOVL $232, AX // syscall entry 95 MOVL $232, AX // syscall entry
74 SYSCALL 96 SYSCALL
75 RET 97 RET
76 98
77 TEXT runtime·getrlimit(SB),7,$0-24 99 TEXT runtime·getrlimit(SB),7,$0-24
78 MOVL 8(SP), DI 100 MOVL 8(SP), DI
79 MOVQ 16(SP), SI 101 MOVQ 16(SP), SI
80 MOVL $97, AX // syscall entry 102 MOVL $97, AX // syscall entry
81 SYSCALL 103 SYSCALL
82 RET 104 RET
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 TEXT runtime·mincore(SB),7,$0-24 141 TEXT runtime·mincore(SB),7,$0-24
120 MOVQ 8(SP), DI 142 MOVQ 8(SP), DI
121 MOVQ 16(SP), SI 143 MOVQ 16(SP), SI
122 MOVQ 24(SP), DX 144 MOVQ 24(SP), DX
123 MOVL $27, AX // syscall entry 145 MOVL $27, AX // syscall entry
124 SYSCALL 146 SYSCALL
125 RET 147 RET
126 148
127 // func now() (sec int64, nsec int32) 149 // func now() (sec int64, nsec int32)
128 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:
129 LEAQ 8(SP), DI 163 LEAQ 8(SP), DI
130 MOVQ $0, SI 164 MOVQ $0, SI
131 » MOVQ» $0xffffffffff600000, AX 165 » MOVQ» runtime·__vdso_gettimeofday_sym(SB), AX
132 CALL AX 166 CALL AX
133 MOVQ 8(SP), AX // sec 167 MOVQ 8(SP), AX // sec
134 MOVL 16(SP), DX // usec 168 MOVL 16(SP), DX // usec
135 169 » IMULQ» $1000, DX
136 » // sec is in AX, usec in DX
137 MOVQ AX, sec+0(FP) 170 MOVQ AX, sec+0(FP)
138 IMULQ $1000, DX
139 MOVL DX, nsec+8(FP) 171 MOVL DX, nsec+8(FP)
140 RET 172 RET
141 173
142 TEXT runtime·nanotime(SB), 7, $32 174 TEXT runtime·nanotime(SB), 7, $32
143 » LEAQ» 8(SP), DI 175 » CALL» time·now(SB)
144 » MOVQ» $0, SI 176 » MOVQ» 0(SP), AX» // sec
145 » MOVQ» $0xffffffffff600000, AX 177 » MOVL» 8(SP), DX» // nsec
146 » CALL» AX
147 » MOVQ» 8(SP), AX» // sec
148 » MOVL» 16(SP), DX» // usec
149 178
150 // sec is in AX, usec in DX 179 // sec is in AX, usec in DX
151 // return nsec in AX 180 // return nsec in AX
152 IMULQ $1000000000, AX 181 IMULQ $1000000000, AX
153 IMULQ $1000, DX
154 ADDQ DX, AX 182 ADDQ DX, AX
155 RET 183 RET
156 184
157 TEXT runtime·rtsigprocmask(SB),7,$0-32 185 TEXT runtime·rtsigprocmask(SB),7,$0-32
158 MOVL 8(SP), DI 186 MOVL 8(SP), DI
159 MOVQ 16(SP), SI 187 MOVQ 16(SP), SI
160 MOVQ 24(SP), DX 188 MOVQ 24(SP), DX
161 MOVL 32(SP), R10 189 MOVL 32(SP), R10
162 MOVL $14, AX // syscall entry 190 MOVL $14, AX // syscall entry
163 SYSCALL 191 SYSCALL
(...skipping 10 matching lines...) Expand all
174 MOVL $13, AX // syscall entry 202 MOVL $13, AX // syscall entry
175 SYSCALL 203 SYSCALL
176 RET 204 RET
177 205
178 TEXT runtime·sigtramp(SB),7,$64 206 TEXT runtime·sigtramp(SB),7,$64
179 get_tls(BX) 207 get_tls(BX)
180 208
181 // check that m exists 209 // check that m exists
182 MOVQ m(BX), BP 210 MOVQ m(BX), BP
183 CMPQ BP, $0 211 CMPQ BP, $0
184 » JNE» 2(PC) 212 » JNE» 4(PC)
213 » MOVQ» DI, 0(SP)
185 CALL runtime·badsignal(SB) 214 CALL runtime·badsignal(SB)
215 RET
186 216
187 // save g 217 // save g
188 MOVQ g(BX), R10 218 MOVQ g(BX), R10
189 MOVQ R10, 40(SP) 219 MOVQ R10, 40(SP)
190 220
191 // g = m->gsignal 221 // g = m->gsignal
192 MOVQ m_gsignal(BP), BP 222 MOVQ m_gsignal(BP), BP
193 MOVQ BP, g(BX) 223 MOVQ BP, g(BX)
194 224
195 MOVQ DI, 0(SP) 225 MOVQ DI, 0(SP)
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 SYSCALL 365 SYSCALL
336 RET 366 RET
337 367
338 TEXT runtime·sched_getaffinity(SB),7,$0 368 TEXT runtime·sched_getaffinity(SB),7,$0
339 MOVQ 8(SP), DI 369 MOVQ 8(SP), DI
340 MOVL 16(SP), SI 370 MOVL 16(SP), SI
341 MOVQ 24(SP), DX 371 MOVQ 24(SP), DX
342 MOVL $204, AX // syscall entry 372 MOVL $204, AX // syscall entry
343 SYSCALL 373 SYSCALL
344 RET 374 RET
LEFTRIGHT

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