ObjFW  Diff

Differences From Artifact [b09be65dbc]:

To Artifact [ef9b28568c]:


77
78
79
80
81
82
83
84

85
86
87
88





89
90
91


92
93
94
95


96
97
98
99
100
101
102
103
104

105
106
107
108
109
110
111
112
113
114
77
78
79
80
81
82
83

84
85



86
87
88
89
90
91


92
93

94


95
96
97
98
99
100
101
102
103
104

105






106
107
108
109







-
+

-
-
-
+
+
+
+
+

-
-
+
+
-

-
-
+
+








-
+
-
-
-
-
-
-




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:
#ifdef PIC
	save
	or	%o7, %g0, %o2

	sethi	%hi(_GLOBAL_OFFSET_TABLE_ - 4), %l7
	call	get_pc
	 add	%l7, %lo(_GLOBAL_OFFSET_TABLE_ + 4), %l7
	sethi	%hi(_GLOBAL_OFFSET_TABLE_ - 4), %o1
	call	0f
	 add	%o1, %lo(_GLOBAL_OFFSET_TABLE_ + 4), %o1
0:
	add	%o7, %o1, %o1

	sethi	%hi(nil_method), %i0
	or	%i0, %lo(nil_method), %i0
	sethi	%hi(nil_method), %o0
	or	%o0, %lo(nil_method), %o0
	ld	[%l7 + %i0], %i0

	ret
	 restore
	jmpl	%o2 + 8, %g0
	 ld	[%o1 + %o0], %o0
#else
	sethi	%hi(nil_method), %o0
	retl
	 or	%o0, %lo(nil_method), %o0
#endif

nil_method:
	retl
	 set	0, %o0
	 clr	%o0

#ifdef PIC
get_pc:
	retl
	 add	%o7, %l7, %l7
#endif

#ifdef __linux__
.section .note.GNU-stack, "", %progbits
#endif