4#define MALLOC_INSPECT_ALL 1 
    7#define USE_SPIN_LOCKS     1 
   20#define BIT_ALLOCATOR_BLOCK      (4096ul) 
   21#define BIT_ALLOCATOR_BLOCK_MASK (BIT_ALLOCATOR_BLOCK - 1) 
   22#define BITS_PER_PAGE            (BIT_ALLOCATOR_BLOCK * 8ul) 
   31    void *usable_area = alloc + 1;
 
   33    void *alligned_start =
 
   36    size_t alligned_size = size - (((size_t) alligned_start) - ((size_t) _alloc));
 
   44    alligned_pages -= bitmap_pages;
 
   48    alloc->
start = alligned_start;
 
   52    alloc->
root = create_mspace(0, 1);
 
 
   72    data = mspace_malloc(alloc->
root, size);
 
   76    __sync_fetch_and_add(&(_alloc->alloc_ns[!!data]),
 
   78    __sync_fetch_and_add(&(_alloc->allocs[!!data]), 1);
 
 
   92    mspace_free(alloc->
root, mem);
 
   96    __sync_fetch_and_add(&(_alloc->free_ns),
 
   98    __sync_fetch_and_add(&(_alloc->frees), 1);
 
 
  106    destroy_mspace(alloc->
root);
 
 
  111    struct mallinfo minfo = mspace_mallinfo(mspace);
 
 
  125    stats.allocs[0]   = _alloc->allocs[0];
 
  126    stats.allocs[1]   = _alloc->allocs[1];
 
  127    stats.frees       = _alloc->frees;
 
  128    stats.alloc_ns[0] = _alloc->alloc_ns[0];
 
  129    stats.alloc_ns[1] = _alloc->alloc_ns[1];
 
  130    stats.free_ns     = _alloc->free_ns;
 
 
  136  void *arg), 
void *arg)
 
  140    mspace_inspect_all(alloc->
root, inspector, arg);
 
 
  167    alloc->
root = create_mspace(0, 1);
 
 
#define arax_assert(EXPR)
struct utils_bitmap utils_bitmap_s
#define utils_timer_get_duration_ns(NAME)
#define utils_timer_set(NAME, WHAT)
size_t utils_bitmap_alloc_bits(utils_bitmap_s *bmp, size_t bits)
utils_bitmap_s * utils_bitmap_init(void *mem, size_t size_bits)
void utils_bitmap_free_bits(utils_bitmap_s *bmp, size_t start, size_t bits)
MALLINFO_FIELD_TYPE arena
MALLINFO_FIELD_TYPE uordblks
void * arax_ummap(void *a, size_t s)
arch_alloc_s * arch_alloc_create_sub_alloc(arch_alloc_s *parent)
#define BIT_ALLOCATOR_BLOCK_MASK
int arch_alloc_init_once(arch_alloc_s *_alloc, size_t size)
utils_bitmap_s * arch_alloc_get_bitmap()
void * arax_mmap(size_t s)
arch_alloc_stats_s arch_alloc_stats(arch_alloc_s *_alloc)
void arch_alloc_inspect(arch_alloc_s *_alloc, void(*inspector)(void *start, void *end, size_t size, void *arg), void *arg)
static void _arch_alloc_mspace_mallinfo(mspace *mspace, arch_alloc_stats_s *stats)
void arch_alloc_exit(arch_alloc_s *_alloc)
void arch_alloc_init_always(arch_alloc_s *alloc)
#define BIT_ALLOCATOR_BLOCK
void * arch_alloc_allocate(arch_alloc_s *_alloc, size_t size)
static struct arch_alloc_inner_s * global_alloc
void _arch_alloc_free(arch_alloc_s *_alloc, void *mem)