Releases: spaskalev/buddy_alloc
Releases · spaskalev/buddy_alloc
v1.3.1
v1.3.0
v1.2.3
v1.2.2
v1.2.1
v1.2.0
- Add a new
buddy_get_embed_atfunction to get a handle to the allocator when having a pointer to the arena. - Add a new
enum buddy_safe_free_statusthat is returned from thebuddy_safe_freefunction. It can be used to detect invalid free calls and fail early. - Document the allocator metadata size based on some common arena and smallest allocation block sizes.
v1.1.1
v1.1.0
v1.0.0
External changes:
buddy_walkcallback is now invoked for free slots in addition to allocated ones and has an extra parameter to distinguish between free and allocated.buddy_fragmentationreturn type is now anunsigned charthat ranges between 0 and 255 and nofloattypes are used. This way fragmentation can be reported when used in environments that don't support thefloattype.
Internal changes:
- A static inline
two_to_the_power_ofhelper function that returnssize_tis used in place of manual power of two calculations. - The fast square root algorithm used in the fragmentation formula has been replaced with an integer square root algorithm by Martin Guy, 1985.
Misc:
Two years and nine months have passed since this project started and it has now reached the 1.0.0 milestone. Thanks to all contributors and users for their interest in it.
v0.9
- Remove FAMs and
{0}initializers to facilitate interop with strict C++ compilers- Clang generates identical code with FAMs and without FAMs
- GCC generates almost-identical code
- Make the debug functions non-static so that they can be used by code in other units
- Include
stdio.honly whenBUDDY_PRINTFis not defined - Add a macro for C++ name mangling