Skip to content

3.1.0

Compare
Choose a tag to compare
@jasone jasone released this 18 Apr 16:40
· 2955 commits to dev since this release

New features:

  • Auto-detect whether running inside Valgrind, thus removing the need to
    manually specify MALLOC_CONF=valgrind:true.
  • Add the "arenas.extend" mallctl, which allows applications to create
    manually managed arenas.
  • Add the ALLOCM_ARENA() flag for {,r,d}allocm().
  • Add the "opt.dss", "arena.<i>.dss", and "stats.arenas.<i>.dss" mallctls,
    which provide control over dss/mmap precedence.
  • Add the "arena.<i>.purge" mallctl, which obsoletes "arenas.purge".
  • Define LG_QUANTUM for hppa.

Incompatible changes:

  • Disable tcache by default if running inside Valgrind, in order to avoid
    making unallocated objects appear reachable to Valgrind.
  • Drop const from malloc_usable_size() argument on Linux.

Bug fixes:

  • Fix heap profiling crash if sampled object is freed via realloc(p, 0).
  • Remove const from __*_hook variable declarations, so that glibc can modify
    them during process forking.
  • Fix mlockall(2)/madvise(2) interaction.
  • Fix fork(2)-related deadlocks.
  • Fix error return value for "thread.tcache.enabled" mallctl.