summaryrefslogtreecommitdiffstats
path: root/src/alloc.h
Commit message (Collapse)AuthorAgeFilesLines
* alloc: New for_arena() macro to iterate over allocated objectsTavian Barnes33 hours1-0/+40
|
* alloc: Switch arenas from a freelist to a bitmap allocatorTavian Barnes33 hours1-3/+1
|
* alloc: Don't require the old size in varena_realloc()Tavian Barnes3 days1-8/+4
| | | | Instead, just look up which arena contains the pointer.
* alloc: Stop supporting pathological flexible array ABIsTavian Barnes3 days1-15/+26
|
* alloc: Add macro versions of alignment utilsTavian Barnes3 days1-3/+12
|
* alloc: Don't require size % align == 0Tavian Barnes3 days1-20/+14
| | | | | | | | | Allowing unaligned sizes will allow us to allocate aligned slabs with additional metadata in the tail without ballooning the allocation size for large alignments. Link: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2244.htm#dr_460 Link: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2072.htm
* Write @arg instead of @param arg in doc commentsTavian Barnes2024-10-011-45/+45
|
* Fix spellingTavian Barnes2024-09-231-1/+1
|
* build: Move feature test macros to prelude.hTavian Barnes2024-08-281-2/+0
| | | | | | This replaces the explicit CPPFLAGS list in flags.mk with just `-include src/prelude.h`, shortening our compiler command lines and allowing them to be easily documented.
* prelude: Split bfs-specific utilities into new bfs.h headerTavian Barnes2024-08-281-0/+3
|
* prelude: Simplify attributesTavian Barnes2024-07-281-8/+11
|
* Rename config.h to prelude.hTavian Barnes2024-04-191-1/+1
|
* Re-run include-what-you-useTavian Barnes2024-03-111-0/+1
|
* alloc: Add attr(nodiscard) to a few functionsTavian Barnes2023-12-201-0/+4
|
* config: New variadic attr(...) macroTavian Barnes2023-12-181-6/+4
|
* alloc: New helpers for growing dynamic arraysTavian Barnes2023-11-231-0/+36
|
* alloc: New helpers for aligned reallocationTavian Barnes2023-11-231-0/+24
| | | | | | There is no aligned_realloc(), so the new xrealloc() function emulates it by manually reallocating and copying for over-aligned types. The new REALLOC_ARRAY() and REALLOC_FLEX() macros wrap xrealloc().
* alloc: New is_aligned() helperTavian Barnes2023-11-231-0/+5
|
* config: Add (de)allocator attributesTavian Barnes2023-11-091-17/+23
|
* alloc: Test allocation size overflowsTavian Barnes2023-10-061-2/+2
|
* alloc: New varena_grow() functionTavian Barnes2023-08-311-0/+14
|
* alloc: New [v]arena_clear() functionsTavian Barnes2023-08-311-0/+10
|
* alloc: Implement an arena for flexible structsTavian Barnes2023-06-201-0/+92
|
* alloc: Implement an arena allocatorTavian Barnes2023-06-201-0/+44
|
* alloc: New header for memory allocation utilitiesTavian Barnes2023-06-201-0/+149