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

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 95 » MOVL» $232, AX» » » // syscall entry
65 SYSCALL 96 SYSCALL
66 RET 97 RET
67 98
68 TEXT runtime·getrlimit(SB),7,$0-24 99 TEXT runtime·getrlimit(SB),7,$0-24
69 MOVL 8(SP), DI 100 MOVL 8(SP), DI
70 MOVQ 16(SP), SI 101 MOVQ 16(SP), SI
71 MOVL $97, AX // syscall entry 102 MOVL $97, AX // syscall entry
72 SYSCALL 103 SYSCALL
73 RET 104 RET
74 105
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 TEXT runtime·mincore(SB),7,$0-24 141 TEXT runtime·mincore(SB),7,$0-24
111 MOVQ 8(SP), DI 142 MOVQ 8(SP), DI
112 MOVQ 16(SP), SI 143 MOVQ 16(SP), SI
113 MOVQ 24(SP), DX 144 MOVQ 24(SP), DX
114 MOVL $27, AX // syscall entry 145 MOVL $27, AX // syscall entry
115 SYSCALL 146 SYSCALL
116 RET 147 RET
117 148
118 // func now() (sec int64, nsec int32) 149 // func now() (sec int64, nsec int32)
119 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:
120 LEAQ 8(SP), DI 163 LEAQ 8(SP), DI
121 MOVQ $0, SI 164 MOVQ $0, SI
122 » MOVQ» $0xffffffffff600000, AX 165 » MOVQ» runtime·__vdso_gettimeofday_sym(SB), AX
123 CALL AX 166 CALL AX
124 MOVQ 8(SP), AX // sec 167 MOVQ 8(SP), AX // sec
125 MOVL 16(SP), DX // usec 168 MOVL 16(SP), DX // usec
126 169 » IMULQ» $1000, DX
127 » // sec is in AX, usec in DX
128 MOVQ AX, sec+0(FP) 170 MOVQ AX, sec+0(FP)
129 IMULQ $1000, DX
130 MOVL DX, nsec+8(FP) 171 MOVL DX, nsec+8(FP)
131 RET 172 RET
132 173
133 TEXT runtime·nanotime(SB), 7, $32 174 TEXT runtime·nanotime(SB), 7, $32
134 » LEAQ» 8(SP), DI 175 » CALL» time·now(SB)
135 » MOVQ» $0, SI 176 » MOVQ» 0(SP), AX» // sec
136 » MOVQ» $0xffffffffff600000, AX 177 » MOVL» 8(SP), DX» // nsec
137 » CALL» AX
138 » MOVQ» 8(SP), AX» // sec
139 » MOVL» 16(SP), DX» // usec
140 178
141 // sec is in AX, usec in DX 179 // sec is in AX, usec in DX
142 // return nsec in AX 180 // return nsec in AX
143 IMULQ $1000000000, AX 181 IMULQ $1000000000, AX
144 IMULQ $1000, DX
145 ADDQ DX, AX 182 ADDQ DX, AX
146 RET 183 RET
147 184
148 TEXT runtime·rtsigprocmask(SB),7,$0-32 185 TEXT runtime·rtsigprocmask(SB),7,$0-32
149 MOVL 8(SP), DI 186 MOVL 8(SP), DI
150 MOVQ 16(SP), SI 187 MOVQ 16(SP), SI
151 MOVQ 24(SP), DX 188 MOVQ 24(SP), DX
152 MOVL 32(SP), R10 189 MOVL 32(SP), R10
153 MOVL $14, AX // syscall entry 190 MOVL $14, AX // syscall entry
154 SYSCALL 191 SYSCALL
(...skipping 10 matching lines...) Expand all
165 MOVL $13, AX // syscall entry 202 MOVL $13, AX // syscall entry
166 SYSCALL 203 SYSCALL
167 RET 204 RET
168 205
169 TEXT runtime·sigtramp(SB),7,$64 206 TEXT runtime·sigtramp(SB),7,$64
170 get_tls(BX) 207 get_tls(BX)
171 208
172 // check that m exists 209 // check that m exists
173 MOVQ m(BX), BP 210 MOVQ m(BX), BP
174 CMPQ BP, $0 211 CMPQ BP, $0
175 » JNE» 2(PC) 212 » JNE» 4(PC)
213 » MOVQ» DI, 0(SP)
176 CALL runtime·badsignal(SB) 214 CALL runtime·badsignal(SB)
215 RET
177 216
178 // save g 217 // save g
179 MOVQ g(BX), R10 218 MOVQ g(BX), R10
180 MOVQ R10, 40(SP) 219 MOVQ R10, 40(SP)
181 220
182 // g = m->gsignal 221 // g = m->gsignal
183 MOVQ m_gsignal(BP), BP 222 MOVQ m_gsignal(BP), BP
184 MOVQ BP, g(BX) 223 MOVQ BP, g(BX)
185 224
186 MOVQ DI, 0(SP) 225 MOVQ DI, 0(SP)
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 SYSCALL 365 SYSCALL
327 RET 366 RET
328 367
329 TEXT runtime·sched_getaffinity(SB),7,$0 368 TEXT runtime·sched_getaffinity(SB),7,$0
330 MOVQ 8(SP), DI 369 MOVQ 8(SP), DI
331 MOVL 16(SP), SI 370 MOVL 16(SP), SI
332 MOVQ 24(SP), DX 371 MOVQ 24(SP), DX
333 MOVL $204, AX // syscall entry 372 MOVL $204, AX // syscall entry
334 SYSCALL 373 SYSCALL
335 RET 374 RET
LEFTRIGHT

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