summaryrefslogtreecommitdiffstats
path: root/libc/stdlib/malloc/heap.h
Commit message (Collapse)AuthorAgeFilesLines
* More fiddling with static free-areas: make sure both their size _and_Miles Bader2003-09-221-5/+5
| | | | their alignment are correct.
* Make sure we don't allocate too little space for static free-areasMiles Bader2003-09-191-1/+3
| | | | because of our fiddling with alignment (because doing so is VERY BAD).
* Make sure static heaps are aligned correctly.Miles Bader2003-09-171-9/+11
|
* 'extern inline' doesn't work... Use 'static inline'Eric Andersen2003-09-061-5/+5
|
* Fix malloc so it compiles and works when using pthreadsEric Andersen2002-10-171-1/+1
| | | | -Erik
* * Add support for uClinux's broken munmap, contingent onMiles Bader2002-10-091-1/+45
| | | | | | | | | __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.
* Update debugging hooks.Miles Bader2002-09-061-28/+11
|
* (__heap_delete): Renamed from `__heap_unlink_free_area'.Miles Bader2002-09-041-3/+6
| | | | | (__heap_free_area_alloc): Use __heap_delete. (__heap_is_empty): New macro.
* (likely, unlikely): New macros.Miles Bader2002-08-301-0/+12
|
* (HEAP_MIN_SIZE): New macro.Miles Bader2002-08-011-6/+15
| | | | | (HEAP_MIN_FREE_AREA_SIZE): Increase size. Enable debugging if HEAP_DEBUGGING is defined.
* Redo the locking, so that it may actually work. Now locking is done atMiles Bader2002-07-251-18/+1
| | | | | | | | | 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.
* Factor out some common code sequences into inline functions.Miles Bader2002-07-241-6/+60
|
* * Automatically try to unmap heap free-areas when they get very big.Miles Bader2002-07-231-28/+42
| | | | | | | | * 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.
* Rename mutex stuff to use heap-specific names.Miles Bader2002-07-191-12/+14
| | | | Doc fix.
* Miles Bader implemented a new mmap based malloc which is muchEric Andersen2002-07-181-0/+146
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!