static inline voucher_t _voucher_alloc(mach_voucher_attr_recipe_size_t extra) { voucher_t voucher; size_t voucher_size = sizeof(voucher_s) + extra; voucher = (voucher_t)_os_object_alloc_realized(VOUCHER_CLASS, voucher_size); #if VOUCHER_ENABLE_RECIPE_OBJECTS voucher->v_recipe_extra_size = extra; voucher->v_recipe_extra_offset = voucher_size - extra; #else dispatch_assert(!extra); #endif _dispatch_voucher_debug("alloc", voucher); return voucher; }
void * _dispatch_alloc(const void *vtable, size_t size) { return _os_object_alloc_realized(vtable, size); }