ObjFW  Diff

Differences From Artifact [27b4e12fcc]:

To Artifact [073f3a69c2]:


78
79
80
81
82
83
84
85

86
87

88
89

90
91
92
93
94
95
96
78
79
80
81
82
83
84

85
86

87
88

89
90
91
92
93
94
95
96







-
+

-
+

-
+







	swc1	$f17, 80($sp)
	swc1	$f18, 84($sp)
	swc1	$f19, 88($sp)
#endif

	move	$s0, $gp
#ifdef OF_PIC
	lw	$s1, %got(sel_forwardingTargetForSelector_)($gp)
	lw	$s1, %got(.Lsel_forwardingTargetForSelector_)($gp)
#else
	lui	$s1, %hi(sel_forwardingTargetForSelector_)
	lui	$s1, %hi(.Lsel_forwardingTargetForSelector_)
#endif
	addiu	$s1, $s1, %lo(sel_forwardingTargetForSelector_)
	addiu	$s1, $s1, %lo(.Lsel_forwardingTargetForSelector_)

	jal_pic	object_getClass

	move	$gp, $s0
	move	$a0, $v0
	move	$a1, $s1
	jal_pic	class_respondsToSelector
202
203
204
205
206
207
208
209

210
211

212
213

214
215
216
217
218
219
220
202
203
204
205
206
207
208

209
210

211
212

213
214
215
216
217
218
219
220







-
+

-
+

-
+







	swc1	$f17, 80($sp)
	swc1	$f18, 84($sp)
	swc1	$f19, 88($sp)
#endif

	move	$s0, $gp
#ifdef OF_PIC
	lw	$s1, %got(sel_forwardingTargetForSelector_)($gp)
	lw	$s1, %got(.Lsel_forwardingTargetForSelector_)($gp)
#else
	lui	$s1, %hi(sel_forwardingTargetForSelector_)
	lui	$s1, %hi(.Lsel_forwardingTargetForSelector_)
#endif
	addiu	$s1, $s1, %lo(sel_forwardingTargetForSelector_)
	addiu	$s1, $s1, %lo(.Lsel_forwardingTargetForSelector_)

	move	$a0, $a1
	jal_pic	object_getClass

	move	$gp, $s0
	move	$a0, $v0
	move	$a1, $s1
285
286
287
288
289
290
291
292

293
294
295
296
297
298
299


300
301
302
303
304


305
306
307
308
309

310
311
312

313
314
315
316
317


318
319
320


321
322
323
324
325


326
327
328
329
285
286
287
288
289
290
291

292
293
294
295
296
297


298
299
300
301
302


303
304
305
306
307
308

309
310
311

312
313
314
315


316
317
318


319
320
321
322
323


324
325
326
327
328
329







-
+





-
-
+
+



-
-
+
+




-
+


-
+



-
-
+
+

-
-
+
+



-
-
+
+





	addiu	$sp, $sp, 96

	j_pic	of_method_not_found_stret
.type OFForward_stret, %function
.size OFForward_stret, .-OFForward_stret

init:
.Linit:
#ifdef OF_PIC
	lui	$gp, %hi(_gp_disp)
	addiu	$gp, $gp, %lo(_gp_disp)
	addu	$gp, $gp, $t9

	lw	$a0, %got(module)($gp)
	addiu	$a0, $a0, %lo(module)
	lw	$a0, %got(.Lmodule)($gp)
	addiu	$a0, $a0, %lo(.Lmodule)
	lw	$t9, %call16(__objc_exec_class)($gp)
	jr	$t9
#else
	lui	$a0, %hi(module)
	addiu	$a0, $a0, %lo(module)
	lui	$a0, %hi(.Lmodule)
	addiu	$a0, $a0, %lo(.Lmodule)
	j	__objc_exec_class
#endif

.section .ctors, "aw", %progbits
	.long init
	.long .Linit

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

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

#if defined(OF_LINUX) || defined(OF_HAIKU) || defined(OF_HURD)
.section .note.GNU-stack, "", %progbits
#endif