//
DO("malloc" );
DO("__builtin_new" );
-# if VG_WORDSIZE == 4
+# if VG_WORDSIZE == 4 && !defined(VGO_darwin)
DO("operator new(unsigned)" );
#else
DO("operator new(unsigned long)" );
#endif
DO("__builtin_vec_new" );
-# if VG_WORDSIZE == 4
+# if VG_WORDSIZE == 4 && !defined(VGO_darwin)
DO("operator new[](unsigned)" );
#else
DO("operator new[](unsigned long)" );
DO("memalign" );
DO("posix_memalign" );
DO("valloc" );
-# if VG_WORDSIZE == 4
+# if VG_WORDSIZE == 4 && !defined(VGO_darwin)
DO("operator new(unsigned, std::nothrow_t const&)" );
DO("operator new[](unsigned, std::nothrow_t const&)" );
DO("operator new(unsigned, std::align_val_t)" );
vgopts: --ignore-fn=get_or_create_key_element --ignore-fn=_GLOBAL__sub_I_eh_alloc.cc --ignore-fn=call_init.part.0
vgopts: --ignore-fn=call_init --ignore-fn=pool
vgopts: --ignore-fn=filter_function1 --ignore-fn="filter_function2(int)" --ignore-fn=filter_function3
+# macOS allocations
+vgopts: --ignore-fn="allocBuckets(void*, unsigned int)" --ignore-fn=map_images_nolock --ignore-fn="realizeClass(objc_class*)" --ignore-fn=_NXHashRehashToCapacity --ignore-fn=NXCreateHashTableFromZone --ignore-fn=NXCreateMapTableFromZone --ignore-fn=NXHashInser --ignore-fn=add_class_to_loadable_list --ignore-fn=NXHashInsert --ignore-fn=class_createInstance --ignore-fn=_xpc_malloc --ignore-fn=strdup --ignore-fn=_xpc_calloc
post: perl ../../massif/ms_print massif.out | sed 's/gcc[0-9]*/gcc/' | ../../tests/filter_addresses | ./filter_ignore_fn
cleanup: rm massif.out
prog: inlinfomalloc
vgopts: --stacks=no --heap-admin=0 --time-unit=B --threshold=0 --detailed-freq=6 --massif-out-file=massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
+# macOS allocations
+vgopts: --ignore-fn="allocBuckets(void*, unsigned int)" --ignore-fn="realizeClass(objc_class*)" --ignore-fn=map_images_nolock --ignore-fn=NXCreateHashTableFromZone --ignore-fn=_NXHashRehashToCapacity --ignore-fn=NXCreateMapTableFromZone --ignore-fn=NXHashInsert --ignore-fn=add_class_to_loadable_list --ignore-fn=class_createInstance --ignore-fn=_xpc_malloc --ignore-fn=strdup --ignore-fn=_xpc_calloc
stderr_filter: filter_verbose
post: perl ../../massif/ms_print --threshold=0 massif.out | ../../tests/filter_addresses | ./filter_ignore_fn
cleanup: rm massif.out
vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook
vgopts: --ignore-fn=get_or_create_key_element --ignore-fn=_GLOBAL__sub_I_eh_alloc.cc --ignore-fn=call_init.part.0
vgopts: --ignore-fn=call_init --ignore-fn=pool
+# macOS allocations
+vgopts: --ignore-fn="allocBuckets(void*, unsigned int)" --ignore-fn=map_images_nolock --ignore-fn="realizeClass(objc_class*)" --ignore-fn=_NXHashRehashToCapacity --ignore-fn=NXCreateHashTableFromZone --ignore-fn=NXCreateMapTableFromZone --ignore-fn=NXHashInsert --ignore-fn=add_class_to_loadable_list --ignore-fn=class_createInstance --ignore-fn=_xpc_malloc
post: perl ../../massif/ms_print massif.out | sed 's/gcc[0-9]*/gcc/' | ./filter_new_aligned | ./filter_ignore_fn
cleanup: rm massif.out