tree: d4831ebe7a59579e95221436c942abcad932781a [search]
  1. alloc/
  2. arena/
  3. heap/
  4. prim/
  5. profile/
  6. util/
  7. arch.h
  8. atomic.h
  9. decl.h
  10. internal.h
  11. memtag.h
  12. prim.h
  13. qsbr.h
  14. readme.md
  15. track.h
  16. types.h
include/mimalloc/readme.md

Internal Headers

  • types.h: Defines the types of all internal mimalloc datastructures and configuration options.
  • decl.h: Compiler attributes, assertions, initialization macros, and platform-specific declarations.
  • arch.h: Architecture dependent type definitions, bit operations, and pointer provenance support (as on CHERI).
  • atomic.h: Portable atomic operations and locks.
  • prim.h: Primitive and minimal portability API needed from a host system.
  • memtag.h: Primitives for memory-tagging (MTE or MIE); this is enabled when building with -DMI_MTE=ON.
  • track.h: Memory-tracking integration for Valgrind, AddressSanitizer, and Windows event tracing.
  • qsbr.h: Quiescent-state based reclamation primitives (for runtime systems like CPython).
  • internal.h: Deprecated: umbrella header for internal allocator declarations and utilities.

Source Headers

  • alloc: Internal allocation, freeing, and page-management interfaces.
  • arena: Arena management, slice allocation, and arena-backed page interfaces.
  • heap: Heap, thread-local heap, subprocess, initialization, and page-map interfaces. Also contains heap/process.h which declares (almost) all static variables.
  • prim: Higher-level OS memory operations and primitive thread-local access.
  • profile: Sampled allocation, guarded allocation, and profiler interfaces.
  • util: Runtime utilities, options, randomness, statistics, and dynamic thread-local interfaces.