ObjFW  Diff

Differences From Artifact [66e90d878f]:

To Artifact [bb16226b9b]:


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
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







-
+






-
+



-
+







	movaps	[rbp - 0x70], xmm1
	movaps	[rbp - 0x80], xmm2
	movaps	[rbp - 0x90], xmm3

	call	object_getClass

	mov	rcx, rax
	lea	rdx, [rip + sel_forwardingTargetForSelector_]
	lea	rdx, [rip + .Lsel_forwardingTargetForSelector_]
	call	class_respondsToSelector

	test	rax, rax
	jz	short 0f

	mov	rcx, [rbp - 0x30]
	lea	rdx, [rip + sel_forwardingTargetForSelector_]
	lea	rdx, [rip + .Lsel_forwardingTargetForSelector_]
	call	objc_msg_lookup

	mov	rcx, [rbp - 0x30]
	lea	rdx, [rip + sel_forwardingTargetForSelector_]
	lea	rdx, [rip + .Lsel_forwardingTargetForSelector_]
	mov	r8, [rbp - 0x38]
	call	rax

	test	rax, rax
	jz	short 0f
	cmp	rax, [rbp - 0x30]
	je	short 0f
112
113
114
115
116
117
118
119

120
121
122
123
124
125
126

127
128
129
130

131
132
133
134
135
136
137
112
113
114
115
116
117
118

119
120
121
122
123
124
125

126
127
128
129

130
131
132
133
134
135
136
137







-
+






-
+



-
+







	movaps	[rbp - 0x80], xmm2
	movaps	[rbp - 0x90], xmm3

	mov	rcx, rdx
	call	object_getClass

	mov	rcx, rax
	lea	rdx, [rip + sel_forwardingTargetForSelector_]
	lea	rdx, [rip + .Lsel_forwardingTargetForSelector_]
	call	class_respondsToSelector

	test	rax, rax
	jz	short 0f

	mov	rcx, [rbp - 0x38]
	lea	rdx, [rip + sel_forwardingTargetForSelector_]
	lea	rdx, [rip + .Lsel_forwardingTargetForSelector_]
	call	objc_msg_lookup

	mov	rcx, [rbp - 0x38]
	lea	rdx, [rip + sel_forwardingTargetForSelector_]
	lea	rdx, [rip + .Lsel_forwardingTargetForSelector_]
	mov	r8, [rbp - 0x40]
	call	rax

	test	rax, rax
	jz	short 0f
	cmp	rax, [rbp - 0x38]
	je	short 0f
169
170
171
172
173
174
175
176
177


178
179
180
181

182
183
184

185
186
187
188
189


190
191

192
193

194
195
196
197

198
199

169
170
171
172
173
174
175


176
177
178
179
180

181
182
183

184
185
186
187


188
189
190

191
192

193
194
195
196

197
198

199







-
-
+
+



-
+


-
+



-
-
+
+

-
+

-
+



-
+

-
+

	jmp	OFMethodNotFound_stret
.def OFForward_stret
.scl 2
.type 32
.endef

init:
	lea	rcx, [rip + module]
.Linit:
	lea	rcx, [rip + .Lmodule]
	jmp	__objc_exec_class

.section .ctors, "aw"
	.quad init
	.quad .Linit

.section .rodata
str_forwardingTargetForSelector_:
.Lstr_forwardingTargetForSelector_:
	.asciz "forwardingTargetForSelector:"

.section .data
sel_forwardingTargetForSelector_:
	.quad str_forwardingTargetForSelector_, 0
.Lsel_forwardingTargetForSelector_:
	.quad .Lstr_forwardingTargetForSelector_, 0
	.quad 0, 0
symtab:
.Lsymtab:
	.long 0, 0
	.quad sel_forwardingTargetForSelector_
	.quad .Lsel_forwardingTargetForSelector_
	.short 0, 0
	.long 0
	.quad 0
module:
.Lmodule:
	.long 8, 32
	.quad 0, symtab
	.quad 0, .Lsymtab