Merge commit '722771973bd' into patches/lyslyskom22891031
* commit '722771973bd': (6177 commits)
Verify that callablep responses are aligned with reality.
Merge commit '2470270f500c728d10b8895314d8d8b07016e37b' into grubba/typechecker-automap
* commit '2470270f500c728d10b8895314d8d8b07016e37b': (18681 commits)
Removed the old typechecker.
Merge remote-tracking branch 'origin/master' into new_utf8
Merge remote-tracking branch 'origin/8.1' into gobject-introspection
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.
block_allocator: allocate pages only if needed and some cleanup
block_allocator: use unsigned chars explicitly
block_allocator: reuse pages used by the gc
block_allocator: added ba_walk for iterating over allocated blocks
block_allocator: added support for alignment
Added new block allocator. It dramatically speeds up free, when
allocating many blocks and deallocation happens non linearly.
Merge branch '8.0' into gobject-introspection
Merge remote-tracking branch 'origin/7.9' into pdf
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!
added more sofisticated statistics support
add malloc like trace support for ba_alloc/ba_free
moved counter into stats struct
stats moved into seperate struct for clearity
got rid of list, take advantage of power of two hashtable sizes
errbuf ... never used but for micro benchmark
more meaningful counters
Revert "blueprint support for faster? initialization"
This reverts commit 6dbb91eab2145159e1f9c2b88138551f1b599ed9.
have page struct at beginning of page
print stats only in count mode
count some more
blueprint support and corrected rounding up of page_size
make ba_free fast path smaller
pre-undo (post-do) intermediate commit.
some harmless beauty
addition COUNTS in htable lookup
reduce size of ba_free to help inlining
do late chaining
properly adjust page header to fit into memory page
one branch less
join the two slow paths in free and remove left in favour or p->used
bug, BLOCK not set
working for now
fixed memory initialization
working state (without debug)
fixed inline -> INLINE
use array index
fast path access for pike block allocator api
blueprint support for faster? initialization
branch counting TEMPORARY
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
THIS IS TEMPORARY
keep 3 empty pages around
block_allocator: initial commit