31 #define MAX_SIZE_T (~(size_t)0)
34 #define MFAIL ((void*)(MAX_SIZE_T))
35 #define CMFAIL ((char*)(MFAIL))
40 #define ONLY_MSPACES 0
41 #elif ONLY_MSPACES != 0
42 #define ONLY_MSPACES 1
59 #define dlcalloc calloc
61 #define dlmalloc malloc
62 #define dlmemalign memalign
63 #define dlposix_memalign posix_memalign
64 #define dlrealloc realloc
65 #define dlvalloc valloc
66 #define dlpvalloc pvalloc
67 #define dlmallinfo mallinfo
68 #define dlmallopt mallopt
69 #define dlmalloc_trim malloc_trim
70 #define dlmalloc_stats malloc_stats
71 #define dlmalloc_usable_size malloc_usable_size
72 #define dlmalloc_footprint malloc_footprint
73 #define dlmalloc_max_footprint malloc_max_footprint
74 #define dlmalloc_footprint_limit malloc_footprint_limit
75 #define dlmalloc_set_footprint_limit malloc_set_footprint_limit
76 #define dlmalloc_inspect_all malloc_inspect_all
77 #define dlindependent_calloc independent_calloc
78 #define dlindependent_comalloc independent_comalloc
79 #define dlbulk_free bulk_free
83 #ifndef HAVE_USR_INCLUDE_MALLOC_H
85 #ifndef MALLINFO_FIELD_TYPE
86 #define MALLINFO_FIELD_TYPE size_t
88 #ifndef STRUCT_MALLINFO_DECLARED
89 #define STRUCT_MALLINFO_DECLARED 1
227 #define M_TRIM_THRESHOLD (-1)
228 #define M_GRANULARITY (-2)
229 #define M_MMAP_THRESHOLD (-3)
536 typedef void* mspace;
549 mspace create_mspace(
size_t capacity,
int locked);
557 size_t destroy_mspace(mspace msp);
568 mspace create_mspace_with_base(
void* base,
size_t capacity,
int locked);
581 int mspace_track_large_chunks(mspace msp,
int enable);
588 struct mallinfo mspace_mallinfo(mspace msp);
594 int mspace_mallopt(
int,
int);
600 void* mspace_malloc(mspace msp,
size_t bytes);
601 void mspace_free(mspace msp,
void* mem);
602 void* mspace_calloc(mspace msp,
size_t n_elements,
size_t elem_size);
603 void* mspace_realloc(mspace msp,
void* mem,
size_t newsize);
604 void* mspace_realloc_in_place(mspace msp,
void* mem,
size_t newsize);
605 void* mspace_memalign(mspace msp,
size_t alignment,
size_t bytes);
606 int mspace_posix_memalign(mspace msp,
void** pp,
size_t alignment,
size_t bytes);
607 void** mspace_independent_calloc(mspace msp,
size_t n_elements,
608 size_t elem_size,
void* chunks[]);
609 void** mspace_independent_comalloc(mspace msp,
size_t n_elements,
610 size_t sizes[],
void* chunks[]);
611 size_t mspace_bulk_free(mspace msp,
void**,
size_t n_elements);
612 size_t mspace_usable_size(
const void* mem);
613 void mspace_malloc_stats(mspace msp);
614 int mspace_trim(mspace msp,
size_t pad);
615 size_t mspace_footprint(mspace msp);
616 size_t mspace_max_footprint(mspace msp);
617 size_t mspace_footprint_limit(mspace msp);
618 size_t mspace_set_footprint_limit(mspace msp,
size_t bytes);
619 void mspace_inspect_all(mspace msp,
620 void(*handler)(
void *,
void *,
size_t,
void*),
#define dlmalloc_usable_size
#define dlindependent_comalloc
MALLINFO_FIELD_TYPE arena
MALLINFO_FIELD_TYPE hblks
#define dlmalloc_set_footprint_limit
#define dlindependent_calloc
MALLINFO_FIELD_TYPE ordblks
#define dlmalloc_inspect_all
MALLINFO_FIELD_TYPE fordblks
#define dlmalloc_footprint
#define dlmalloc_footprint_limit
MALLINFO_FIELD_TYPE fsmblks
MALLINFO_FIELD_TYPE keepcost
MALLINFO_FIELD_TYPE hblkhd
#define MALLINFO_FIELD_TYPE
void * dlrealloc_in_place(void *, size_t)
#define dlmalloc_max_footprint
MALLINFO_FIELD_TYPE uordblks
MALLINFO_FIELD_TYPE smblks
MALLINFO_FIELD_TYPE usmblks