ObjFW  Check-in [1a4eba3a16]

Overview
Comment:apple-forwarding-x86_64.S: Don't use jmp short

This breaks with older SDK versions.

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 1a4eba3a165440d9dbdcf0d0c7d923aff76c4eff9d0a22eab85c9734af882c4d
User & Date: js on 2020-07-01 21:06:51
Other Links: manifest | tags
Context
2021-01-30
20:21
Revert apple-forwarding-*.S back to AT&T syntax check-in: a6eb951b8c user: js tags: trunk
2020-07-04
21:19
tests: Use \r instead of setting cursorColumn = 0 check-in: ba32166987 user: js tags: trunk
2020-07-01
21:32
Merge trunk into branch "tagged-pointers" check-in: 6d5cc25f0c user: js tags: tagged-pointers
21:06
apple-forwarding-x86_64.S: Don't use jmp short check-in: 1a4eba3a16 user: js tags: trunk
20:36
.travis.yml: Install devkitPro via gdebi check-in: 62ac2b0cad user: js tags: trunk
Changes

Modified src/forwarding/apple-forwarding-x86_64.S from [13401cab99] to [5b8fcf7945].

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







-
+







-
+

-
+







	call	_object_getClass

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

	test	rax, rax
	jz	short 0f
	jz	0f

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

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

	mov	rdi, rax

	/* Restore all arguments, except %rdi */
	movaps	xmm7, [rbp-0xC0]
	movaps	xmm6, [rbp-0xB0]
	movaps	xmm5, [rbp-0xA0]
132
133
134
135
136
137
138
139

140
141
142
143
144
145
146
147

148
149

150
151
152
153
154
155
156
132
133
134
135
136
137
138

139
140
141
142
143
144
145
146

147
148

149
150
151
152
153
154
155
156







-
+







-
+

-
+







	mov	rdi, rsi
	call	_object_getClass

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

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

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

	mov	rsi, rax

	/* Restore all arguments, except %rsi */
	movaps	xmm7, [rbp-0xC0]
	movaps	xmm6, [rbp-0xB0]
	movaps	xmm5, [rbp-0xA0]