ObjFW  Diff

Differences From Artifact [5acd78427e]:

To Artifact [51cce4e244]:


31
32
33
34
35
36
37
38

39
40
41
42
43


44
45
46
47
48
49
50
31
32
33
34
35
36
37

38
39
40
41


42
43
44
45
46
47
48
49
50







-
+



-
-
+
+







	.att_syntax
	/* Use uppercase instruction to avoid recursion. */
	JMP	$0
	.intel_syntax noprefix
.endmacro

.section __TEXT, __objc_methname, cstring_literals
str_forwardingTargetForSelector_:
Lstr_forwardingTargetForSelector_:
	.asciz "forwardingTargetForSelector:"

.section __DATA, __objc_selrefs, literal_pointers, no_dead_strip
sel_forwardingTargetForSelector_:
	.quad str_forwardingTargetForSelector_
Lsel_forwardingTargetForSelector_:
	.quad Lstr_forwardingTargetForSelector_

.section __DATA, __objc_imageinfo, regular, no_dead_strip
	.long 0, 0

.section __TEXT, __text, regular, pure_instructions
_OFForward:
	push	rbp
67
68
69
70
71
72
73
74

75
76
77
78
79
80
81

82
83
84
85
86
87
88
67
68
69
70
71
72
73

74
75
76
77
78
79
80

81
82
83
84
85
86
87
88







-
+






-
+







	movaps	[rbp - 0xA0], xmm5
	movaps	[rbp - 0xB0], xmm6
	movaps	[rbp - 0xC0], xmm7

	call	_object_getClass

	mov	rdi, rax
	mov	rsi, [rip + sel_forwardingTargetForSelector_]
	mov	rsi, [rip + Lsel_forwardingTargetForSelector_]
	call	_class_respondsToSelector

	test	rax, rax
	jz	0f

	mov	rdi, [rbp - 0x10]
	mov	rsi, [rip + sel_forwardingTargetForSelector_]
	mov	rsi, [rip + Lsel_forwardingTargetForSelector_]
	mov	rdx, [rbp - 0x18]
	call	_objc_msgSend

	test	rax, rax
	jz	0f
	cmp	rax, [rbp - 0x10]
	je	0f
141
142
143
144
145
146
147
148

149
150
151
152
153
154

155
156
157
158
159
160
161
141
142
143
144
145
146
147

148
149
150
151
152
153

154
155
156
157
158
159
160
161







-
+





-
+







	movaps	[rbp - 0xB0], xmm6
	movaps	[rbp - 0xC0], xmm7

	mov	rdi, rsi
	call	_object_getClass

	mov	rdi, rax
	mov	rsi, [rip + sel_forwardingTargetForSelector_]
	mov	rsi, [rip + Lsel_forwardingTargetForSelector_]
	call	_class_respondsToSelector
	test	rax, rax
	jz	0f

	mov	rdi, [rbp - 0x18]
	mov	rsi, [rip + sel_forwardingTargetForSelector_]
	mov	rsi, [rip + Lsel_forwardingTargetForSelector_]
	mov	rdx, [rbp - 0x20]
	call	_objc_msgSend

	test	rax, rax
	jz	0f
	cmp	rax, [rbp - 0x18]
	je	0f