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

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

Issue 12613044: code review 12613044: runtime: convert .s textflags from numbers to symbolic ... (Closed)
Left Patch Set: Created 11 years, 7 months ago
Right Patch Set: diff -r 06da2934c103 https://khr%40golang.org@code.google.com/p/go/ Created 11 years, 7 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:
Right: Side by side diff | Download
« no previous file with change/comment | « src/pkg/runtime/sys_linux_amd64.s ('k') | src/pkg/runtime/sys_netbsd_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
(no file at all)
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 arm, Linux 6 // System calls and other sys.stuff for arm, Linux
7 // 7 //
8 8
9 #include "zasm_GOOS_GOARCH.h" 9 #include "zasm_GOOS_GOARCH.h"
10 #include "../../cmd/ld/textflag.h"
10 11
11 // for EABI, as we don't support OABI 12 // for EABI, as we don't support OABI
12 #define SYS_BASE 0x0 13 #define SYS_BASE 0x0
13 14
14 #define SYS_exit (SYS_BASE + 1) 15 #define SYS_exit (SYS_BASE + 1)
15 #define SYS_read (SYS_BASE + 3) 16 #define SYS_read (SYS_BASE + 3)
16 #define SYS_write (SYS_BASE + 4) 17 #define SYS_write (SYS_BASE + 4)
17 #define SYS_open (SYS_BASE + 5) 18 #define SYS_open (SYS_BASE + 5)
18 #define SYS_close (SYS_BASE + 6) 19 #define SYS_close (SYS_BASE + 6)
19 #define SYS_gettimeofday (SYS_BASE + 78) 20 #define SYS_gettimeofday (SYS_BASE + 78)
(...skipping 17 matching lines...) Expand all
37 #define SYS_sched_getaffinity (SYS_BASE + 242) 38 #define SYS_sched_getaffinity (SYS_BASE + 242)
38 #define SYS_clock_gettime (SYS_BASE + 263) 39 #define SYS_clock_gettime (SYS_BASE + 263)
39 #define SYS_epoll_create (SYS_BASE + 250) 40 #define SYS_epoll_create (SYS_BASE + 250)
40 #define SYS_epoll_ctl (SYS_BASE + 251) 41 #define SYS_epoll_ctl (SYS_BASE + 251)
41 #define SYS_epoll_wait (SYS_BASE + 252) 42 #define SYS_epoll_wait (SYS_BASE + 252)
42 #define SYS_epoll_create1 (SYS_BASE + 357) 43 #define SYS_epoll_create1 (SYS_BASE + 357)
43 #define SYS_fcntl (SYS_BASE + 55) 44 #define SYS_fcntl (SYS_BASE + 55)
44 45
45 #define ARM_BASE (SYS_BASE + 0x0f0000) 46 #define ARM_BASE (SYS_BASE + 0x0f0000)
46 47
47 TEXT runtime·open(SB),7,$0 48 TEXT runtime·open(SB),NOSPLIT,$0
48 MOVW 0(FP), R0 49 MOVW 0(FP), R0
49 MOVW 4(FP), R1 50 MOVW 4(FP), R1
50 MOVW 8(FP), R2 51 MOVW 8(FP), R2
51 MOVW $SYS_open, R7 52 MOVW $SYS_open, R7
52 SWI $0 53 SWI $0
53 RET 54 RET
54 55
55 TEXT runtime·close(SB),7,$0 56 TEXT runtime·close(SB),NOSPLIT,$0
56 MOVW 0(FP), R0 57 MOVW 0(FP), R0
57 MOVW $SYS_close, R7 58 MOVW $SYS_close, R7
58 SWI $0 59 SWI $0
59 RET 60 RET
60 61
61 TEXT runtime·write(SB),7,$0 62 TEXT runtime·write(SB),NOSPLIT,$0
62 MOVW 0(FP), R0 63 MOVW 0(FP), R0
63 MOVW 4(FP), R1 64 MOVW 4(FP), R1
64 MOVW 8(FP), R2 65 MOVW 8(FP), R2
65 MOVW $SYS_write, R7 66 MOVW $SYS_write, R7
66 SWI $0 67 SWI $0
67 RET 68 RET
68 69
69 TEXT runtime·read(SB),7,$0 70 TEXT runtime·read(SB),NOSPLIT,$0
70 MOVW 0(FP), R0 71 MOVW 0(FP), R0
71 MOVW 4(FP), R1 72 MOVW 4(FP), R1
72 MOVW 8(FP), R2 73 MOVW 8(FP), R2
73 MOVW $SYS_read, R7 74 MOVW $SYS_read, R7
74 SWI $0 75 SWI $0
75 RET 76 RET
76 77
77 TEXT runtime·getrlimit(SB),7,$0 78 TEXT runtime·getrlimit(SB),NOSPLIT,$0
78 MOVW 0(FP), R0 79 MOVW 0(FP), R0
79 MOVW 4(FP), R1 80 MOVW 4(FP), R1
80 MOVW $SYS_ugetrlimit, R7 81 MOVW $SYS_ugetrlimit, R7
81 SWI $0 82 SWI $0
82 RET 83 RET
83 84
84 TEXT runtime·exit(SB),7,$-4 85 TEXT runtime·exit(SB),NOSPLIT,$-4
85 MOVW 0(FP), R0 86 MOVW 0(FP), R0
86 MOVW $SYS_exit_group, R7 87 MOVW $SYS_exit_group, R7
87 SWI $0 88 SWI $0
88 MOVW $1234, R0 89 MOVW $1234, R0
89 MOVW $1002, R1 90 MOVW $1002, R1
90 MOVW R0, (R1) // fail hard 91 MOVW R0, (R1) // fail hard
91 92
92 TEXT runtime·exit1(SB),7,$-4 93 TEXT runtime·exit1(SB),NOSPLIT,$-4
93 MOVW 0(FP), R0 94 MOVW 0(FP), R0
94 MOVW $SYS_exit, R7 95 MOVW $SYS_exit, R7
95 SWI $0 96 SWI $0
96 MOVW $1234, R0 97 MOVW $1234, R0
97 MOVW $1003, R1 98 MOVW $1003, R1
98 MOVW R0, (R1) // fail hard 99 MOVW R0, (R1) // fail hard
99 100
100 TEXT» runtime·raise(SB),7,$-4 101 TEXT» runtime·raise(SB),NOSPLIT,$-4
101 MOVW $SYS_gettid, R7 102 MOVW $SYS_gettid, R7
102 SWI $0 103 SWI $0
103 // arg 1 tid already in R0 from gettid 104 // arg 1 tid already in R0 from gettid
104 MOVW sig+0(FP), R1 // arg 2 - signal 105 MOVW sig+0(FP), R1 // arg 2 - signal
105 MOVW $SYS_tkill, R7 106 MOVW $SYS_tkill, R7
106 SWI $0 107 SWI $0
107 RET 108 RET
108 109
109 TEXT runtime·mmap(SB),7,$0 110 TEXT runtime·mmap(SB),NOSPLIT,$0
110 MOVW 0(FP), R0 111 MOVW 0(FP), R0
111 MOVW 4(FP), R1 112 MOVW 4(FP), R1
112 MOVW 8(FP), R2 113 MOVW 8(FP), R2
113 MOVW 12(FP), R3 114 MOVW 12(FP), R3
114 MOVW 16(FP), R4 115 MOVW 16(FP), R4
115 MOVW 20(FP), R5 116 MOVW 20(FP), R5
116 MOVW $SYS_mmap2, R7 117 MOVW $SYS_mmap2, R7
117 SWI $0 118 SWI $0
118 MOVW $0xfffff001, R6 119 MOVW $0xfffff001, R6
119 CMP R6, R0 120 CMP R6, R0
120 RSB.HI $0, R0 121 RSB.HI $0, R0
121 RET 122 RET
122 123
123 TEXT runtime·munmap(SB),7,$0 124 TEXT runtime·munmap(SB),NOSPLIT,$0
124 MOVW 0(FP), R0 125 MOVW 0(FP), R0
125 MOVW 4(FP), R1 126 MOVW 4(FP), R1
126 MOVW $SYS_munmap, R7 127 MOVW $SYS_munmap, R7
127 SWI $0 128 SWI $0
128 MOVW $0xfffff001, R6 129 MOVW $0xfffff001, R6
129 CMP R6, R0 130 CMP R6, R0
130 MOVW.HI $0, R8 // crash on syscall failure 131 MOVW.HI $0, R8 // crash on syscall failure
131 MOVW.HI R8, (R8) 132 MOVW.HI R8, (R8)
132 RET 133 RET
133 134
134 TEXT runtime·madvise(SB),7,$0 135 TEXT runtime·madvise(SB),NOSPLIT,$0
135 MOVW 0(FP), R0 136 MOVW 0(FP), R0
136 MOVW 4(FP), R1 137 MOVW 4(FP), R1
137 MOVW 8(FP), R2 138 MOVW 8(FP), R2
138 MOVW $SYS_madvise, R7 139 MOVW $SYS_madvise, R7
139 SWI $0 140 SWI $0
140 // ignore failure - maybe pages are locked 141 // ignore failure - maybe pages are locked
141 RET 142 RET
142 143
143 TEXT runtime·setitimer(SB),7,$0 144 TEXT runtime·setitimer(SB),NOSPLIT,$0
144 MOVW 0(FP), R0 145 MOVW 0(FP), R0
145 MOVW 4(FP), R1 146 MOVW 4(FP), R1
146 MOVW 8(FP), R2 147 MOVW 8(FP), R2
147 MOVW $SYS_setitimer, R7 148 MOVW $SYS_setitimer, R7
148 SWI $0 149 SWI $0
149 RET 150 RET
150 151
151 TEXT runtime·mincore(SB),7,$0 152 TEXT runtime·mincore(SB),NOSPLIT,$0
152 MOVW 0(FP), R0 153 MOVW 0(FP), R0
153 MOVW 4(FP), R1 154 MOVW 4(FP), R1
154 MOVW 8(FP), R2 155 MOVW 8(FP), R2
155 MOVW $SYS_mincore, R7 156 MOVW $SYS_mincore, R7
156 SWI $0 157 SWI $0
157 RET 158 RET
158 159
159 TEXT time·now(SB), 7, $32 160 TEXT time·now(SB), NOSPLIT, $32
160 MOVW $0, R0 // CLOCK_REALTIME 161 MOVW $0, R0 // CLOCK_REALTIME
161 MOVW $8(R13), R1 // timespec 162 MOVW $8(R13), R1 // timespec
162 MOVW $SYS_clock_gettime, R7 163 MOVW $SYS_clock_gettime, R7
163 SWI $0 164 SWI $0
164 ········ 165 ········
165 MOVW 8(R13), R0 // sec 166 MOVW 8(R13), R0 // sec
166 MOVW 12(R13), R2 // nsec 167 MOVW 12(R13), R2 // nsec
167 ········ 168 ········
168 MOVW R0, 0(FP) 169 MOVW R0, 0(FP)
169 MOVW $0, R1 170 MOVW $0, R1
170 MOVW R1, 4(FP) 171 MOVW R1, 4(FP)
171 MOVW R2, 8(FP) 172 MOVW R2, 8(FP)
172 RET····· 173 RET·····
173 174
174 // int64 nanotime(void) so really 175 // int64 nanotime(void) so really
175 // void nanotime(int64 *nsec) 176 // void nanotime(int64 *nsec)
176 TEXT runtime·nanotime(SB),7,$32 177 TEXT runtime·nanotime(SB),NOSPLIT,$32
177 MOVW $0, R0 // CLOCK_REALTIME 178 MOVW $0, R0 // CLOCK_REALTIME
178 MOVW $8(R13), R1 // timespec 179 MOVW $8(R13), R1 // timespec
179 MOVW $SYS_clock_gettime, R7 180 MOVW $SYS_clock_gettime, R7
180 SWI $0 181 SWI $0
181 ········ 182 ········
182 MOVW 8(R13), R0 // sec 183 MOVW 8(R13), R0 // sec
183 MOVW 12(R13), R2 // nsec 184 MOVW 12(R13), R2 // nsec
184 ········ 185 ········
185 MOVW $1000000000, R3 186 MOVW $1000000000, R3
186 MULLU R0, R3, (R1, R0) 187 MULLU R0, R3, (R1, R0)
187 MOVW $0, R4 188 MOVW $0, R4
188 ADD.S R2, R0 189 ADD.S R2, R0
189 ADC R4, R1 190 ADC R4, R1
190 191
191 MOVW 0(FP), R3 192 MOVW 0(FP), R3
192 MOVW R0, 0(R3) 193 MOVW R0, 0(R3)
193 MOVW R1, 4(R3) 194 MOVW R1, 4(R3)
194 RET 195 RET
195 196
196 // int32 futex(int32 *uaddr, int32 op, int32 val, 197 // int32 futex(int32 *uaddr, int32 op, int32 val,
197 // struct timespec *timeout, int32 *uaddr2, int32 val2); 198 // struct timespec *timeout, int32 *uaddr2, int32 val2);
198 TEXT runtime·futex(SB),7,$0 199 TEXT runtime·futex(SB),NOSPLIT,$0
199 MOVW 4(SP), R0 200 MOVW 4(SP), R0
200 MOVW 8(SP), R1 201 MOVW 8(SP), R1
201 MOVW 12(SP), R2 202 MOVW 12(SP), R2
202 MOVW 16(SP), R3 203 MOVW 16(SP), R3
203 MOVW 20(SP), R4 204 MOVW 20(SP), R4
204 MOVW 24(SP), R5 205 MOVW 24(SP), R5
205 MOVW $SYS_futex, R7 206 MOVW $SYS_futex, R7
206 SWI $0 207 SWI $0
207 RET 208 RET
208 209
209 210
210 // int32 clone(int32 flags, void *stack, M *mp, G *gp, void (*fn)(void)); 211 // int32 clone(int32 flags, void *stack, M *mp, G *gp, void (*fn)(void));
211 TEXT runtime·clone(SB),7,$0 212 TEXT runtime·clone(SB),NOSPLIT,$0
212 MOVW flags+0(FP), R0 213 MOVW flags+0(FP), R0
213 MOVW stack+4(FP), R1 214 MOVW stack+4(FP), R1
214 MOVW $0, R2 // parent tid ptr 215 MOVW $0, R2 // parent tid ptr
215 MOVW $0, R3 // tls_val 216 MOVW $0, R3 // tls_val
216 MOVW $0, R4 // child tid ptr 217 MOVW $0, R4 // child tid ptr
217 MOVW $0, R5 218 MOVW $0, R5
218 219
219 // Copy mp, gp, fn off parent stack for use by child. 220 // Copy mp, gp, fn off parent stack for use by child.
220 // TODO(kaib): figure out which registers are clobbered by clone and avo id stack copying 221 // TODO(kaib): figure out which registers are clobbered by clone and avo id stack copying
221 MOVW $-16(R1), R1 222 MOVW $-16(R1), R1
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 265
265 MOVW $0, R0 266 MOVW $0, R0
266 MOVW R0, 4(R13) 267 MOVW R0, 4(R13)
267 BL runtime·exit1(SB) 268 BL runtime·exit1(SB)
268 269
269 // It shouldn't return 270 // It shouldn't return
270 MOVW $1234, R0 271 MOVW $1234, R0
271 MOVW $1005, R1 272 MOVW $1005, R1
272 MOVW R0, (R1) 273 MOVW R0, (R1)
273 274
274 TEXT runtime·sigaltstack(SB),7,$0 275 TEXT runtime·sigaltstack(SB),NOSPLIT,$0
275 MOVW 0(FP), R0 276 MOVW 0(FP), R0
276 MOVW 4(FP), R1 277 MOVW 4(FP), R1
277 MOVW $SYS_sigaltstack, R7 278 MOVW $SYS_sigaltstack, R7
278 SWI $0 279 SWI $0
279 MOVW $0xfffff001, R6 280 MOVW $0xfffff001, R6
280 CMP R6, R0 281 CMP R6, R0
281 MOVW.HI $0, R8 // crash on syscall failure 282 MOVW.HI $0, R8 // crash on syscall failure
282 MOVW.HI R8, (R8) 283 MOVW.HI R8, (R8)
283 RET 284 RET
284 285
285 TEXT runtime·sigtramp(SB),7,$24 286 TEXT runtime·sigtramp(SB),NOSPLIT,$24
286 // this might be called in external code context, 287 // this might be called in external code context,
287 // where g and m are not set. 288 // where g and m are not set.
288 // first save R0, because _cgo_load_gm will clobber it 289 // first save R0, because _cgo_load_gm will clobber it
289 MOVW R0, 4(R13) 290 MOVW R0, 4(R13)
290 MOVW _cgo_load_gm(SB), R0 291 MOVW _cgo_load_gm(SB), R0
291 CMP $0, R0 292 CMP $0, R0
292 BL.NE (R0) 293 BL.NE (R0)
293 294
294 CMP $0, m 295 CMP $0, m
295 BNE 4(PC) 296 BNE 4(PC)
(...skipping 15 matching lines...) Expand all
311 MOVW R2, 12(R13) 312 MOVW R2, 12(R13)
312 MOVW R3, 16(R13) 313 MOVW R3, 16(R13)
313 314
314 BL runtime·sighandler(SB) 315 BL runtime·sighandler(SB)
315 316
316 // restore g 317 // restore g
317 MOVW 20(R13), g 318 MOVW 20(R13), g
318 319
319 RET 320 RET
320 321
321 TEXT runtime·rtsigprocmask(SB),7,$0 322 TEXT runtime·rtsigprocmask(SB),NOSPLIT,$0
322 MOVW 0(FP), R0 323 MOVW 0(FP), R0
323 MOVW 4(FP), R1 324 MOVW 4(FP), R1
324 MOVW 8(FP), R2 325 MOVW 8(FP), R2
325 MOVW 12(FP), R3 326 MOVW 12(FP), R3
326 MOVW $SYS_rt_sigprocmask, R7 327 MOVW $SYS_rt_sigprocmask, R7
327 SWI $0 328 SWI $0
328 RET 329 RET
329 330
330 TEXT runtime·rt_sigaction(SB),7,$0 331 TEXT runtime·rt_sigaction(SB),NOSPLIT,$0
331 MOVW 0(FP), R0 332 MOVW 0(FP), R0
332 MOVW 4(FP), R1 333 MOVW 4(FP), R1
333 MOVW 8(FP), R2 334 MOVW 8(FP), R2
334 MOVW 12(FP), R3 335 MOVW 12(FP), R3
335 MOVW $SYS_rt_sigaction, R7 336 MOVW $SYS_rt_sigaction, R7
336 SWI $0 337 SWI $0
337 RET 338 RET
338 339
339 TEXT runtime·sigreturn(SB),7,$0 340 TEXT runtime·sigreturn(SB),NOSPLIT,$0
340 MOVW $SYS_rt_sigreturn, R7 341 MOVW $SYS_rt_sigreturn, R7
341 SWI $0 342 SWI $0
342 RET 343 RET
343 344
344 TEXT runtime·usleep(SB),7,$12 345 TEXT runtime·usleep(SB),NOSPLIT,$12
345 MOVW usec+0(FP), R0 346 MOVW usec+0(FP), R0
346 MOVW R0, R1 347 MOVW R0, R1
347 MOVW $1000000, R2 348 MOVW $1000000, R2
348 DIV R2, R0 349 DIV R2, R0
349 MOD R2, R1 350 MOD R2, R1
350 MOVW R0, 4(SP) 351 MOVW R0, 4(SP)
351 MOVW R1, 8(SP) 352 MOVW R1, 8(SP)
352 MOVW $0, R0 353 MOVW $0, R0
353 MOVW $0, R1 354 MOVW $0, R1
354 MOVW $0, R2 355 MOVW $0, R2
355 MOVW $0, R3 356 MOVW $0, R3
356 MOVW $4(SP), R4 357 MOVW $4(SP), R4
357 MOVW $SYS_select, R7 358 MOVW $SYS_select, R7
358 SWI $0 359 SWI $0
359 RET 360 RET
360 361
361 // Use kernel version instead of native armcas in asm_arm.s. 362 // Use kernel version instead of native armcas in asm_arm.s.
362 // See ../sync/atomic/asm_linux_arm.s for details. 363 // See ../sync/atomic/asm_linux_arm.s for details.
363 TEXT cas<>(SB),7,$0 364 TEXT cas<>(SB),NOSPLIT,$0
364 MOVW $0xffff0fc0, PC 365 MOVW $0xffff0fc0, PC
365 366
366 TEXT runtime·cas(SB),7,$0 367 TEXT runtime·cas(SB),NOSPLIT,$0
367 MOVW valptr+0(FP), R2 368 MOVW valptr+0(FP), R2
368 MOVW old+4(FP), R0 369 MOVW old+4(FP), R0
369 casagain: 370 casagain:
370 MOVW new+8(FP), R1 371 MOVW new+8(FP), R1
371 BL cas<>(SB) 372 BL cas<>(SB)
372 BCC cascheck 373 BCC cascheck
373 MOVW $1, R0 374 MOVW $1, R0
374 RET 375 RET
375 cascheck: 376 cascheck:
376 // Kernel lies; double-check. 377 // Kernel lies; double-check.
377 MOVW valptr+0(FP), R2 378 MOVW valptr+0(FP), R2
378 MOVW old+4(FP), R0 379 MOVW old+4(FP), R0
379 MOVW 0(R2), R3 380 MOVW 0(R2), R3
380 CMP R0, R3 381 CMP R0, R3
381 BEQ casagain 382 BEQ casagain
382 MOVW $0, R0 383 MOVW $0, R0
383 RET 384 RET
384 385
385 TEXT runtime·casp(SB),7,$0 386 TEXT runtime·casp(SB),NOSPLIT,$0
386 B runtime·cas(SB) 387 B runtime·cas(SB)
387 388
388 TEXT runtime·osyield(SB),7,$0 389 TEXT runtime·osyield(SB),NOSPLIT,$0
389 MOVW $SYS_sched_yield, R7 390 MOVW $SYS_sched_yield, R7
390 SWI $0 391 SWI $0
391 RET 392 RET
392 393
393 TEXT runtime·sched_getaffinity(SB),7,$0 394 TEXT runtime·sched_getaffinity(SB),NOSPLIT,$0
394 MOVW 0(FP), R0 395 MOVW 0(FP), R0
395 MOVW 4(FP), R1 396 MOVW 4(FP), R1
396 MOVW 8(FP), R2 397 MOVW 8(FP), R2
397 MOVW $SYS_sched_getaffinity, R7 398 MOVW $SYS_sched_getaffinity, R7
398 SWI $0 399 SWI $0
399 RET 400 RET
400 401
401 // int32 runtime·epollcreate(int32 size) 402 // int32 runtime·epollcreate(int32 size)
402 TEXT runtime·epollcreate(SB),7,$0 403 TEXT runtime·epollcreate(SB),NOSPLIT,$0
403 MOVW 0(FP), R0 404 MOVW 0(FP), R0
404 MOVW $SYS_epoll_create, R7 405 MOVW $SYS_epoll_create, R7
405 SWI $0 406 SWI $0
406 RET 407 RET
407 408
408 // int32 runtime·epollcreate1(int32 flags) 409 // int32 runtime·epollcreate1(int32 flags)
409 TEXT runtime·epollcreate1(SB),7,$0 410 TEXT runtime·epollcreate1(SB),NOSPLIT,$0
410 MOVW 0(FP), R0 411 MOVW 0(FP), R0
411 MOVW $SYS_epoll_create1, R7 412 MOVW $SYS_epoll_create1, R7
412 SWI $0 413 SWI $0
413 RET 414 RET
414 415
415 // int32 runtime·epollctl(int32 epfd, int32 op, int32 fd, EpollEvent *ev) 416 // int32 runtime·epollctl(int32 epfd, int32 op, int32 fd, EpollEvent *ev)
416 TEXT runtime·epollctl(SB),7,$0 417 TEXT runtime·epollctl(SB),NOSPLIT,$0
417 MOVW 0(FP), R0 418 MOVW 0(FP), R0
418 MOVW 4(FP), R1 419 MOVW 4(FP), R1
419 MOVW 8(FP), R2 420 MOVW 8(FP), R2
420 MOVW 12(FP), R3 421 MOVW 12(FP), R3
421 MOVW $SYS_epoll_ctl, R7 422 MOVW $SYS_epoll_ctl, R7
422 SWI $0 423 SWI $0
423 RET 424 RET
424 425
425 // int32 runtime·epollwait(int32 epfd, EpollEvent *ev, int32 nev, int32 timeout) 426 // int32 runtime·epollwait(int32 epfd, EpollEvent *ev, int32 nev, int32 timeout)
426 TEXT runtime·epollwait(SB),7,$0 427 TEXT runtime·epollwait(SB),NOSPLIT,$0
427 MOVW 0(FP), R0 428 MOVW 0(FP), R0
428 MOVW 4(FP), R1 429 MOVW 4(FP), R1
429 MOVW 8(FP), R2 430 MOVW 8(FP), R2
430 MOVW 12(FP), R3 431 MOVW 12(FP), R3
431 MOVW $SYS_epoll_wait, R7 432 MOVW $SYS_epoll_wait, R7
432 SWI $0 433 SWI $0
433 RET 434 RET
434 435
435 // void runtime·closeonexec(int32 fd) 436 // void runtime·closeonexec(int32 fd)
436 TEXT runtime·closeonexec(SB),7,$0 437 TEXT runtime·closeonexec(SB),NOSPLIT,$0
437 MOVW 0(FP), R0 // fd 438 MOVW 0(FP), R0 // fd
438 MOVW $2, R1 // F_SETFD 439 MOVW $2, R1 // F_SETFD
439 MOVW $1, R2 // FD_CLOEXEC 440 MOVW $1, R2 // FD_CLOEXEC
440 MOVW $SYS_fcntl, R7 441 MOVW $SYS_fcntl, R7
441 SWI $0 442 SWI $0
442 RET 443 RET
LEFTRIGHT

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