1010#include "iso_alloc_profiler.h"
1111#endif
1212
13- EXTERNAL_API void iso_alloc_initialize (void ) {
13+ EXTERNAL_API FLATTEN void iso_alloc_initialize (void ) {
1414 _iso_alloc_initialize ();
1515}
1616
17- EXTERNAL_API void iso_alloc_destroy (void ) {
17+ EXTERNAL_API FLATTEN void iso_alloc_destroy (void ) {
1818 _iso_alloc_destroy ();
1919}
2020
21- EXTERNAL_API NO_DISCARD MALLOC_ATTR ALLOC_SIZE ASSUME_ALIGNED void * iso_alloc (size_t size ) {
21+ EXTERNAL_API NO_DISCARD FLATTEN MALLOC_ATTR ALLOC_SIZE ASSUME_ALIGNED void * iso_alloc (size_t size ) {
2222 return _iso_alloc (NULL , size );
2323}
2424
25- EXTERNAL_API NO_DISCARD MALLOC_ATTR CALLOC_SIZE ASSUME_ALIGNED void * iso_calloc (size_t nmemb , size_t size ) {
25+ EXTERNAL_API NO_DISCARD FLATTEN MALLOC_ATTR CALLOC_SIZE ASSUME_ALIGNED void * iso_calloc (size_t nmemb , size_t size ) {
2626 return _iso_calloc (nmemb , size );
2727}
2828
29- EXTERNAL_API void iso_free (void * p ) {
29+ EXTERNAL_API FLATTEN void iso_free (void * p ) {
3030 _iso_free (p , false);
3131}
3232
33- EXTERNAL_API void iso_free_size (void * p , size_t size ) {
33+ EXTERNAL_API FLATTEN void iso_free_size (void * p , size_t size ) {
3434 _iso_free_size (p , size );
3535}
3636
37- EXTERNAL_API void iso_free_from_zone (void * p , iso_alloc_zone_handle * zone ) {
37+ EXTERNAL_API FLATTEN void iso_free_from_zone (void * p , iso_alloc_zone_handle * zone ) {
3838 UNMASK_ZONE_HANDLE (zone );
3939 _iso_free_from_zone (p , zone , false);
4040}
4141
42- EXTERNAL_API void iso_free_from_zone_permanently (void * p , iso_alloc_zone_handle * zone ) {
42+ EXTERNAL_API FLATTEN void iso_free_from_zone_permanently (void * p , iso_alloc_zone_handle * zone ) {
4343 UNMASK_ZONE_HANDLE (zone );
4444 _iso_free_from_zone (p , zone , true);
4545}
4646
47- EXTERNAL_API void iso_free_permanently (void * p ) {
47+ EXTERNAL_API FLATTEN void iso_free_permanently (void * p ) {
4848 _iso_free (p , true);
4949}
5050
51- EXTERNAL_API size_t iso_chunksz (void * p ) {
51+ EXTERNAL_API FLATTEN size_t iso_chunksz (void * p ) {
5252 return _iso_chunk_size (p );
5353}
5454
55- EXTERNAL_API NO_DISCARD size_t iso_zone_chunk_count (iso_alloc_zone_handle * zone ) {
55+ EXTERNAL_API FLATTEN NO_DISCARD size_t iso_zone_chunk_count (iso_alloc_zone_handle * zone ) {
5656 UNMASK_ZONE_HANDLE (zone );
5757 iso_alloc_zone_t * _zone = (iso_alloc_zone_t * ) zone ;
5858 size_t canaries = 0 ;
@@ -63,7 +63,7 @@ EXTERNAL_API NO_DISCARD size_t iso_zone_chunk_count(iso_alloc_zone_handle *zone)
6363 return (_zone -> chunk_count - canaries );
6464}
6565
66- EXTERNAL_API NO_DISCARD REALLOC_SIZE ASSUME_ALIGNED void * iso_realloc (void * p , size_t size ) {
66+ EXTERNAL_API FLATTEN NO_DISCARD REALLOC_SIZE ASSUME_ALIGNED void * iso_realloc (void * p , size_t size ) {
6767 if (size == 0 ) {
6868 iso_free (p );
6969 return NULL ;
@@ -94,7 +94,7 @@ EXTERNAL_API NO_DISCARD REALLOC_SIZE ASSUME_ALIGNED void *iso_realloc(void *p, s
9494 return r ;
9595}
9696
97- EXTERNAL_API NO_DISCARD MALLOC_ATTR REALLOC_SIZE ASSUME_ALIGNED void * iso_reallocarray (void * p , size_t nmemb , size_t size ) {
97+ EXTERNAL_API FLATTEN NO_DISCARD MALLOC_ATTR REALLOC_SIZE ASSUME_ALIGNED void * iso_reallocarray (void * p , size_t nmemb , size_t size ) {
9898 unsigned int res ;
9999
100100 if (__builtin_umul_overflow (nmemb , size , & res )) {
@@ -104,11 +104,11 @@ EXTERNAL_API NO_DISCARD MALLOC_ATTR REALLOC_SIZE ASSUME_ALIGNED void *iso_reallo
104104 return iso_realloc (p , nmemb * size );
105105}
106106
107- EXTERNAL_API NO_DISCARD ASSUME_ALIGNED char * iso_strdup (const char * str ) {
107+ EXTERNAL_API FLATTEN NO_DISCARD ASSUME_ALIGNED char * iso_strdup (const char * str ) {
108108 return iso_strdup_from_zone (NULL , str );
109109}
110110
111- EXTERNAL_API NO_DISCARD ASSUME_ALIGNED char * iso_strdup_from_zone (iso_alloc_zone_handle * zone , const char * str ) {
111+ EXTERNAL_API FLATTEN NO_DISCARD ASSUME_ALIGNED char * iso_strdup_from_zone (iso_alloc_zone_handle * zone , const char * str ) {
112112 if (str == NULL ) {
113113 return NULL ;
114114 }
@@ -129,11 +129,11 @@ EXTERNAL_API NO_DISCARD ASSUME_ALIGNED char *iso_strdup_from_zone(iso_alloc_zone
129129 return p ;
130130}
131131
132- EXTERNAL_API NO_DISCARD ASSUME_ALIGNED char * iso_strndup (const char * str , size_t n ) {
132+ EXTERNAL_API FLATTEN NO_DISCARD ASSUME_ALIGNED char * iso_strndup (const char * str , size_t n ) {
133133 return iso_strndup_from_zone (NULL , str , n );
134134}
135135
136- EXTERNAL_API NO_DISCARD ASSUME_ALIGNED char * iso_strndup_from_zone (iso_alloc_zone_handle * zone , const char * str , size_t n ) {
136+ EXTERNAL_API FLATTEN NO_DISCARD ASSUME_ALIGNED char * iso_strndup_from_zone (iso_alloc_zone_handle * zone , const char * str , size_t n ) {
137137 if (str == NULL ) {
138138 return NULL ;
139139 }
@@ -160,7 +160,7 @@ EXTERNAL_API NO_DISCARD ASSUME_ALIGNED char *iso_strndup_from_zone(iso_alloc_zon
160160 return p ;
161161}
162162
163- EXTERNAL_API NO_DISCARD MALLOC_ATTR ASSUME_ALIGNED void * iso_alloc_from_zone (iso_alloc_zone_handle * zone ) {
163+ EXTERNAL_API FLATTEN NO_DISCARD MALLOC_ATTR ASSUME_ALIGNED void * iso_alloc_from_zone (iso_alloc_zone_handle * zone ) {
164164 if (zone == NULL ) {
165165 return NULL ;
166166 }
@@ -171,7 +171,7 @@ EXTERNAL_API NO_DISCARD MALLOC_ATTR ASSUME_ALIGNED void *iso_alloc_from_zone(iso
171171 return _iso_alloc (zone , _zone -> chunk_size );
172172}
173173
174- EXTERNAL_API NO_DISCARD MALLOC_ATTR void * iso_alloc_from_zone_tagged (iso_alloc_zone_handle * zone ) {
174+ EXTERNAL_API FLATTEN NO_DISCARD MALLOC_ATTR void * iso_alloc_from_zone_tagged (iso_alloc_zone_handle * zone ) {
175175 if (zone == NULL ) {
176176 return NULL ;
177177 }
@@ -183,7 +183,7 @@ EXTERNAL_API NO_DISCARD MALLOC_ATTR void *iso_alloc_from_zone_tagged(iso_alloc_z
183183 return _tag_ptr (p , zone );
184184}
185185
186- EXTERNAL_API NO_DISCARD void * iso_alloc_tag_ptr (void * p , iso_alloc_zone_handle * zone ) {
186+ EXTERNAL_API FLATTEN NO_DISCARD void * iso_alloc_tag_ptr (void * p , iso_alloc_zone_handle * zone ) {
187187 if (zone == NULL ) {
188188 return NULL ;
189189 }
@@ -192,7 +192,7 @@ EXTERNAL_API NO_DISCARD void *iso_alloc_tag_ptr(void *p, iso_alloc_zone_handle *
192192 return _tag_ptr (p , zone );
193193}
194194
195- EXTERNAL_API NO_DISCARD void * iso_alloc_untag_ptr (void * p , iso_alloc_zone_handle * zone ) {
195+ EXTERNAL_API FLATTEN NO_DISCARD void * iso_alloc_untag_ptr (void * p , iso_alloc_zone_handle * zone ) {
196196 if (zone == NULL ) {
197197 return NULL ;
198198 }
@@ -201,7 +201,7 @@ EXTERNAL_API NO_DISCARD void *iso_alloc_untag_ptr(void *p, iso_alloc_zone_handle
201201 return _untag_ptr (p , zone );
202202}
203203
204- EXTERNAL_API void iso_alloc_verify_ptr_tag (void * p , iso_alloc_zone_handle * zone ) {
204+ EXTERNAL_API FLATTEN void iso_alloc_verify_ptr_tag (void * p , iso_alloc_zone_handle * zone ) {
205205 if (zone == NULL ) {
206206 return ;
207207 }
@@ -211,7 +211,7 @@ EXTERNAL_API void iso_alloc_verify_ptr_tag(void *p, iso_alloc_zone_handle *zone)
211211 return ;
212212}
213213
214- EXTERNAL_API NO_DISCARD uint8_t iso_alloc_get_mem_tag (void * p , iso_alloc_zone_handle * zone ) {
214+ EXTERNAL_API FLATTEN NO_DISCARD uint8_t iso_alloc_get_mem_tag (void * p , iso_alloc_zone_handle * zone ) {
215215 if (zone == NULL || p == NULL ) {
216216 return 0 ;
217217 }
@@ -220,7 +220,7 @@ EXTERNAL_API NO_DISCARD uint8_t iso_alloc_get_mem_tag(void *p, iso_alloc_zone_ha
220220 return _iso_alloc_get_mem_tag (p , zone );
221221}
222222
223- EXTERNAL_API void iso_alloc_destroy_zone (iso_alloc_zone_handle * zone ) {
223+ EXTERNAL_API FLATTEN void iso_alloc_destroy_zone (iso_alloc_zone_handle * zone ) {
224224 if (zone == NULL ) {
225225 return ;
226226 }
@@ -229,13 +229,13 @@ EXTERNAL_API void iso_alloc_destroy_zone(iso_alloc_zone_handle *zone) {
229229 _iso_alloc_destroy_zone (zone );
230230}
231231
232- EXTERNAL_API NO_DISCARD iso_alloc_zone_handle * iso_alloc_new_zone (size_t size ) {
232+ EXTERNAL_API FLATTEN NO_DISCARD iso_alloc_zone_handle * iso_alloc_new_zone (size_t size ) {
233233 iso_alloc_zone_handle * zone = (iso_alloc_zone_handle * ) iso_new_zone (size , false);
234234 UNMASK_ZONE_HANDLE (zone );
235235 return zone ;
236236}
237237
238- EXTERNAL_API int32_t iso_alloc_name_zone (iso_alloc_zone_handle * zone , char * name ) {
238+ EXTERNAL_API FLATTEN int32_t iso_alloc_name_zone (iso_alloc_zone_handle * zone , char * name ) {
239239 if (zone == NULL ) {
240240 return 0 ;
241241 } else {
@@ -246,15 +246,15 @@ EXTERNAL_API int32_t iso_alloc_name_zone(iso_alloc_zone_handle *zone, char *name
246246 return name_mapping (_zone -> user_pages_start , ZONE_USER_SIZE , name );
247247}
248248
249- EXTERNAL_API void iso_alloc_protect_root (void ) {
249+ EXTERNAL_API FLATTEN void iso_alloc_protect_root (void ) {
250250 _iso_alloc_protect_root ();
251251}
252252
253- EXTERNAL_API void iso_alloc_unprotect_root (void ) {
253+ EXTERNAL_API FLATTEN void iso_alloc_unprotect_root (void ) {
254254 _iso_alloc_unprotect_root ();
255255}
256256
257- EXTERNAL_API uint64_t iso_alloc_detect_zone_leaks (iso_alloc_zone_handle * zone ) {
257+ EXTERNAL_API FLATTEN uint64_t iso_alloc_detect_zone_leaks (iso_alloc_zone_handle * zone ) {
258258 if (zone == NULL ) {
259259 return 0 ;
260260 } else {
@@ -264,11 +264,11 @@ EXTERNAL_API uint64_t iso_alloc_detect_zone_leaks(iso_alloc_zone_handle *zone) {
264264 return _iso_alloc_detect_leaks_in_zone (zone );
265265}
266266
267- EXTERNAL_API uint64_t iso_alloc_detect_leaks (void ) {
267+ EXTERNAL_API FLATTEN uint64_t iso_alloc_detect_leaks (void ) {
268268 return _iso_alloc_detect_leaks ();
269269}
270270
271- EXTERNAL_API uint64_t iso_alloc_zone_mem_usage (iso_alloc_zone_handle * zone ) {
271+ EXTERNAL_API FLATTEN uint64_t iso_alloc_zone_mem_usage (iso_alloc_zone_handle * zone ) {
272272 if (zone == NULL ) {
273273 return 0 ;
274274 } else {
@@ -278,15 +278,15 @@ EXTERNAL_API uint64_t iso_alloc_zone_mem_usage(iso_alloc_zone_handle *zone) {
278278 return _iso_alloc_zone_mem_usage (zone );
279279}
280280
281- EXTERNAL_API uint64_t iso_alloc_mem_usage (void ) {
281+ EXTERNAL_API FLATTEN uint64_t iso_alloc_mem_usage (void ) {
282282 return _iso_alloc_mem_usage ();
283283}
284284
285- EXTERNAL_API void iso_verify_zones (void ) {
285+ EXTERNAL_API FLATTEN void iso_verify_zones (void ) {
286286 verify_all_zones ();
287287}
288288
289- EXTERNAL_API void iso_verify_zone (iso_alloc_zone_handle * zone ) {
289+ EXTERNAL_API FLATTEN void iso_verify_zone (iso_alloc_zone_handle * zone ) {
290290 if (zone == NULL ) {
291291 return ;
292292 } else {
@@ -296,26 +296,26 @@ EXTERNAL_API void iso_verify_zone(iso_alloc_zone_handle *zone) {
296296 verify_zone (zone );
297297}
298298
299- EXTERNAL_API void iso_flush_caches (void ) {
299+ EXTERNAL_API FLATTEN void iso_flush_caches (void ) {
300300 flush_caches ();
301301}
302302
303303#if HEAP_PROFILER
304- EXTERNAL_API size_t iso_get_alloc_traces (iso_alloc_traces_t * traces_out ) {
304+ EXTERNAL_API FLATTEN size_t iso_get_alloc_traces (iso_alloc_traces_t * traces_out ) {
305305 return _iso_get_alloc_traces (traces_out );
306306}
307307
308- EXTERNAL_API size_t iso_get_free_traces (iso_free_traces_t * traces_out ) {
308+ EXTERNAL_API FLATTEN size_t iso_get_free_traces (iso_free_traces_t * traces_out ) {
309309 return _iso_get_free_traces (traces_out );
310310}
311311
312- EXTERNAL_API void iso_alloc_reset_traces (void ) {
312+ EXTERNAL_API FLATTEN void iso_alloc_reset_traces (void ) {
313313 _iso_alloc_reset_traces ();
314314}
315315#endif
316316
317317#if EXPERIMENTAL
318- EXTERNAL_API void iso_alloc_search_stack (void * p ) {
318+ EXTERNAL_API FLATTEN void iso_alloc_search_stack (void * p ) {
319319 _iso_alloc_search_stack (p );
320320}
321321#endif
0 commit comments