was actually obtained from the buddy allocator. This should avoid some
internal memory fragmentation in mem_heap_create() and mem_heap_alloc().
mem_area_alloc(): Change the in parameter size to an in/out parameter.
Adjust the size based on what was obtained from pool->free_list[].
mem_heap_create_block(): Adjust block->len to what was obtained from
mem_area_alloc().
functions.
ut_malloc_low(): Flag the block with UNIV_MEM_ALLOC(). Do not flag the
block with UNIV_MEM_FREE() in ut_free(), because it would cause bogus
Valgrind warnings in the underlying memory allocator.
mem_pool_create(): Flag the data area with UNIV_MEM_FREE().
mem_pool_fill_free_list(): Flag the area header with UNIV_MEM_ALLOC().
mem_area_alloc(): Flag the data area with UNIV_MEM_ALLOC().
mem_area_free(): Flag the data area with UNIV_MEM_FREE().
mem_heap_alloc(): Flag the buffer with UNIV_MEM_ALLOC().
mem_heap_block_free(): Flag the block with UNIV_MEM_FREE().
mem_heap_free_top(): Flag the block with UNIV_MEM_FREE().
ut_is_2pow(): New function for testing if a number is zero or a power of two.
Use this function instead of bitwise arithmetics or ut_2_power_up() where
possible.