ObjFW  Diff

Differences From Artifact [9ce1f82f2b]:

To Artifact [850cd5db39]:


28
29
30
31
32
33
34
35
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
62
63

64
65

66
67
68
69
70
71
72
28
29
30
31
32
33
34


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

63
64

65
66
67
68
69
70
71
72







-
-
+
+

-
+





-
-
+
+

-
+






-
+

-
+






-
+

-
+








	__objc_exec_class(module);
}

IMP __saveds
objc_msg_lookup_m68k(void)
{
	OBJC_M68K_ARG(id, obj, a0)
	OBJC_M68K_ARG(SEL, sel, a1)
	OBJC_M68K_ARG(id, object, a0)
	OBJC_M68K_ARG(SEL, selector, a1)

	return objc_msg_lookup(obj, sel);
	return objc_msg_lookup(object, selector);
}

IMP __saveds
objc_msg_lookup_stret_m68k(void)
{
	OBJC_M68K_ARG(id, obj, a0)
	OBJC_M68K_ARG(SEL, sel, a1)
	OBJC_M68K_ARG(id, object, a0)
	OBJC_M68K_ARG(SEL, selector, a1)

	return objc_msg_lookup_stret(obj, sel);
	return objc_msg_lookup_stret(object, selector);
}

IMP __saveds
objc_msg_lookup_super_m68k(void)
{
	OBJC_M68K_ARG(struct objc_super *, super, a0)
	OBJC_M68K_ARG(SEL, sel, a1)
	OBJC_M68K_ARG(SEL, selector, a1)

	return objc_msg_lookup_super(super, sel);
	return objc_msg_lookup_super(super, selector);
}

IMP __saveds
objc_msg_lookup_super_stret_m68k(void)
{
	OBJC_M68K_ARG(struct objc_super *, super, a0)
	OBJC_M68K_ARG(SEL, sel, a1)
	OBJC_M68K_ARG(SEL, selector, a1)

	return objc_msg_lookup_super_stret(super, sel);
	return objc_msg_lookup_super_stret(super, selector);
}

Class __saveds
objc_lookUpClass_m68k(void)
{
	OBJC_M68K_ARG(const char *, name, a0)

178
179
180
181
182
183
184
185

186
187

188
189
190
191
192
193
194
195
196

197
198
199
200

201
202
203
204
205
206
207
208
209
210
211
212
213
214

215
216
217
218

219
220
221
222
223
224
225
178
179
180
181
182
183
184

185
186

187
188
189
190
191
192
193
194
195

196
197
198
199

200
201
202
203
204
205
206
207
208
209
210
211
212
213

214
215
216
217

218
219
220
221
222
223
224
225







-
+

-
+








-
+



-
+













-
+



-
+








	objc_setPropertyStruct(dest, src, size, atomic, strong);
}

void __saveds
objc_enumerationMutation_m68k(void)
{
	OBJC_M68K_ARG(id, obj, a0)
	OBJC_M68K_ARG(id, object, a0)

	objc_enumerationMutation(obj);
	objc_enumerationMutation(object);
}

int __saveds
__gnu_objc_personality_v0_m68k(void)
{
#ifndef HAVE_SJLJ_EXCEPTIONS
	OBJC_M68K_ARG(int, version, d0)
	OBJC_M68K_ARG(int, actions, d1)
	OBJC_M68K_ARG(uint64_t *, ex_class, d2)
	OBJC_M68K_ARG(uint64_t *, exClass, d2)
	OBJC_M68K_ARG(void *, ex, a0)
	OBJC_M68K_ARG(void *, ctx, a1)

	return __gnu_objc_personality_v0(version, actions, *ex_class, ex, ctx);
	return __gnu_objc_personality_v0(version, actions, *exClass, ex, ctx);
#else
	abort();

	OF_UNREACHABLE
#endif
}

int __saveds
__gnu_objc_personality_sj0_m68k(void)
{
#ifdef HAVE_SJLJ_EXCEPTIONS
	OBJC_M68K_ARG(int, version, d0)
	OBJC_M68K_ARG(int, actions, d1)
	OBJC_M68K_ARG(uint64_t *, ex_class, d2)
	OBJC_M68K_ARG(uint64_t *, exClass, d2)
	OBJC_M68K_ARG(void *, ex, a0)
	OBJC_M68K_ARG(void *, ctx, a1)

	return __gnu_objc_personality_sj0(version, actions, *ex_class, ex, ctx);
	return __gnu_objc_personality_sj0(version, actions, *exClass, ex, ctx);
#else
	abort();

	OF_UNREACHABLE
#endif
}

363
364
365
366
367
368
369
370

371
372

373
374
375
376
377
378
379


380
381

382
383
384
385
386
387
388
389

390
391

392
393
394
395
396
397
398
399
400
401
402
403
404
405

406
407
408

409
410
411
412
413
414

415
416

417
418
419
420
421
422
423
363
364
365
366
367
368
369

370
371

372
373
374
375
376
377


378
379
380

381
382
383
384
385
386
387
388

389
390

391
392
393
394
395
396
397
398
399
400
401
402
403
404

405
406
407

408
409
410
411
412
413

414
415

416
417
418
419
420
421
422
423







-
+

-
+





-
-
+
+

-
+







-
+

-
+













-
+


-
+





-
+

-
+








	return sel_registerName(name);
}

const char *__saveds
sel_getName_m68k(void)
{
	OBJC_M68K_ARG(SEL, sel, a0)
	OBJC_M68K_ARG(SEL, selector, a0)

	return sel_getName(sel);
	return sel_getName(selector);
}

bool __saveds
sel_isEqual_m68k(void)
{
	OBJC_M68K_ARG(SEL, sel1, a0)
	OBJC_M68K_ARG(SEL, sel2, a1)
	OBJC_M68K_ARG(SEL, selector1, a0)
	OBJC_M68K_ARG(SEL, selector2, a1)

	return sel_isEqual(sel1, sel2);
	return sel_isEqual(selector1, selector2);
}

Class __saveds
objc_allocateClassPair_m68k(void)
{
	OBJC_M68K_ARG(Class, superclass, a0)
	OBJC_M68K_ARG(const char *, name, a1)
	OBJC_M68K_ARG(size_t, extra_bytes, d0)
	OBJC_M68K_ARG(size_t, extraBytes, d0)

	return objc_allocateClassPair(superclass, name, extra_bytes);
	return objc_allocateClassPair(superclass, name, extraBytes);
}

void __saveds
objc_registerClassPair_m68k(void)
{
	OBJC_M68K_ARG(Class, cls, a0)

	objc_registerClassPair(cls);
}

unsigned int __saveds
objc_getClassList_m68k(void)
{
	OBJC_M68K_ARG(Class *, buf, a0)
	OBJC_M68K_ARG(Class *, buffer, a0)
	OBJC_M68K_ARG(unsigned int, count, d0)

	return objc_getClassList(buf, count);
	return objc_getClassList(buffer, count);
}

Class *__saveds
objc_copyClassList_m68k(void)
{
	OBJC_M68K_ARG(unsigned int *, len, a0)
	OBJC_M68K_ARG(unsigned int *, length, a0)

	return objc_copyClassList(len);
	return objc_copyClassList(length);
}

bool __saveds
class_isMetaClass_m68k(void)
{
	OBJC_M68K_ARG(Class, cls, a0)

448
449
450
451
452
453
454
455

456
457

458
459
460
461
462
463
464

465
466

467
468
469
470
471
472
473

474
475

476
477
478
479
480
481
482

483
484

485
486
487
488
489
490
491

492
493

494
495
496
497
498
499
500
501
502



503
504

505
506
507
508
509
510
511
512
513



514
515

516
517
518
519
520
521
522
448
449
450
451
452
453
454

455
456

457
458
459
460
461
462
463

464
465

466
467
468
469
470
471
472

473
474

475
476
477
478
479
480
481

482
483

484
485
486
487
488
489
490

491
492

493
494
495
496
497
498
499



500
501
502
503

504
505
506
507
508
509
510



511
512
513
514

515
516
517
518
519
520
521
522







-
+

-
+






-
+

-
+






-
+

-
+






-
+

-
+






-
+

-
+






-
-
-
+
+
+

-
+






-
-
-
+
+
+

-
+







	return class_getInstanceSize(cls);
}

bool __saveds
class_respondsToSelector_m68k(void)
{
	OBJC_M68K_ARG(Class, cls, a0)
	OBJC_M68K_ARG(SEL, sel, a1)
	OBJC_M68K_ARG(SEL, selector, a1)

	return class_respondsToSelector(cls, sel);
	return class_respondsToSelector(cls, selector);
}

bool __saveds
class_conformsToProtocol_m68k(void)
{
	OBJC_M68K_ARG(Class, cls, a0)
	OBJC_M68K_ARG(Protocol *, p, a1)
	OBJC_M68K_ARG(Protocol *, protocol, a1)

	return class_conformsToProtocol(cls, p);
	return class_conformsToProtocol(cls, protocol);
}

IMP __saveds
class_getMethodImplementation_m68k(void)
{
	OBJC_M68K_ARG(Class, cls, a0)
	OBJC_M68K_ARG(SEL, sel, a1)
	OBJC_M68K_ARG(SEL, selector, a1)

	return class_getMethodImplementation(cls, sel);
	return class_getMethodImplementation(cls, selector);
}

IMP __saveds
class_getMethodImplementation_stret_m68k(void)
{
	OBJC_M68K_ARG(Class, cls, a0)
	OBJC_M68K_ARG(SEL, sel, a1)
	OBJC_M68K_ARG(SEL, selector, a1)

	return class_getMethodImplementation_stret(cls, sel);
	return class_getMethodImplementation_stret(cls, selector);
}

const char *__saveds
class_getMethodTypeEncoding_m68k(void)
{
	OBJC_M68K_ARG(Class, cls, a0)
	OBJC_M68K_ARG(SEL, sel, a1)
	OBJC_M68K_ARG(SEL, selector, a1)

	return class_getMethodTypeEncoding(cls, sel);
	return class_getMethodTypeEncoding(cls, selector);
}

bool __saveds
class_addMethod_m68k(void)
{
	OBJC_M68K_ARG(Class, cls, a0)
	OBJC_M68K_ARG(SEL, sel, a1)
	OBJC_M68K_ARG(IMP, imp, a2)
	OBJC_M68K_ARG(const char *, types, a3)
	OBJC_M68K_ARG(SEL, selector, a1)
	OBJC_M68K_ARG(IMP, implementation, a2)
	OBJC_M68K_ARG(const char *, typeEncoding, a3)

	return class_addMethod(cls, sel, imp, types);
	return class_addMethod(cls, selector, implementation, typeEncoding);
}

IMP __saveds
class_replaceMethod_m68k(void)
{
	OBJC_M68K_ARG(Class, cls, a0)
	OBJC_M68K_ARG(SEL, sel, a1)
	OBJC_M68K_ARG(IMP, imp, a2)
	OBJC_M68K_ARG(const char *, types, a3)
	OBJC_M68K_ARG(SEL, selector, a1)
	OBJC_M68K_ARG(IMP, implementation, a2)
	OBJC_M68K_ARG(const char *, typeEncoding, a3)

	return class_replaceMethod(cls, sel, imp, types);
	return class_replaceMethod(cls, selector, implementation, typeEncoding);
}

Class __saveds
object_getClass_m68k(void)
{
	OBJC_M68K_ARG(id, object, a0)

539
540
541
542
543
544
545
546

547
548

549
550
551
552
553
554
555


556
557

558
559
560
561
562
563
564


565
566

567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587

588
589

590
591
592
593
594
595
596
539
540
541
542
543
544
545

546
547

548
549
550
551
552
553


554
555
556

557
558
559
560
561
562


563
564
565

566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586

587
588

589
590
591
592
593
594
595
596







-
+

-
+





-
-
+
+

-
+





-
-
+
+

-
+




















-
+

-
+








	return object_getClassName(object);
}

const char *__saveds
protocol_getName_m68k(void)
{
	OBJC_M68K_ARG(Protocol *, p, a0)
	OBJC_M68K_ARG(Protocol *, protocol, a0)

	return protocol_getName(p);
	return protocol_getName(protocol);
}

bool __saveds
protocol_isEqual_m68k(void)
{
	OBJC_M68K_ARG(Protocol *, a, a0)
	OBJC_M68K_ARG(Protocol *, b, a1)
	OBJC_M68K_ARG(Protocol *, protocol1, a0)
	OBJC_M68K_ARG(Protocol *, protocol2, a1)

	return protocol_isEqual(a, b);
	return protocol_isEqual(protocol1, protocol2);
}

bool __saveds
protocol_conformsToProtocol_m68k(void)
{
	OBJC_M68K_ARG(Protocol *, a, a0)
	OBJC_M68K_ARG(Protocol *, b, a1)
	OBJC_M68K_ARG(Protocol *, protocol1, a0)
	OBJC_M68K_ARG(Protocol *, protocol2, a1)

	return protocol_conformsToProtocol(a, b);
	return protocol_conformsToProtocol(protocol1, protocol2);
}

void __saveds
objc_exit_m68k(void)
{
	objc_exit();
}

objc_uncaught_exception_handler __saveds
objc_setUncaughtExceptionHandler_m68k(void)
{
	OBJC_M68K_ARG(objc_uncaught_exception_handler, handler, a0)

	return objc_setUncaughtExceptionHandler(handler);
}

void __saveds
objc_setForwardHandler_m68k(void)
{
	OBJC_M68K_ARG(IMP, forward, a0)
	OBJC_M68K_ARG(IMP, forward_stret, a1)
	OBJC_M68K_ARG(IMP, stretForward, a1)

	objc_setForwardHandler(forward, forward_stret);
	objc_setForwardHandler(forward, stretForward);
}

void __saveds
objc_setEnumerationMutationHandler_m68k(void)
{
	OBJC_M68K_ARG(objc_enumeration_mutation_handler, handler, a0)