• Swann Perarnau's avatar
    [refactor] new version of the API · a002945c
    Swann Perarnau authored
    This is the result of countless interations on the internal design of
    the various building blocks we want to have for this library.
    At this point, I hope that this is stable enough. There are still some
    tweaks needed here and there, but the core is implemented AND tested.
    Some of the design decisions made:
    - all functions are public, but most are not meant to be used directly.
    - intended public functions take "generic" structs as arguments
    - intended actual implementations rely on more complex structures, with
    their own family of data and operators.
    - split all objects between data and operator structs.
    - area.c and arena.c are generic dispatch functions to call the actual,
      specific implementations.
    - struct aml_area and struct_aml_arena are the same.
    Currently implement:
    - 2 area types: posix (malloc) and linux (numa).
    - 1 arena type: jemalloc
arena_jemalloc.c 8.38 KB