Branch: Tag:

2017-07-25

2017-07-25 20:46:28 by Martin Nilsson <nilsson@fastmail.com>

Added comment.

2016-04-09

2016-04-09 16:47:42 by Martin Nilsson <nilsson@fastmail.com>

unsigned INT64 -> UINT64

2016-01-12

2016-01-12 18:09:27 by Per Hedbor <ph@opera.com>

inline is part of c99

We do have.. excessive amounts of inline, incidentally. :)

2015-10-17

2015-10-17 23:42:19 by Martin Nilsson <nilsson@fastmail.com>

stdlib.h is included from global.h

2015-09-21

2015-09-21 18:20:39 by Arne Goedeke <el@laramies.com>

block_allocator: improved error messages

2015-09-21 18:20:38 by Arne Goedeke <el@laramies.com>

block_allocator: removed unwanted PMOD_EXPORT

2015-09-21 18:20:37 by Arne Goedeke <el@laramies.com>

block_allocator: align allocations to page size

Try to choose the initial page size such that it fits into a multiple of
4K including headers and malloc overhead.

2015-09-09

2015-09-09 17:18:48 by Arne Goedeke <el@laramies.com>

block_allocator: fixed a bug in ba_sort_free_list

This could possibly happen after syntax errors when freeing
the compiler data.

2015-09-09 16:42:58 by Arne Goedeke <el@laramies.com>

block_allocator: fixed a bug in ba_sort_free_list

This could possibly happen after syntax errors when freeing
the compiler data.

2015-05-16

2015-05-16 13:07:01 by Arne Goedeke <el@laramies.com>

Stdio.Buffer: use round_up*() functions to enlarge buffer.

Fixes an infinity loop due to overflow. Also changed the round_up*() functions
to return 0 on overflow and made 1 the next power of two after 0.

2015-05-16 13:02:23 by Arne Goedeke <el@laramies.com>

Stdio.Buffer: use round_up*() functions to enlarge buffer.

Fixes an infinity loop due to overflow. Also changed the round_up*() functions
to return 0 on overflow and made 1 the next power of two after 0.

2015-04-02

2015-04-02 11:48:25 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build: Support compilation with compilers other than gcc again.

Replace all uses of __attribute((unused)) with PIKE_ATTRIBUTE_UNUSED.

Replaced all remaining uses of __attribute() and __attribute__()
with ATTRIBUTE().

2014-12-07

2014-12-07 16:17:03 by Bill Welliver <bill@welliver.org>

build: more deattributification for Windows

2014-11-13

2014-11-13 20:10:35 by Arne Goedeke <el@laramies.com>

rename aligned_alloc to xalloc_aligned

C11 defines aligned_alloc. This can lead to all kinds of confusion, so
lets rename our internal function.

2014-11-13 20:10:12 by Arne Goedeke <el@laramies.com>

rename aligned_alloc to xalloc_aligned

C11 defines aligned_alloc. This can lead to all kinds of confusion, so
lets rename our internal function.

2014-10-04

2014-10-04 11:35:45 by Arne Goedeke <el@laramies.com>

block_allocator: use Valgrind macros in the right order

When sorting the free list during ba_walk(), the Valgrind macros were
used in the wrong order. This led to spurious Valgrind warnings.

2014-10-04 11:35:21 by Arne Goedeke <el@laramies.com>

block_allocator: use Valgrind macros in the right order

When sorting the free list during ba_walk(), the Valgrind macros were
used in the wrong order. This led to spurious Valgrind warnings.

2014-10-03

2014-10-03 16:23:30 by Jonas Walldén <jonasw@roxen.com>

Fix a bunch of Clang warnings.

2014-10-03 16:22:57 by Jonas Walldén <jonasw@roxen.com>

Fix a bunch of Clang warnings.

2014-09-05

2014-09-05 10:16:04 by Arne Goedeke <el@laramies.com>

Valgrind: suppress some warnings

2014-09-05 10:12:52 by Arne Goedeke <el@laramies.com>

block_allocator: do not keep empty pages around

In certain cases the block allocator kept around free pages. This
happened with markers used by the gc.

2014-09-05 10:12:52 by Arne Goedeke <el@laramies.com>

Valgrind: suppress some warnings

2014-09-04

2014-09-04 19:45:39 by Arne Goedeke <el@laramies.com>

block_allocator: do not keep empty pages around

In certain cases the block allocator kept around free pages. This
happened with markers used by the gc.

2014-08-23

2014-08-23 14:52:00 by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/8.0' into string_alloc

2014-08-23 14:48:40 by Arne Goedeke <el@laramies.com>

block_allocator: fix ba_walk() and improve valgrind support

Blocks in the free list are now marked as free while the callback is
running. This helps detecting invalid accesses. Also fixed a bug in
the free list sort.

2014-08-22

2014-08-22 18:02:24 by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/8.0' into string_alloc

2014-08-22 16:00:14 by Arne Goedeke <el@laramies.com>

block_allocator: do not round up powers of 2

The family of round_up* functions rounds up to the next power of two.
This made most block allocators initial areas twice as big as intended.

2014-07-02

2014-07-02 17:09:15 by Arne Goedeke <el@laramies.com>

block_allocator: removed some INLINE and warnings for unused parameters

2014-04-27

2014-04-27 20:37:42 by Martin Nilsson <nilsson@opera.com>

mallocs nowdays return void*, so no need to case.

2014-04-15

2014-04-15 17:46:11 by Arne Goedeke <el@laramies.com>

block_allocator: always check ptr validity on free

2014-03-15

2014-03-15 20:18:05 by Martin Nilsson <nilsson@opera.com>

Fixed warning with ifdefs.

2014-02-11

2014-02-11 10:24:28 by Arne Goedeke <el@laramies.com>

block_allocator: do not execute empty loop

2014-01-05

2014-01-05 15:14:13 by Marcus Comstedt <marcus@mc.pp.se>

Merge branch '8.0' into gobject-introspection

2013-11-12

2013-11-12 12:31:33 by Arne Goedeke <el@laramies.com>

block_allocator: do not allocate too large bitvector

2013-10-31

2013-10-31 19:11:24 by Arne Goedeke <el@laramies.com>

block_allocator: allocate pages only if needed and some cleanup

2013-10-28

2013-10-28 14:45:31 by Arne Goedeke <el@laramies.com>

block_allocator: more helpful debug on free list corruption

2013-10-10

2013-10-10 14:54:16 by Arne Goedeke <el@laramies.com>

block_allocator: fixed --with-debug

2013-10-09

2013-10-09 18:42:52 by Arne Goedeke <el@laramies.com>

block_allocator: fixed ba_walk and some cleanup

2013-10-09 15:55:12 by Arne Goedeke <el@laramies.com>

block_allocator: added ba_walk for iterating over allocated blocks

2013-10-09 15:12:02 by Arne Goedeke <el@laramies.com>

block_allocator: reuse pages used by the gc

2013-09-16

2013-09-16 09:50:32 by Per Hedbor <ph@opera.com>

Fixed count_all in the block allocator.

The memory_info() function had a tendency to return values like
0 objects, total 120Kb

2013-08-02

2013-08-02 11:45:51 by Arne Goedeke <el@laramies.com>

added fallbacks for valgrind mempool macros

2013-08-01

2013-08-01 17:02:42 by Arne Goedeke <el@laramies.com>

block_allocator: added support for alignment

2013-07-01

2013-07-01 15:01:47 by Arne Goedeke <el@laramies.com>

pike_memory: replaced old block allocator

2013-06-21

2013-06-21 09:18:55 by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/7.9' into pdf

2013-06-16

2013-06-16 19:13:29 by Arne Goedeke <el@laramies.com>

block_allocator: check for valgrind macros

2013-06-16 10:06:12 by Arne Goedeke <el@laramies.com>

block_allocator: use valgrind macros

2013-06-13

2013-06-13 21:35:42 by Arne Goedeke <el@laramies.com>

block_alloc: memusage stats could overflow

2013-06-12

2013-06-12 20:04:24 by Arne Goedeke <el@laramies.com>

Added new block allocator. It dramatically speeds up free, when
allocating many blocks and deallocation happens non linearly.

2013-06-12 19:01:37 by Arne Goedeke <el@laramies.com>

new block alloc

2013-06-12 18:34:31 by Arne Goedeke <el@laramies.com>

new block alloc

2013-06-11

2013-06-11 21:51:01 by Arne Goedeke <el@laramies.com>

ammend this

2012-11-03

2012-11-03 08:02:27 by Arne Goedeke <el@laramies.com>

use memcheck macros when USE_VALGRIND is defined

2012-11-01

2012-11-01 11:42:32 by Arne Goedeke <el@laramies.com>

included GJAlloc

2012-10-29

2012-10-29 17:35:35 by Arne Goedeke <el@laramies.com>

more debug

2012-06-15

2012-06-15 18:20:42 by Arne Goedeke <el@laramies.com>

added xalloc

2012-04-02

2012-04-02 20:42:18 by Arne Goedeke <el@laramies.com>

add GJAlloc as a bundle

2012-02-19

2012-02-19 00:05:27 by Arne Goedeke <el@laramies.com>

pike_memory: new helper cmemset()

2012-02-13

2012-02-13 04:35:33 by Arne Goedeke <el@laramies.com>

let's go seperate ways, together.

2012-02-12

2012-02-12 22:36:03 by Arne Goedeke <el@laramies.com>

fix ba_destroy

2012-02-12 15:32:14 by Arne Goedeke <el@laramies.com>

use free_blk to save one memory dereference on free/alloc

2012-02-12 03:55:43 by Arne Goedeke <el@laramies.com>

set p->first = NULL when full

2012-02-12 02:57:46 by Arne Goedeke <el@laramies.com>

use maligned memory pages to find page without hash

2012-02-12 01:19:08 by Arne Goedeke <el@laramies.com>

lets try another approach

2012-02-11

2012-02-11 23:27:40 by Arne Goedeke <el@laramies.com>

optimize hash lookup

2012-02-09

2012-02-09 13:29:49 by Arne Goedeke <el@laramies.com>

added more sofisticated statistics support

2012-02-09 13:29:49 by Arne Goedeke <el@laramies.com>

include malloc headers for stats

2012-02-09 13:29:49 by Arne Goedeke <el@laramies.com>

moved counter into stats struct

2012-02-09 13:29:49 by Arne Goedeke <el@laramies.com>

stats moved into seperate struct for clearity

2012-02-09 13:29:49 by Arne Goedeke <el@laramies.com>

got rid of list, take advantage of power of two hashtable sizes

2012-02-09 13:29:49 by Arne Goedeke <el@laramies.com>

errbuf ... never used but for micro benchmark

2012-02-09 13:29:49 by Arne Goedeke <el@laramies.com>

more meaningful counters

2012-02-09 13:29:49 by Arne Goedeke <el@laramies.com>

nicer stats

2012-02-09 13:29:49 by Arne Goedeke <el@laramies.com>

redo fast paths!

2012-02-09 13:29:49 by Arne Goedeke <el@laramies.com>

fixed WALK_FREE_NODES

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

traverse both buckets at once

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

macro based alignment

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

blueprint support and corrected rounding up of page_size

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

have page struct at beginning of page

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

Revert "blueprint support for faster? initialization"

This reverts commit 6dbb91eab2145159e1f9c2b88138551f1b599ed9.

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

join the two slow paths in free and remove left in favour or p->used

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

make ba_free fast path smaller

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

pre-undo (post-do) intermediate commit.

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

help gcc with descision making

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

reduce size of ba_free to help inlining

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

simplify destroy

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

do late chaining

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

properly grow page_size

2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>

addition COUNTS in htable lookup

2012-02-09 13:29:47 by Arne Goedeke <el@laramies.com>

typo

2012-02-09 13:29:47 by Arne Goedeke <el@laramies.com>

use base bitvector.h

2012-02-09 13:29:47 by Arne Goedeke <el@laramies.com>

working for now

2012-02-09 13:29:47 by Arne Goedeke <el@laramies.com>

fixed memory initialization

2012-02-09 13:29:47 by Arne Goedeke <el@laramies.com>

working state (without debug)

2012-02-09 13:29:47 by Arne Goedeke <el@laramies.com>

fixed inline -> INLINE

2012-02-09 13:29:47 by Arne Goedeke <el@laramies.com>

blueprint support for faster? initialization

2012-02-09 13:29:47 by Arne Goedeke <el@laramies.com>

set prev only if first

2012-02-09 13:29:46 by Arne Goedeke <el@laramies.com>

fixed some compilation problem

2012-02-09 13:29:46 by Arne Goedeke <el@laramies.com>

fixed page indexing

2012-02-09 13:29:46 by Arne Goedeke <el@laramies.com>

added grow/shrink support and some fast paths

2012-02-09 13:29:46 by Arne Goedeke <el@laramies.com>

use chained buckets instead of open allocation

2012-02-09 13:29:46 by Arne Goedeke <el@laramies.com>

used unsigned int

2012-02-09 13:29:46 by Arne Goedeke <el@laramies.com>

fixed linked list fuckup

2012-02-09 13:29:46 by Arne Goedeke <el@laramies.com>

added some debug

2012-02-09 13:29:46 by Arne Goedeke <el@laramies.com>

keep 3 empty pages around

2012-02-09 13:29:46 by Arne Goedeke <el@laramies.com>

block_allocator: initial commit

2012-02-09 13:29:46 by Arne Goedeke <el@laramies.com>

THIS IS TEMPORARY