︙ | | |
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movdqa %xmm0, -0x50(%rbp)
movdqa %xmm1, -0x60(%rbp)
movdqa %xmm2, -0x70(%rbp)
movdqa %xmm3, -0x80(%rbp)
movdqa %xmm4, -0x90(%rbp)
movdqa %xmm5, -0xA0(%rbp)
movdqa %xmm6, -0xB0(%rbp)
movdqa %xmm7, -0xC0(%rbp)
movaps %xmm0, -0x50(%rbp)
movaps %xmm1, -0x60(%rbp)
movaps %xmm2, -0x70(%rbp)
movaps %xmm3, -0x80(%rbp)
movaps %xmm4, -0x90(%rbp)
movaps %xmm5, -0xA0(%rbp)
movaps %xmm6, -0xB0(%rbp)
movaps %xmm7, -0xC0(%rbp)
call _object_getClass
movq %rax, %rdi
movq sel_forwardingTargetForSelector_(%rip), %rsi
call _class_respondsToSelector
|
︙ | | |
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
jz 0f
cmpq -0x10(%rbp), %rax
je 0f
movq %rax, %rdi
/* Restore all arguments, except %rdi */
movdqa -0xC0(%rbp), %xmm7
movdqa -0xB0(%rbp), %xmm6
movdqa -0xA0(%rbp), %xmm5
movdqa -0x90(%rbp), %xmm4
movdqa -0x80(%rbp), %xmm3
movdqa -0x70(%rbp), %xmm2
movdqa -0x60(%rbp), %xmm1
movdqa -0x50(%rbp), %xmm0
movaps -0xC0(%rbp), %xmm7
movaps -0xB0(%rbp), %xmm6
movaps -0xA0(%rbp), %xmm5
movaps -0x90(%rbp), %xmm4
movaps -0x80(%rbp), %xmm3
movaps -0x70(%rbp), %xmm2
movaps -0x60(%rbp), %xmm1
movaps -0x50(%rbp), %xmm0
movq -0x38(%rbp), %r9
movq -0x30(%rbp), %r8
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rsi
movq -0x8(%rbp), %rax
|
︙ | | |
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movdqa %xmm0, -0x50(%rbp)
movdqa %xmm1, -0x60(%rbp)
movdqa %xmm2, -0x70(%rbp)
movdqa %xmm3, -0x80(%rbp)
movdqa %xmm4, -0x90(%rbp)
movdqa %xmm5, -0xA0(%rbp)
movdqa %xmm6, -0xB0(%rbp)
movdqa %xmm7, -0xC0(%rbp)
movaps %xmm0, -0x50(%rbp)
movaps %xmm1, -0x60(%rbp)
movaps %xmm2, -0x70(%rbp)
movaps %xmm3, -0x80(%rbp)
movaps %xmm4, -0x90(%rbp)
movaps %xmm5, -0xA0(%rbp)
movaps %xmm6, -0xB0(%rbp)
movaps %xmm7, -0xC0(%rbp)
movq %rsi, %rdi
call _object_getClass
movq %rax, %rdi
movq sel_forwardingTargetForSelector_(%rip), %rsi
call _class_respondsToSelector
|
︙ | | |
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
jz 0f
cmpq -0x18(%rbp), %rax
je 0f
movq %rax, %rsi
/* Restore all arguments, except %rsi */
movdqa -0xC0(%rbp), %xmm7
movdqa -0xB0(%rbp), %xmm6
movdqa -0xA0(%rbp), %xmm5
movdqa -0x90(%rbp), %xmm4
movdqa -0x80(%rbp), %xmm3
movdqa -0x70(%rbp), %xmm2
movdqa -0x60(%rbp), %xmm1
movdqa -0x50(%rbp), %xmm0
movaps -0xC0(%rbp), %xmm7
movaps -0xB0(%rbp), %xmm6
movaps -0xA0(%rbp), %xmm5
movaps -0x90(%rbp), %xmm4
movaps -0x80(%rbp), %xmm3
movaps -0x70(%rbp), %xmm2
movaps -0x60(%rbp), %xmm1
movaps -0x50(%rbp), %xmm0
movq -0x38(%rbp), %r9
movq -0x30(%rbp), %r8
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
|
︙ | | |
︙ | | |
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movdqa %xmm0, -0x50(%rbp)
movdqa %xmm1, -0x60(%rbp)
movdqa %xmm2, -0x70(%rbp)
movdqa %xmm3, -0x80(%rbp)
movdqa %xmm4, -0x90(%rbp)
movdqa %xmm5, -0xA0(%rbp)
movdqa %xmm6, -0xB0(%rbp)
movdqa %xmm7, -0xC0(%rbp)
movaps %xmm0, -0x50(%rbp)
movaps %xmm1, -0x60(%rbp)
movaps %xmm2, -0x70(%rbp)
movaps %xmm3, -0x80(%rbp)
movaps %xmm4, -0x90(%rbp)
movaps %xmm5, -0xA0(%rbp)
movaps %xmm6, -0xB0(%rbp)
movaps %xmm7, -0xC0(%rbp)
call object_getClass@PLT
movq %rax, %rdi
leaq sel_forwardingTargetForSelector_(%rip), %rsi
call class_respondsToSelector@PLT
|
︙ | | |
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
movq %rax, %rdi
movq -0x18(%rbp), %rsi
call objc_msg_lookup@PLT
movq %rax, %r11
/* Restore all arguments */
movdqa -0xC0(%rbp), %xmm7
movdqa -0xB0(%rbp), %xmm6
movdqa -0xA0(%rbp), %xmm5
movdqa -0x90(%rbp), %xmm4
movdqa -0x80(%rbp), %xmm3
movdqa -0x70(%rbp), %xmm2
movdqa -0x60(%rbp), %xmm1
movdqa -0x50(%rbp), %xmm0
movaps -0xC0(%rbp), %xmm7
movaps -0xB0(%rbp), %xmm6
movaps -0xA0(%rbp), %xmm5
movaps -0x90(%rbp), %xmm4
movaps -0x80(%rbp), %xmm3
movaps -0x70(%rbp), %xmm2
movaps -0x60(%rbp), %xmm1
movaps -0x50(%rbp), %xmm0
movq -0x38(%rbp), %r9
movq -0x30(%rbp), %r8
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
|
︙ | | |
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movdqa %xmm0, -0x50(%rbp)
movdqa %xmm1, -0x60(%rbp)
movdqa %xmm2, -0x70(%rbp)
movdqa %xmm3, -0x80(%rbp)
movdqa %xmm4, -0x90(%rbp)
movdqa %xmm5, -0xA0(%rbp)
movdqa %xmm6, -0xB0(%rbp)
movdqa %xmm7, -0xC0(%rbp)
movaps %xmm0, -0x50(%rbp)
movaps %xmm1, -0x60(%rbp)
movaps %xmm2, -0x70(%rbp)
movaps %xmm3, -0x80(%rbp)
movaps %xmm4, -0x90(%rbp)
movaps %xmm5, -0xA0(%rbp)
movaps %xmm6, -0xB0(%rbp)
movaps %xmm7, -0xC0(%rbp)
movq %rsi, %rdi
call object_getClass@PLT
movq %rax, %rdi
leaq sel_forwardingTargetForSelector_(%rip), %rsi
call class_respondsToSelector@PLT
|
︙ | | |
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
movq %rax, %rdi
movq -0x20(%rbp), %rsi
call objc_msg_lookup_stret@PLT
movq %rax, %r11
/* Restore all arguments */
movdqa -0xC0(%rbp), %xmm7
movdqa -0xB0(%rbp), %xmm6
movdqa -0xA0(%rbp), %xmm5
movdqa -0x90(%rbp), %xmm4
movdqa -0x80(%rbp), %xmm3
movdqa -0x70(%rbp), %xmm2
movdqa -0x60(%rbp), %xmm1
movdqa -0x50(%rbp), %xmm0
movaps -0xC0(%rbp), %xmm7
movaps -0xB0(%rbp), %xmm6
movaps -0xA0(%rbp), %xmm5
movaps -0x90(%rbp), %xmm4
movaps -0x80(%rbp), %xmm3
movaps -0x70(%rbp), %xmm2
movaps -0x60(%rbp), %xmm1
movaps -0x50(%rbp), %xmm0
movq -0x38(%rbp), %r9
movq -0x30(%rbp), %r8
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
|
︙ | | |
︙ | | |
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movdqa %xmm0, -0x50(%rbp)
movdqa %xmm1, -0x60(%rbp)
movdqa %xmm2, -0x70(%rbp)
movdqa %xmm3, -0x80(%rbp)
movdqa %xmm4, -0x90(%rbp)
movdqa %xmm5, -0xA0(%rbp)
movdqa %xmm6, -0xB0(%rbp)
movdqa %xmm7, -0xC0(%rbp)
movaps %xmm0, -0x50(%rbp)
movaps %xmm1, -0x60(%rbp)
movaps %xmm2, -0x70(%rbp)
movaps %xmm3, -0x80(%rbp)
movaps %xmm4, -0x90(%rbp)
movaps %xmm5, -0xA0(%rbp)
movaps %xmm6, -0xB0(%rbp)
movaps %xmm7, -0xC0(%rbp)
call _object_getClass
movq %rax, %rdi
leaq sel_forwardingTargetForSelector_(%rip), %rsi
call _class_respondsToSelector
|
︙ | | |
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
movq %rax, %rdi
movq -0x18(%rbp), %rsi
call _objc_msg_lookup
movq %rax, %r11
/* Restore all arguments */
movdqa -0xC0(%rbp), %xmm7
movdqa -0xB0(%rbp), %xmm6
movdqa -0xA0(%rbp), %xmm5
movdqa -0x90(%rbp), %xmm4
movdqa -0x80(%rbp), %xmm3
movdqa -0x70(%rbp), %xmm2
movdqa -0x60(%rbp), %xmm1
movdqa -0x50(%rbp), %xmm0
movaps -0xC0(%rbp), %xmm7
movaps -0xB0(%rbp), %xmm6
movaps -0xA0(%rbp), %xmm5
movaps -0x90(%rbp), %xmm4
movaps -0x80(%rbp), %xmm3
movaps -0x70(%rbp), %xmm2
movaps -0x60(%rbp), %xmm1
movaps -0x50(%rbp), %xmm0
movq -0x38(%rbp), %r9
movq -0x30(%rbp), %r8
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
|
︙ | | |
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movdqa %xmm0, -0x50(%rbp)
movdqa %xmm1, -0x60(%rbp)
movdqa %xmm2, -0x70(%rbp)
movdqa %xmm3, -0x80(%rbp)
movdqa %xmm4, -0x90(%rbp)
movdqa %xmm5, -0xA0(%rbp)
movdqa %xmm6, -0xB0(%rbp)
movdqa %xmm7, -0xC0(%rbp)
movaps %xmm0, -0x50(%rbp)
movaps %xmm1, -0x60(%rbp)
movaps %xmm2, -0x70(%rbp)
movaps %xmm3, -0x80(%rbp)
movaps %xmm4, -0x90(%rbp)
movaps %xmm5, -0xA0(%rbp)
movaps %xmm6, -0xB0(%rbp)
movaps %xmm7, -0xC0(%rbp)
movq %rsi, %rdi
call _object_getClass
movq %rax, %rdi
leaq sel_forwardingTargetForSelector_(%rip), %rsi
call _class_respondsToSelector
|
︙ | | |
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
movq %rax, %rdi
movq -0x20(%rbp), %rsi
call _objc_msg_lookup_stret
movq %rax, %r11
/* Restore all arguments */
movdqa -0xC0(%rbp), %xmm7
movdqa -0xB0(%rbp), %xmm6
movdqa -0xA0(%rbp), %xmm5
movdqa -0x90(%rbp), %xmm4
movdqa -0x80(%rbp), %xmm3
movdqa -0x70(%rbp), %xmm2
movdqa -0x60(%rbp), %xmm1
movdqa -0x50(%rbp), %xmm0
movaps -0xC0(%rbp), %xmm7
movaps -0xB0(%rbp), %xmm6
movaps -0xA0(%rbp), %xmm5
movaps -0x90(%rbp), %xmm4
movaps -0x80(%rbp), %xmm3
movaps -0x70(%rbp), %xmm2
movaps -0x60(%rbp), %xmm1
movaps -0x50(%rbp), %xmm0
movq -0x38(%rbp), %r9
movq -0x30(%rbp), %r8
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
|
︙ | | |
︙ | | |
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
-
-
-
-
+
+
+
+
|
/* Save all arguments */
subq $0x90, %rsp /* 16-byte alignment */
movq %rax, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq %rdx, -0x38(%rbp)
movq %r8, -0x40(%rbp)
movq %r9, -0x48(%rbp)
movdqa %xmm0, -0x60(%rbp)
movdqa %xmm1, -0x70(%rbp)
movdqa %xmm2, -0x80(%rbp)
movdqa %xmm3, -0x90(%rbp)
movaps %xmm0, -0x60(%rbp)
movaps %xmm1, -0x70(%rbp)
movaps %xmm2, -0x80(%rbp)
movaps %xmm3, -0x90(%rbp)
call object_getClass
movq %rax, %rcx
leaq sel_forwardingTargetForSelector_(%rip), %rdx
call class_respondsToSelector
|
︙ | | |
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
-
-
-
-
+
+
+
+
|
movq %rax, %rcx
movq -0x38(%rbp), %rdx
call objc_msg_lookup
movq %rax, %r11
/* Restore all arguments */
movdqa -0x90(%rbp), %xmm3
movdqa -0x80(%rbp), %xmm2
movdqa -0x70(%rbp), %xmm1
movdqa -0x60(%rbp), %xmm0
movaps -0x90(%rbp), %xmm3
movaps -0x80(%rbp), %xmm2
movaps -0x70(%rbp), %xmm1
movaps -0x60(%rbp), %xmm0
movq -0x48(%rbp), %r9
movq -0x40(%rbp), %r8
movq -0x38(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rbp, %rsp
|
︙ | | |
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
-
-
-
-
+
+
+
+
|
/* Save all arguments */
subq $0x90, %rsp /* 16-byte alignment */
movq %rax, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq %rdx, -0x38(%rbp)
movq %r8, -0x40(%rbp)
movq %r9, -0x48(%rbp)
movdqa %xmm0, -0x60(%rbp)
movdqa %xmm1, -0x70(%rbp)
movdqa %xmm2, -0x80(%rbp)
movdqa %xmm3, -0x90(%rbp)
movaps %xmm0, -0x60(%rbp)
movaps %xmm1, -0x70(%rbp)
movaps %xmm2, -0x80(%rbp)
movaps %xmm3, -0x90(%rbp)
movq %rdx, %rcx
call object_getClass
movq %rax, %rcx
leaq sel_forwardingTargetForSelector_(%rip), %rdx
call class_respondsToSelector
|
︙ | | |
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
-
-
-
-
+
+
+
+
|
movq %rax, %rcx
movq -0x40(%rbp), %rdx
call objc_msg_lookup_stret
movq %rax, %r11
/* Restore all arguments */
movdqa -0x90(%rbp), %xmm3
movdqa -0x80(%rbp), %xmm2
movdqa -0x70(%rbp), %xmm1
movdqa -0x60(%rbp), %xmm0
movaps -0x90(%rbp), %xmm3
movaps -0x80(%rbp), %xmm2
movaps -0x70(%rbp), %xmm1
movaps -0x60(%rbp), %xmm0
movq -0x48(%rbp), %r9
movq -0x40(%rbp), %r8
movq -0x38(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rbp, %rsp
|
︙ | | |
︙ | | |
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
pushq %r11
jmp Lfill_stack
Lstack_filled:
movb OFFSET_NUM_SSE_USED(%rdi), %al
movdqa OFFSET_SSE_INOUT+112(%rdi), %xmm7
movdqa OFFSET_SSE_INOUT+96(%rdi), %xmm6
movdqa OFFSET_SSE_INOUT+80(%rdi), %xmm5
movdqa OFFSET_SSE_INOUT+64(%rdi), %xmm4
movdqa OFFSET_SSE_INOUT+48(%rdi), %xmm3
movdqa OFFSET_SSE_INOUT+32(%rdi), %xmm2
movdqa OFFSET_SSE_INOUT+16(%rdi), %xmm1
movdqa OFFSET_SSE_INOUT(%rdi), %xmm0
movaps OFFSET_SSE_INOUT+112(%rdi), %xmm7
movaps OFFSET_SSE_INOUT+96(%rdi), %xmm6
movaps OFFSET_SSE_INOUT+80(%rdi), %xmm5
movaps OFFSET_SSE_INOUT+64(%rdi), %xmm4
movaps OFFSET_SSE_INOUT+48(%rdi), %xmm3
movaps OFFSET_SSE_INOUT+32(%rdi), %xmm2
movaps OFFSET_SSE_INOUT+16(%rdi), %xmm1
movaps OFFSET_SSE_INOUT(%rdi), %xmm0
movq OFFSET_GPR_IN+40(%rdi), %r9
movq OFFSET_GPR_IN+32(%rdi), %r8
movq OFFSET_GPR_IN+24(%rdi), %rcx
movq OFFSET_GPR_IN+16(%rdi), %rdx
movq OFFSET_GPR_IN+8(%rdi), %rsi
|
︙ | | |
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
-
-
+
+
|
call _objc_msgSend
Lafter_send:
movq -8(%rbp), %rdi
movq %rax, OFFSET_GPR_OUT(%rdi)
movq %rdx, OFFSET_GPR_OUT+8(%rdi)
movdqa %xmm0, OFFSET_SSE_INOUT(%rdi)
movdqa %xmm1, OFFSET_SSE_INOUT+16(%rdi)
movaps %xmm0, OFFSET_SSE_INOUT(%rdi)
movaps %xmm1, OFFSET_SSE_INOUT+16(%rdi)
movb OFFSET_RETURN_TYPE(%rdi), %r11b
cmpb $RETURN_TYPE_X87, %r11b
je Lpop_long_double
cmpb $RETURN_TYPE_COMPLEX_X87, %r11b
|
︙ | | |
︙ | | |
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
pushq %r11
jmp .fill_stack
.stack_filled:
movb OFFSET_NUM_SSE_USED(%rdi), %al
movdqa OFFSET_SSE_INOUT+112(%rdi), %xmm7
movdqa OFFSET_SSE_INOUT+96(%rdi), %xmm6
movdqa OFFSET_SSE_INOUT+80(%rdi), %xmm5
movdqa OFFSET_SSE_INOUT+64(%rdi), %xmm4
movdqa OFFSET_SSE_INOUT+48(%rdi), %xmm3
movdqa OFFSET_SSE_INOUT+32(%rdi), %xmm2
movdqa OFFSET_SSE_INOUT+16(%rdi), %xmm1
movdqa OFFSET_SSE_INOUT(%rdi), %xmm0
movaps OFFSET_SSE_INOUT+112(%rdi), %xmm7
movaps OFFSET_SSE_INOUT+96(%rdi), %xmm6
movaps OFFSET_SSE_INOUT+80(%rdi), %xmm5
movaps OFFSET_SSE_INOUT+64(%rdi), %xmm4
movaps OFFSET_SSE_INOUT+48(%rdi), %xmm3
movaps OFFSET_SSE_INOUT+32(%rdi), %xmm2
movaps OFFSET_SSE_INOUT+16(%rdi), %xmm1
movaps OFFSET_SSE_INOUT(%rdi), %xmm0
movq OFFSET_GPR_IN+40(%rdi), %r9
movq OFFSET_GPR_IN+32(%rdi), %r8
movq OFFSET_GPR_IN+24(%rdi), %rcx
movq OFFSET_GPR_IN+16(%rdi), %rdx
movq OFFSET_GPR_IN+8(%rdi), %rsi
|
︙ | | |
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
-
-
+
+
|
movq -16(%rbp), %r11
call *%r11
.after_send:
movq -8(%rbp), %rdi
movq %rax, OFFSET_GPR_OUT(%rdi)
movq %rdx, OFFSET_GPR_OUT+8(%rdi)
movdqa %xmm0, OFFSET_SSE_INOUT(%rdi)
movdqa %xmm1, OFFSET_SSE_INOUT+16(%rdi)
movaps %xmm0, OFFSET_SSE_INOUT(%rdi)
movaps %xmm1, OFFSET_SSE_INOUT+16(%rdi)
movb OFFSET_RETURN_TYPE(%rdi), %r11b
cmpb $RETURN_TYPE_X87, %r11b
je .pop_long_double
cmpb $RETURN_TYPE_COMPLEX_X87, %r11b
|
︙ | | |