+ return __valloc(size, piles, CLASS_LEN(piles_names), 3);
+}
+
+void*
+vzalloc(unsigned int size)
+{
+ void* ptr = __valloc(size, piles, CLASS_LEN(piles_names), 3);
+ memset(ptr, 0, size);
+ return ptr;
+}
+
+void*
+vcalloc(unsigned int size, unsigned int count)
+{
+ unsigned int alloc_size;
+ if (umul_overflow(size, count, &alloc_size)) {
+ return 0;
+ }
+
+ void* ptr = __valloc(alloc_size, piles, CLASS_LEN(piles_names), 3);
+ memset(ptr, 0, alloc_size);
+ return ptr;