esp-idf/components/heap
Deomid Ryabkov 712bd1d773 Try to merge tail with next block when splitting
When splitting a memory block, check if the next block is free.
If it is, then just extend it upwards instead of creating a new block.
This fixes a bug where when shrinking existing allocations would result in irreversible free space fragmentation.

When testing on the host, test all the poisoning configurations.
2018-04-03 16:35:47 +10:00
..
include fix typo for heap cap free size 2017-12-27 16:54:22 +08:00
test heap: Fix bug when realloc moves data between heaps 2018-02-09 19:24:37 +08:00
test_multi_heap_host Try to merge tail with next block when splitting 2018-04-03 16:35:47 +10:00
component.mk Heap tracing support 2017-09-07 16:32:05 +10:00
heap_caps_init.c component/heap : fix heap_region_add check bug 2017-11-16 11:10:13 +08:00
heap_caps.c heap: Fix bug when realloc moves data between heaps 2018-02-09 19:24:37 +08:00
heap_private.h Add option to allocate external RAM using heap_alloc_caps 2017-09-14 10:47:44 +08:00
heap_trace.c heap_trace: fix bug in realloc for copying trace record 2017-12-27 16:54:15 +08:00
Kconfig doc: Add docs for heap trace & poisoning 2017-09-07 16:32:05 +10:00
multi_heap_config.h Try to merge tail with next block when splitting 2018-04-03 16:35:47 +10:00
multi_heap_internal.h heap: Fix spurious heap_caps_check_integrity() errors in Comprehensive mode 2017-10-18 15:57:52 +08:00
multi_heap_platform.h multi_heap: Print the problem address when aborting due to heap corruption 2017-09-18 16:54:23 +10:00
multi_heap_poisoning.c Try to merge tail with next block when splitting 2018-04-03 16:35:47 +10:00
multi_heap.c Try to merge tail with next block when splitting 2018-04-03 16:35:47 +10:00