23 #include <drizzled/common_fwd.h>
25 #include <drizzled/util/data_ref.h>
40 static const int KEEP_PREALLOC= 1;
42 static const int MARK_BLOCKS_FREE= 2;
70 Root(
size_t block_size_arg)
72 free= used= pre_alloc= 0;
74 block_size= block_size_arg - memory::ROOT_MIN_BLOCK_SIZE;
108 void reset_defaults(
size_t block_size,
size_t prealloc_size);
109 unsigned char* alloc(
size_t Size);
110 void mark_blocks_free();
111 void* memdup(
const void*,
size_t);
112 char* strdup(
const char*);
114 char* strdup(
const char*,
size_t);
116 void init(
size_t block_size= ROOT_MIN_BLOCK_SIZE);
118 bool alloc_root_inited()
const
120 return min_malloc != 0;
122 void free_root(myf MyFLAGS);
123 void* multi_alloc(
int unused, ...);
125 void* calloc(
size_t size)
127 void* ptr= alloc(size);
128 memset(ptr, 0, size);
138 return root.alloc(size);
143 return root.alloc(size);
internal::UsedMemory * free
internal::UsedMemory * used
unsigned int block_num
allocated blocks counter
unsigned int first_block_usage
Visibility Control Macros.
internal::UsedMemory * pre_alloc
size_t block_size
initial block size