summaryrefslogtreecommitdiff
path: root/libc/stdlib/malloc/heap.h
AgeCommit message (Collapse)Author
2002-10-17Fix malloc so it compiles and works when using pthreadsEric Andersen
-Erik
2002-10-09* Add support for uClinux's broken munmap, contingent onMiles Bader
__UCLIBC_UCLINUX_BROKEN_MUNMAP__ (which is currently not defined anywhere). This makes other cases a tiny bit less efficient too. * Move the malloc lock into the heap structure (locking is still done at the malloc level though, not by the heap functions). * Initialize the malloc heap to contain a tiny initial static free-area so that programs that only do a very little allocation won't ever call mmap.
2002-09-06Update debugging hooks.Miles Bader
2002-09-04(__heap_delete): Renamed from `__heap_unlink_free_area'.Miles Bader
(__heap_free_area_alloc): Use __heap_delete. (__heap_is_empty): New macro.
2002-08-30(likely, unlikely): New macros.Miles Bader
2002-08-01(HEAP_MIN_SIZE): New macro.Miles Bader
(HEAP_MIN_FREE_AREA_SIZE): Increase size. Enable debugging if HEAP_DEBUGGING is defined.
2002-07-25Redo the locking, so that it may actually work. Now locking is done atMiles Bader
the malloc/free level, not within the heap abstraction, and there's a separate lock to control sbrk access. Also, get rid of the separate `unmap_free_area' function in free.c, and just put the code in the `free' function directly, which saves a bunch of space (even compared to using an inline function) for some reason.
2002-07-24Factor out some common code sequences into inline functions.Miles Bader
2002-07-23* Automatically try to unmap heap free-areas when they get very big.Miles Bader
* Instead of using mmap/munmap directly for large allocations, just use the heap for everything (this is reasonable now that heap memory can be unmapped). * Use sbrk instead of mmap/munmap on systems with an MMU.
2002-07-19Rename mutex stuff to use heap-specific names.Miles Bader
Doc fix.
2002-07-18Miles Bader implemented a new mmap based malloc which is muchEric Andersen
smarter than the old "malloc-simple", and actually works, unlike the old "malloc". So kill the old "malloc-simple" and the old "malloc" and replace them with Miles' new malloc implementation. Update Config files to match. Thanks Miles!