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

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

Issue 5792048: code review 5792048: runtime: inline calls to notok (Closed)
Left Patch Set: Created 13 years, 1 month ago
Right 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:
Right: Side by side diff | Download
« no previous file with change/comment | « src/pkg/runtime/sys_darwin_amd64.s ('k') | src/pkg/runtime/sys_freebsd_amd64.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 // System calls and other sys.stuff for 386, FreeBSD 5 // System calls and other sys.stuff for 386, 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 27 matching lines...) Expand all
38 ········ 38 ········
39 MOVL AX, m(CX) 39 MOVL AX, m(CX)
40 CALL runtime·stackcheck(SB) // smashes AX 40 CALL runtime·stackcheck(SB) // smashes AX
41 CALL runtime·mstart(SB) 41 CALL runtime·mstart(SB)
42 MOVL 0, AX // crash (not reached) 42 MOVL 0, AX // crash (not reached)
43 43
44 // Exit the entire program (like C exit) 44 // Exit the entire program (like C exit)
45 TEXT runtime·exit(SB),7,$-4 45 TEXT runtime·exit(SB),7,$-4
46 MOVL $1, AX 46 MOVL $1, AX
47 INT $0x80 47 INT $0x80
48 » CALL» runtime·notok(SB) 48 » MOVL» $0xf1, 0xf1 // crash
49 RET 49 RET
50 50
51 TEXT runtime·exit1(SB),7,$-4 51 TEXT runtime·exit1(SB),7,$-4
52 MOVL $431, AX 52 MOVL $431, AX
53 INT $0x80 53 INT $0x80
54 JAE 2(PC) 54 JAE 2(PC)
55 » CALL» runtime·notok(SB) 55 » MOVL» $0xf1, 0xf1 // crash
56 RET 56 RET
57 57
58 TEXT runtime·write(SB),7,$-4 58 TEXT runtime·write(SB),7,$-4
59 MOVL $4, AX 59 MOVL $4, AX
60 INT $0x80 60 INT $0x80
61 RET 61 RET
62 62
63 TEXT runtime·getrlimit(SB),7,$-4 63 TEXT runtime·getrlimit(SB),7,$-4
64 MOVL $194, AX 64 MOVL $194, AX
65 INT $0x80 65 INT $0x80
66 RET 66 RET
67 67
68 TEXT runtime·raisesigpipe(SB),7,$12 68 TEXT runtime·raisesigpipe(SB),7,$12
69 // thr_self(&8(SP)) 69 // thr_self(&8(SP))
70 LEAL 8(SP), AX 70 LEAL 8(SP), AX
71 MOVL AX, 0(SP) 71 MOVL AX, 0(SP)
72 MOVL $432, AX 72 MOVL $432, AX
73 INT $0x80 73 INT $0x80
74 // thr_kill(self, SIGPIPE) 74 // thr_kill(self, SIGPIPE)
75 MOVL 8(SP), AX 75 MOVL 8(SP), AX
76 MOVL AX, 0(SP) 76 MOVL AX, 0(SP)
77 MOVL $13, 4(SP) 77 MOVL $13, 4(SP)
78 MOVL $433, AX 78 MOVL $433, AX
79 INT $0x80 79 INT $0x80
80 RET 80 RET
81 81
82 TEXT runtime·notok(SB),7,$0
83 MOVL $0xf1, 0xf1
84 RET
85
86 TEXT runtime·mmap(SB),7,$32 82 TEXT runtime·mmap(SB),7,$32
87 LEAL arg0+0(FP), SI 83 LEAL arg0+0(FP), SI
88 LEAL 4(SP), DI 84 LEAL 4(SP), DI
89 CLD 85 CLD
90 MOVSL 86 MOVSL
91 MOVSL 87 MOVSL
92 MOVSL 88 MOVSL
93 MOVSL 89 MOVSL
94 MOVSL 90 MOVSL
95 MOVSL 91 MOVSL
96 MOVL $0, AX // top 64 bits of file offset 92 MOVL $0, AX // top 64 bits of file offset
97 STOSL 93 STOSL
98 MOVL $477, AX 94 MOVL $477, AX
99 INT $0x80 95 INT $0x80
100 RET 96 RET
101 97
102 TEXT runtime·munmap(SB),7,$-4 98 TEXT runtime·munmap(SB),7,$-4
103 MOVL $73, AX 99 MOVL $73, AX
104 INT $0x80 100 INT $0x80
105 JAE 2(PC) 101 JAE 2(PC)
106 » CALL» runtime·notok(SB) 102 » MOVL» $0xf1, 0xf1 // crash
107 RET 103 RET
108 104
109 TEXT runtime·setitimer(SB), 7, $-4 105 TEXT runtime·setitimer(SB), 7, $-4
110 MOVL $83, AX 106 MOVL $83, AX
111 INT $0x80 107 INT $0x80
112 RET 108 RET
113 109
114 // func now() (sec int64, nsec int32) 110 // func now() (sec int64, nsec int32)
115 TEXT time·now(SB), 7, $32 111 TEXT time·now(SB), 7, $32
116 MOVL $116, AX 112 MOVL $116, AX
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 MOVL ret+0(FP), DI 146 MOVL ret+0(FP), DI
151 MOVL AX, 0(DI) 147 MOVL AX, 0(DI)
152 MOVL DX, 4(DI) 148 MOVL DX, 4(DI)
153 RET 149 RET
154 150
155 151
156 TEXT runtime·sigaction(SB),7,$-4 152 TEXT runtime·sigaction(SB),7,$-4
157 MOVL $416, AX 153 MOVL $416, AX
158 INT $0x80 154 INT $0x80
159 JAE 2(PC) 155 JAE 2(PC)
160 » CALL» runtime·notok(SB) 156 » MOVL» $0xf1, 0xf1 // crash
161 RET 157 RET
162 158
163 TEXT runtime·sigtramp(SB),7,$44 159 TEXT runtime·sigtramp(SB),7,$44
164 get_tls(CX) 160 get_tls(CX)
165 161
166 // save g 162 // save g
167 MOVL g(CX), DI 163 MOVL g(CX), DI
168 MOVL DI, 20(SP) 164 MOVL DI, 20(SP)
169 ········ 165 ········
170 // g = m->gsignal 166 // g = m->gsignal
(...skipping 16 matching lines...) Expand all
187 get_tls(CX) 183 get_tls(CX)
188 MOVL 20(SP), BX 184 MOVL 20(SP), BX
189 MOVL BX, g(CX) 185 MOVL BX, g(CX)
190 ········ 186 ········
191 // call sigreturn 187 // call sigreturn
192 MOVL context+8(FP), AX 188 MOVL context+8(FP), AX
193 MOVL $0, 0(SP) // syscall gap 189 MOVL $0, 0(SP) // syscall gap
194 MOVL AX, 4(SP) 190 MOVL AX, 4(SP)
195 MOVL $417, AX // sigreturn(ucontext) 191 MOVL $417, AX // sigreturn(ucontext)
196 INT $0x80 192 INT $0x80
197 » CALL» runtime·notok(SB) 193 » MOVL» $0xf1, 0xf1 // crash
198 RET 194 RET
199 195
200 TEXT runtime·sigaltstack(SB),7,$0 196 TEXT runtime·sigaltstack(SB),7,$0
201 MOVL $53, AX 197 MOVL $53, AX
202 INT $0x80 198 INT $0x80
203 JAE 2(PC) 199 JAE 2(PC)
204 » CALL» runtime·notok(SB) 200 » MOVL» $0xf1, 0xf1 // crash
205 RET 201 RET
206 202
207 TEXT runtime·usleep(SB),7,$20 203 TEXT runtime·usleep(SB),7,$20
208 MOVL $0, DX 204 MOVL $0, DX
209 MOVL usec+0(FP), AX 205 MOVL usec+0(FP), AX
210 MOVL $1000000, CX 206 MOVL $1000000, CX
211 DIVL CX 207 DIVL CX
212 MOVL AX, 12(SP) // tv_sec 208 MOVL AX, 12(SP) // tv_sec
213 MOVL $1000, AX 209 MOVL $1000, AX
214 MULL DX 210 MULL DX
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 TEXT runtime·sigprocmask(SB),7,$16 306 TEXT runtime·sigprocmask(SB),7,$16
311 MOVL $0, 0(SP) // syscall gap 307 MOVL $0, 0(SP) // syscall gap
312 MOVL $3, 4(SP) // arg 1 - how (SIG_SETMASK) 308 MOVL $3, 4(SP) // arg 1 - how (SIG_SETMASK)
313 MOVL args+0(FP), AX 309 MOVL args+0(FP), AX
314 MOVL AX, 8(SP) // arg 2 - set 310 MOVL AX, 8(SP) // arg 2 - set
315 MOVL args+4(FP), AX 311 MOVL args+4(FP), AX
316 MOVL AX, 12(SP) // arg 3 - oset 312 MOVL AX, 12(SP) // arg 3 - oset
317 MOVL $340, AX // sys_sigprocmask 313 MOVL $340, AX // sys_sigprocmask
318 INT $0x80 314 INT $0x80
319 JAE 2(PC) 315 JAE 2(PC)
320 » CALL» runtime·notok(SB) 316 » MOVL» $0xf1, 0xf1 // crash
321 RET 317 RET
322 318
323 GLOBL runtime·tlsoffset(SB),$4 319 GLOBL runtime·tlsoffset(SB),$4
LEFTRIGHT

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