tree: 4a583feeb510724b16b9d3f6e998f0b477719a5d [search]
  1. arena-alloc.c
  2. arena-heap.c
  3. arena-page-alloc.c
  4. arena-page.c
  5. arena-page.h
  6. arena.c
  7. arena.h
  8. bitmap-chunk.c
  9. bitmap-chunk.h
  10. bitmap.c
  11. bitmap.h
  12. readme.md
src/arena/readme.md

Memory Arenas and Concurrent Bitmaps

  • arena.c: Arena creation, reservation, traversal, and destruction.
  • arena-alloc.c: Allocation, freeing, commitment, and purging of arena slices.
  • arena-page.c: Per-heap arena page bitmaps, and finding, abandoning, and reclaiming abandoned pages.
  • arena-page-alloc.c: Page allocation (_mi_arenas_page_alloc): reuse an abandoned page or allocate and initialize a fresh one; and freeing pages.
  • arena-heap.c: Visiting, collecting, and moving or destroying all pages of a heap.
  • arena.h: Private arena declarations, traversal callbacks, and layout helpers.
  • arena-page.h: Private declarations and helpers shared by the arena page modules (guard pages, arena page bitmaps).
  • bitmap.c: Concurrent bitmap searches and range operations; these bitmaps are used to manage the slices in an arena.
  • bitmap-chunk.c: Bitmaps consist of 512-bit chunks; this provides the low-level atomic bit-field and bitmap-chunk operations.
  • bitmap.h: Bitmap types, constants, and operation declarations.
  • bitmap-chunk.h: Private declarations and iteration helpers for bitmap fields and chunks.