9 void *__expand_heap(size_t *);
11 static void *__simple_malloc(size_t n)
13 static char *cur, *end;
14 static volatile int lock[1];
19 while (align<n && align<ALIGN)
24 pad = -(uintptr_t)cur & align-1;
26 if (n <= SIZE_MAX/2 + ALIGN) n += pad;
30 char *new = __expand_heap(&m);
49 weak_alias(__simple_malloc, malloc);
51 static void *__simple_calloc(size_t m, size_t n)
53 if (n && m > (size_t)-1/n || malloc != __simple_malloc) {
57 return __simple_malloc(n * m);
60 weak_alias(__simple_calloc, calloc);