1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
// Code generated by mkpreempt.go; DO NOT EDIT.
#include "go_asm.h"
#include "textflag.h"
// Note: asyncPreempt doesn't use the internal ABI, but we must be able to inject calls to it from the signal handler, so Go code has to see the PC of this function literally.
TEXT ·asyncPreempt<ABIInternal>(SB),NOSPLIT|NOFRAME,$0-0
MOV X1, -472(X2)
ADD $-472, X2
MOV X3, 8(X2)
MOV X5, 16(X2)
MOV X6, 24(X2)
MOV X7, 32(X2)
MOV X8, 40(X2)
MOV X9, 48(X2)
MOV X10, 56(X2)
MOV X11, 64(X2)
MOV X12, 72(X2)
MOV X13, 80(X2)
MOV X14, 88(X2)
MOV X15, 96(X2)
MOV X16, 104(X2)
MOV X17, 112(X2)
MOV X18, 120(X2)
MOV X19, 128(X2)
MOV X20, 136(X2)
MOV X21, 144(X2)
MOV X22, 152(X2)
MOV X23, 160(X2)
MOV X24, 168(X2)
MOV X25, 176(X2)
MOV X26, 184(X2)
MOV X28, 192(X2)
MOV X29, 200(X2)
MOV X30, 208(X2)
MOVD F0, 216(X2)
MOVD F1, 224(X2)
MOVD F2, 232(X2)
MOVD F3, 240(X2)
MOVD F4, 248(X2)
MOVD F5, 256(X2)
MOVD F6, 264(X2)
MOVD F7, 272(X2)
MOVD F8, 280(X2)
MOVD F9, 288(X2)
MOVD F10, 296(X2)
MOVD F11, 304(X2)
MOVD F12, 312(X2)
MOVD F13, 320(X2)
MOVD F14, 328(X2)
MOVD F15, 336(X2)
MOVD F16, 344(X2)
MOVD F17, 352(X2)
MOVD F18, 360(X2)
MOVD F19, 368(X2)
MOVD F20, 376(X2)
MOVD F21, 384(X2)
MOVD F22, 392(X2)
MOVD F23, 400(X2)
MOVD F24, 408(X2)
MOVD F25, 416(X2)
MOVD F26, 424(X2)
MOVD F27, 432(X2)
MOVD F28, 440(X2)
MOVD F29, 448(X2)
MOVD F30, 456(X2)
MOVD F31, 464(X2)
CALL ·asyncPreempt2(SB)
MOVD 464(X2), F31
MOVD 456(X2), F30
MOVD 448(X2), F29
MOVD 440(X2), F28
MOVD 432(X2), F27
MOVD 424(X2), F26
MOVD 416(X2), F25
MOVD 408(X2), F24
MOVD 400(X2), F23
MOVD 392(X2), F22
MOVD 384(X2), F21
MOVD 376(X2), F20
MOVD 368(X2), F19
MOVD 360(X2), F18
MOVD 352(X2), F17
MOVD 344(X2), F16
MOVD 336(X2), F15
MOVD 328(X2), F14
MOVD 320(X2), F13
MOVD 312(X2), F12
MOVD 304(X2), F11
MOVD 296(X2), F10
MOVD 288(X2), F9
MOVD 280(X2), F8
MOVD 272(X2), F7
MOVD 264(X2), F6
MOVD 256(X2), F5
MOVD 248(X2), F4
MOVD 240(X2), F3
MOVD 232(X2), F2
MOVD 224(X2), F1
MOVD 216(X2), F0
MOV 208(X2), X30
MOV 200(X2), X29
MOV 192(X2), X28
MOV 184(X2), X26
MOV 176(X2), X25
MOV 168(X2), X24
MOV 160(X2), X23
MOV 152(X2), X22
MOV 144(X2), X21
MOV 136(X2), X20
MOV 128(X2), X19
MOV 120(X2), X18
MOV 112(X2), X17
MOV 104(X2), X16
MOV 96(X2), X15
MOV 88(X2), X14
MOV 80(X2), X13
MOV 72(X2), X12
MOV 64(X2), X11
MOV 56(X2), X10
MOV 48(X2), X9
MOV 40(X2), X8
MOV 32(X2), X7
MOV 24(X2), X6
MOV 16(X2), X5
MOV 8(X2), X3
MOV 472(X2), X1
MOV (X2), X31
ADD $480, X2
JMP (X31)
|