ObjFW  Diff

Differences From Artifact [f482ecb406]:

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

To Artifact [35d6561efb]:

  • File src/runtime/lookup-asm/lookup-asm-arm64-elf.S — part of check-in [b5f1035b46] at 2025-04-25 12:16:04 on branch trunk — runtime: Prefix private functions & structs with _ (user: js size: 2382) [more...]

52
53
54
55
56
57
58
59
60


61
62
63
64
65
66
67


68
69
70
71
72
73
74
52
53
54
55
56
57
58


59
60
61
62
63
64
65


66
67
68
69
70
71
72
73
74







-
-
+
+





-
-
+
+








	cbz	x2, \notFound

	mov	x0, x2
	ret

.LtaggedPointer_\name:
	adrp	x2, :got:objc_taggedPointerSecret
	ldr	x2, [x2, #:got_lo12:objc_taggedPointerSecret]
	adrp	x2, :got:_objc_taggedPointerSecret
	ldr	x2, [x2, #:got_lo12:_objc_taggedPointerSecret]
	ldr	x2, [x2]
	eor	x0, x0, x2
	and	x0, x0, #0xE
	lsl	x0, x0, #2

	adrp	x2, :got:objc_taggedPointerClasses
	ldr	x2, [x2, #:got_lo12:objc_taggedPointerClasses]
	adrp	x2, :got:_objc_taggedPointerClasses
	ldr	x2, [x2, #:got_lo12:_objc_taggedPointerClasses]
	ldr	x2, [x2, x0]
	ldr	x2, [x2, #64]

	b	.Lmain_\name
.type \name, %function
.size \name, .-\name
.endm
87
88
89
90
91
92
93
94
95


96
97
98
99
100
101
102
87
88
89
90
91
92
93


94
95
96
97
98
99
100
101
102







-
-
+
+







	ldr	x2, [x2, #64]

	b	.Lmain_\lookup
.type \name, %function
.size \name, .-\name
.endm

GENERATE_LOOKUP objc_msg_lookup objc_methodNotFound
GENERATE_LOOKUP objc_msg_lookup_stret objc_methodNotFound_stret
GENERATE_LOOKUP objc_msg_lookup _objc_methodNotFound
GENERATE_LOOKUP objc_msg_lookup_stret _objc_methodNotFound_stret
GENERATE_LOOKUP_SUPER objc_msg_lookup_super objc_msg_lookup
GENERATE_LOOKUP_SUPER objc_msg_lookup_super_stret objc_msg_lookup_stret

.LreturnNilMethod:
	adr	x0, .LnilMethod
	ret