Skip to content
  1. Dec 12, 2012
    • Jason Evans's avatar
      Fix chunk_recycle() Valgrind integration. · 1271185b
      Jason Evans authored
      Fix chunk_recycyle() to unconditionally inform Valgrind that returned
      memory is undefined.  This fixes Valgrind warnings that would result
      from a huge allocation being freed, then recycled for use as an arena
      chunk.  The arena code would write metadata to the chunk header, and
      Valgrind would consider these invalid writes.
      1271185b
  2. Nov 30, 2012
  3. Nov 09, 2012
  4. Nov 06, 2012
    • Jason Evans's avatar
      Purge unused dirty pages in a fragmentation-reducing order. · e3d13060
      Jason Evans authored
      Purge unused dirty pages in an order that first performs clean/dirty run
      defragmentation, in order to mitigate available run fragmentation.
      
      Remove the limitation that prevented purging unless at least one chunk
      worth of dirty pages had accumulated in an arena.  This limitation was
      intended to avoid excessive purging for small applications, but the
      threshold was arbitrary, and the effect of questionable utility.
      
      Relax opt_lg_dirty_mult from 5 to 3.  This compensates for increased
      likelihood of allocating clean runs, given the same ratio of clean:dirty
      runs, and reduces the potential for repeated purging in pathological
      large malloc/free loops that push the active:dirty page ratio just over
      the purge threshold.
      e3d13060
  5. Oct 17, 2012
  6. Oct 16, 2012
  7. May 24, 2012
  8. May 16, 2012
  9. May 15, 2012
  10. May 12, 2012
  11. May 11, 2012
    • Jason Evans's avatar
      Fix large calloc() zeroing bugs. · d8ceef6c
      Jason Evans authored
      Refactor code such that arena_mapbits_{large,small}_set() always
      preserves the unzeroed flag, and manually manipulate the unzeroed flag
      in the one case where it actually gets reset (in arena_chunk_purge()).
      This fixes unzeroed preservation bugs in arena_run_split() and
      arena_ralloc_large_grow().  These bugs caused large calloc() to return
      non-zeroed memory under some circumstances.
      d8ceef6c
  12. Apr 25, 2012
  13. Apr 23, 2012
  14. Apr 21, 2012
    • Jason Evans's avatar
      Fix a memory corruption bug in chunk_alloc_dss(). · 8f0e0eb1
      Jason Evans authored
      Fix a memory corruption bug in chunk_alloc_dss() that was due to
      claiming newly allocated memory is zeroed.
      
      Reverse order of preference between mmap() and sbrk() to prefer mmap().
      
      Clean up management of 'zero' parameter in chunk_alloc*().
      8f0e0eb1
  15. Apr 20, 2012
  16. Apr 18, 2012
  17. Apr 17, 2012
  18. Nov 15, 2011
  19. Nov 06, 2011
  20. Sep 01, 2011
  21. Jul 31, 2011
  22. Apr 01, 2011
  23. Mar 31, 2011
  24. Mar 22, 2011
  25. Mar 15, 2011
  26. Mar 02, 2011
  27. Feb 08, 2011
  28. Feb 01, 2011
  29. Dec 04, 2010
  30. Oct 30, 2010
  31. Oct 25, 2010