Merge commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e' into patches/pike63
* commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e': (19587 commits)
inline is part of c99
We do have.. excessive amounts of inline, incidentally. :)
pike_int_types.h is included from global.h
Build: Support compilation with compilers other than gcc again.
Replaced all uses of __attribute__((unused)) with PIKE_ATTRIBUTE_UNUSED.
build: more fixes for windows.
Build: Reduce complaint about unused functions.
We don't care if inline functions defined in the header files aren't
used in all files that include them...
Reduces the number of build warnings to reasonable levels.
Merge branch '8.0' into gobject-introspection
block_allocator: use unsigned chars explicitly
block_allocator: allocate pages only if needed and some cleanup
block_allocator: added ba_walk for iterating over allocated blocks
block_allocator: reuse pages used by the gc
block_allocator: added support for alignment
Merge remote-tracking branch 'origin/7.9' into pdf
Added new block allocator. It dramatically speeds up free, when
allocating many blocks and deallocation happens non linearly.
new block alloc
let's go seperate ways, together.
calculate page right away instead of extra BA_CHECK_PTR
make non-memalign code as fast as before
use free_blk to save one memory dereference on free/alloc
set p->first = NULL when full
this doesn't help to much either
use maligned memory pages to find page without hash
lets try another approach
redo fast paths!
more meaningful counters
errbuf ... never used but for micro benchmark
got rid of list, take advantage of power of two hashtable sizes
stats moved into seperate struct for clearity
moved counter into stats struct
add malloc like trace support for ba_alloc/ba_free
added more sofisticated statistics support
blueprint support and corrected rounding up of page_size
count some more
print stats only in count mode
addition COUNTS in htable lookup
have page struct at beginning of page
Revert "blueprint support for faster? initialization"
This reverts commit 6dbb91eab2145159e1f9c2b88138551f1b599ed9.
make ba_free fast path smaller
pre-undo (post-do) intermediate commit.
reduce size of ba_free to help inlining
do late chaining
properly adjust page header to fit into memory page
one branch less
some harmless beauty
join the two slow paths in free and remove left in favour or p->used
working for now
fixed memory initialization
working state (without debug)
fixed inline -> INLINE
bug, BLOCK not set
use array index
blueprint support for faster? initialization
branch counting TEMPORARY
fast path access for pike block allocator api
block_allocator: initial commit
fixed some compilation problem
fixed page indexing
added grow/shrink support and some fast paths
use chained buckets instead of open allocation
add block_alloc.h compat defines
keep 3 empty pages around
THIS IS TEMPORARY