ObjFW  Diff

Differences From Artifact [74f2a45b98]:

  • File src/forwarding/forwarding-arm-elf.S — part of check-in [9d802a786d] at 2025-01-01 12:58:18 on branch trunk — Update copyright (user: js size: 3318) [more...]

To Artifact [a40184aa62]:

  • File src/forwarding/forwarding-arm-elf.S — part of check-in [7406a3c11e] at 2025-04-26 11:19:30 on branch trunk — Rename OFForward to _OFForward and make it hidden (user: js size: 3372)

21
22
23
24
25
26
27
28
29




30
31
32

33
34
35
36
37
38
39
21
22
23
24
25
26
27


28
29
30
31
32
33

34
35
36
37
38
39
40
41







-
-
+
+
+
+


-
+








#include "platform.h"

#ifdef HAVE_VFP2
.fpu vfp
#endif

.globl OFForward
.globl OFForward_stret
.globl _OFForward
.globl _OFForward_stret
.hidden _OFForward
.hidden _OFForward_stret

.section .text
OFForward:
_OFForward:
#ifdef HAVE_VFP2
	vstmdb	sp!, {d0-d7}
#endif
	stmfd	sp!, {r0-r4, lr}

	ldr	r4, .Lsel_forwardingTargetForSelector_$indirect_.L0
.L0:
82
83
84
85
86
87
88
89
90


91
92

93
94
95
96
97
98
99
84
85
86
87
88
89
90


91
92
93

94
95
96
97
98
99
100
101







-
-
+
+

-
+








0:
	ldmfd	sp!, {r0-r4, lr}
#ifdef HAVE_VFP2
	vldmia	sp!, {d0-d7}
#endif
	b	OFMethodNotFound(PLT)
.type OFForward, %function
.size OFForward, .-OFForward
.type _OFForward, %function
.size _OFForward, .-_OFForward

OFForward_stret:
_OFForward_stret:
#ifdef HAVE_VFP2
	vstmdb	sp!, {d0-d7}
#endif
	stmfd	sp!, {r0-r4, lr}

	ldr	r4, .Lsel_forwardingTargetForSelector_$indirect_.L1
.L1:
143
144
145
146
147
148
149
150
151


152
153
154
155
156
157
158
145
146
147
148
149
150
151


152
153
154
155
156
157
158
159
160







-
-
+
+








0:
	ldmfd	sp!, {r0-r4, lr}
#ifdef HAVE_VFP2
	vldmia	sp!, {d0-d7}
#endif
	b	OFMethodNotFound_stret(PLT)
.type OFForward_stret, %function
.size OFForward_stret, .-OFForward_stret
.type _OFForward_stret, %function
.size _OFForward_stret, .-_OFForward_stret

.Linit:
	ldr	r0, .Lmodule$indirect_.L2
.L2:
	add	r0, pc
	b	__objc_exec_class(PLT)