ObjFW  Diff

Differences From Artifact [4aa81a0136]:

To Artifact [59e96874a5]:


46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

	testl	%eax, %eax
	jz	0f

	ret

0:
	call	get_eip
1:
	addl	$\not_found-1b, %eax
	jmp	*%eax
.endm

.macro generate_lookup_super name lookup
\name:
	movl	4(%esp), %edx
	movl	(%edx), %eax
	cmpl	$0, %eax







<
<
|
<







46
47
48
49
50
51
52


53

54
55
56
57
58
59
60

	testl	%eax, %eax
	jz	0f

	ret

0:


	jmp	\not_found

.endm

.macro generate_lookup_super name lookup
\name:
	movl	4(%esp), %edx
	movl	(%edx), %eax
	cmpl	$0, %eax
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89

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:
	call	get_eip
0:
	addl	$nil_method-0b, %eax
	ret

nil_method:
	xorl	%eax, %eax
	ret

get_eip:
	movl	(%esp), %eax
	ret







<
<
|





<
<
<
<
68
69
70
71
72
73
74


75
76
77
78
79
80





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:


	movl	$nil_method, %eax
	ret

nil_method:
	xorl	%eax, %eax
	ret