haiku/src/system/libroot
Michael Lotz 638a24fa52 * Seperate the raw page wise allocation and allocations from bins.
* Make the contiguous page allocation capable of aligning the allocation
  and make it more clever by checking up front if there's a chance of getting
  enough pages at all, by giving up earlier if the page count can't be fit
  anymore, and in the alignment case by only checking the pages which have a
  valid alignment.
* If the alignment requirement is > B_PAGE_SIZE we now use page allocation
  directly, because the bins aren't necesarily aligned on their size past
  B_PAGE_SIZE anymore.
* When doing aligned bin allocation, calculate the aligned size up front and
  choose the right heap for the allocation.
* Also when doing aligned bin allocations we not only need to round up the size
  but also ensure that the bin we choose is aligned at all.
* Moved adding leak check info into it's own function.

Fixes various misalignment problems when working with alignments > B_PAGE_SIZE
or when using alignments < allocation size. Also the directly aligned page
allocations now only use up as many pages as actually required instead of
allocating based on the rounded up to align size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-07 01:09:27 +00:00
..
os axeld+stippi: 2010-01-19 15:40:24 +00:00
posix * Seperate the raw page wise allocation and allocations from bins. 2010-02-07 01:09:27 +00:00
Jamfile * Build library libroot_debug.so, which is the standard libroot.so with the 2009-12-28 00:13:17 +00:00
libroot_init.c * This fixes the remaining warnings in exit.c 2009-11-26 17:00:09 +00:00
libroot_versions Added version scripts for the kernel, libroot, and libbe. ATM each has two 2009-05-22 14:53:31 +00:00