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
stats moved into seperate struct for clearity
redo fast paths!
added more sofisticated statistics support
got rid of list, take advantage of power of two hashtable sizes
add malloc like trace support for ba_alloc/ba_free
errbuf ... never used but for micro benchmark
more meaningful counters
moved counter into stats struct
print stats only in count mode
pre-undo (post-do) intermediate commit.
do late chaining
make ba_free fast path smaller
properly adjust page header to fit into memory page
count some more
Revert "blueprint support for faster? initialization"
This reverts commit 6dbb91eab2145159e1f9c2b88138551f1b599ed9.
blueprint support and corrected rounding up of page_size
one branch less
addition COUNTS in htable lookup
join the two slow paths in free and remove left in favour or p->used
some harmless beauty
reduce size of ba_free to help inlining
have page struct at beginning of page
blueprint support for faster? initialization
working state (without debug)
fixed memory initialization
use array index
bug, BLOCK not set
branch counting TEMPORARY
fast path access for pike block allocator api
fixed inline -> INLINE
working for now
fixed page indexing
use chained buckets instead of open allocation
THIS IS TEMPORARY
fixed some compilation problem
add block_alloc.h compat defines
added grow/shrink support and some fast paths
block_allocator: initial commit
keep 3 empty pages around