Side by Side Diff

Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Keyboard Shortcuts

File
u :up to issue
m :publish + mail comments
M :edit review message
j / k :jump to file after / before current file
J / K :jump to next file with a comment after / before current file
Side-by-side diff
i :toggle intra-line diffs
e :expand all comments
c :collapse all comments
s :toggle showing all comments
n / p :next / previous diff chunk or comment
N / P :next / previous comment
<Up> / <Down> :next / previous line
<Enter> :respond to / edit current comment
d :mark current comment as done
Issue
u :up to list of issues
m :publish + mail comments
j / k :jump to patch after / before current patch
o / <Enter> :open current patch in side-by-side view
i :open current patch in unified diff view
Issue List
j / k :jump to issue after / before current issue
o / <Enter> :open current issue
# : close issue
Comment/message editing
<Ctrl> + s or <Ctrl> + Enter :save comment
<Esc> :cancel edit
Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(98)
Issues Repositories Search
Open Issues | Closed Issues | All Issues | Sign in with your Google Account to create issues and add comments

Side by Side Diff: src/pkg/runtime/plan9/386/sys.s

Issue 2273041: code review 2273041: Initial Plan9 runtime support for 386. (Closed)
Patch Set: code review 2273041: Initial Plan9 runtime support for 386. Created 15 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:
View unified diff | Download patch
« no previous file with comments | « src/pkg/runtime/plan9/386/signal.c ('k') | src/pkg/runtime/plan9/mem.c » ('j') | no next file with comments »
('i') | ('e') | ('c') | ('s')
OLDNEW
(Empty)
1 // Copyright 2010 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 #include "defs.h"
6 #include "386/asm.h"
7
8 // setldt(int entry, int address, int limit)
9 TEXT setldt(SB),7,0ドル
10 RET
11
12 TEXT write(SB),7,0ドル
13 MOVL 20,ドル AX
14 INT 64ドル
15 RET
16
17 TEXT exits(SB),7,0ドル
18 MOVL 8,ドル AX
19 INT 64ドル
20 RET
21
22 TEXT brk_(SB),7,0ドル
23 MOVL 24,ドル AX
24 INT 64ドル
25 RET
26
27 TEXT plan9_semacquire(SB),7,0ドル
28 MOVL 37,ドル AX
29 INT 64ドル
30 RET
31 ········
32 TEXT plan9_semrelease(SB),7,0ドル
33 MOVL 38,ドル AX
34 INT 64ドル
35 RET
36 ········
37 TEXT rfork(SB),7,0ドル
38 MOVL 19,ドル AX // rfork
39 INT 64ドル
40
41 // In parent, return.
42 CMPL AX, 0ドル
43 JEQ 2(PC)
44 RET
45
46 // In child on old stack.
47 MOVL mm+12(SP), BX // m
48 MOVL gg+16(SP), DX // g
49 MOVL fn+20(SP), SI // fn
50
51 // set SP to be on the new child stack
52 MOVL stack+8(SP), CX
53 MOVL CX, SP
54
55 // Initialize m, g.
56 get_tls(AX)
57 MOVL DX, g(AX)
58 MOVL BX, m(AX)
59
60 // Initialize AX from _tos->pid
61 MOVL 0xdfffeff8, AX
62 MOVL AX, m_procid(BX) // save pid as m->procid
63
64 CALL stackcheck(SB) // smashes AX, CX
65 ········
66 MOVL 0(DX), DX // paranoia; check they are not nil
67 MOVL 0(BX), BX
68 ········
69 // more paranoia; check that stack splitting code works
70 PUSHAL
71 CALL emptyfunc(SB)
72 POPAL
73 ········
74 CALL SI // fn()
75 CALL exit(SB)
76 RET
OLDNEW
« no previous file with comments | « src/pkg/runtime/plan9/386/signal.c ('k') | src/pkg/runtime/plan9/mem.c » ('j') | no next file with comments »
Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b

AltStyle によって変換されたページ (->オリジナル) /