ObjFW  Diff

Differences From Artifact [4686eccab8]:

To Artifact [7209ab94f0]:


54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73

0:
	movq	%r10, %rcx
	movq	%r11, %rdx
	jmp	\not_found

.Ltagged_pointer_\name:
	movq	objc_tagged_pointer_secret(%rip), %rax
	xorq	(%rax), %rcx
	andb	$0xE, %cl
	movzbl	%cl, %r8d

	movq	objc_tagged_pointer_classes(%rip), %rax
	movq	(%rax,%r8,4), %r8
	movq	56(%r8), %r8

	jmp	.Lmain_\name
.endm

.macro generate_lookup_super name lookup







|
<



|







54
55
56
57
58
59
60
61

62
63
64
65
66
67
68
69
70
71
72

0:
	movq	%r10, %rcx
	movq	%r11, %rdx
	jmp	\not_found

.Ltagged_pointer_\name:
	xorq	objc_tagged_pointer_secret(%rip), %rcx

	andb	$0xE, %cl
	movzbl	%cl, %r8d

	leaq	objc_tagged_pointer_classes(%rip), %rax
	movq	(%rax,%r8,4), %r8
	movq	56(%r8), %r8

	jmp	.Lmain_\name
.endm

.macro generate_lookup_super name lookup
84
85
86
87
88
89
90
91
92
93
94
95
96

generate_lookup objc_msg_lookup objc_method_not_found
generate_lookup objc_msg_lookup_stret objc_method_not_found_stret
generate_lookup_super objc_msg_lookup_super objc_msg_lookup
generate_lookup_super objc_msg_lookup_super_stret objc_msg_lookup_stret

ret_nil:
	movq	nil_method(%rip), %rax
	ret

nil_method:
	xorq	%rax, %rax
	ret







|





83
84
85
86
87
88
89
90
91
92
93
94
95

generate_lookup objc_msg_lookup objc_method_not_found
generate_lookup objc_msg_lookup_stret objc_method_not_found_stret
generate_lookup_super objc_msg_lookup_super objc_msg_lookup
generate_lookup_super objc_msg_lookup_super_stret objc_msg_lookup_stret

ret_nil:
	leaq	nil_method(%rip), %rax
	ret

nil_method:
	xorq	%rax, %rax
	ret