Commit graph

72 commits

Author SHA1 Message Date
Andrei Alexandrescu
e32887d8df Workaround for https://issues.dlang.org/show_bug.cgi?id=14617 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
b2d265a987 Initialize sbrk mutex properly using PTHREAD_MUTEX_INITIALIZER 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
fd32ea58bd Fix SbrkRegion for Posix 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
6e17b9128f import MAP_ANON for Linux 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
f26e7d0274 Put blockFor where it belongs, make private 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
5adf023876 Better isPowerOf2, add package attrribute to a few items 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
5141ef7f27 Adaptive FreeList uses simple statistics to control number of items in the list 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
049fd10140 Eliminate batchCount from free_list.d, it was incorrect because items could not be freed properly 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
553b73f339 Fix for allocate(0) in MmapAllocator; remove batching and hard limit of nodes in free_list.d, better approaches coming 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
0b15a81947 Branchless isPowerOf2 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
c00b5885c1 Improvements and fixes in affix_allocator; fix in isPowerOf2; fix alignment in scoped_allocator 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
c175553098 Eliminate redundant example from region 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
292f061015 Remove redundant example froms scoped_allocator 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
7805699499 Improve segregator.d 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
8cf252951e Make Option enum ulong for accommodating more flags in the future 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
f55928a796 Feedback by Timon 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
83e61cb960 Major overhaul of stats_collector - yanked old per-call statistics, replaced with meaningful ones 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
c537f012a6 Fix 32-bit unittests in kernighan_ritchie 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
e3b6e3ee78 Fixes in affix_allocator, workaround in common and mallocator 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
09002ae84f Minor changes to allocator_list; add fallback_allocator.fallbackAllocator; dox for kernighan_ritchie; eliminate KRBlock.totalAllocated 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
5d88d9b6e3 Many fixes and improvements to allocator_list.d; nuke KRAllocator in favor of AllocatorList!KRBlock (noice). 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
ae0aa239b9 Refactoring of KRBlock, still WIP 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
4511ea31f2 KRBlock is now a template accepting an optional parent allocator (WIP) 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
ed5a6ca6db allocate(0) should return null 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
2e8636fd73 Minor refactoring in allocator_list 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
3ae9dc9fce Improve imports for kernighan_ritchie 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
315b2625fa AutoDeallocator -> ScopedAllocator by Jacob Carlborg's suggestion 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
95c2ee20df More Quantizer fixes prompted by Timon Gehr 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
bd74dd873e Add auto_deallocator.d 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
8ff52f0997 Add example to region.d 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
399aaea68b Better region.d 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
158f9753c1 Add goodAllocSize to HeapBlock*, also ParentAllocator to HeapBlockWithInternalPointers 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
2e435bd4d0 Add alignedAllocate/Reallocate, improve documentation 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
0d6ae0459d HeapBlock now takes an allocator as a parameter 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
c215f6efb9 Add parameter to make in allocator_list.d 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
0277229e4c Fix 32-bit build 2015-10-02 07:35:08 -04:00
Andrei Alexandrescu
dd57a7bd31 Fix 'last bug' in quantizer prompted by Timon Gehr 2015-10-02 07:35:07 -04:00
Andrei Alexandrescu
029c4bc385 Add .empty and documentation to stats_collector; add ability to return unused memory to allocator_list 2015-10-02 07:35:07 -04:00
Andrei Alexandrescu
48bc4b7d6c Fix unittest build 2015-10-02 07:35:07 -04:00
Andrei Alexandrescu
430c076ff5 Major improvements to allocator_list.d 2015-10-02 07:35:07 -04:00
Andrei Alexandrescu
6649349607 Keep constraints on rounding function low 2015-10-02 07:35:07 -04:00
Andrei Alexandrescu
e6d744a82c Fixes to Quantizer prompted by Timon Gehr 2015-10-02 07:35:07 -04:00
Andrei Alexandrescu
103d089d8a Improved docs for quantizer 2015-10-02 07:35:07 -04:00
Andrei Alexandrescu
800f817255 Really add std/experimental/allocator/quantizer.d 2015-10-02 07:35:07 -04:00
Andrei Alexandrescu
8dab158588 Fix bug in MmapAllocator.deallocate, few more minor changes 2015-10-02 07:35:07 -04:00
Andrei Alexandrescu
d1559ebb45 Added Quantizer, implemented fixes pointed by reviews by Brian Schott and Timon Gehr 2015-10-02 07:35:07 -04:00
Andrei Alexandrescu
1974105221 porcelain in good shape 2015-10-02 07:35:07 -04:00
Andrei Alexandrescu
b5c9863b03 Define and use forwardToMember 2015-10-02 07:35:07 -04:00
Andrei Alexandrescu
f9736602ef Working FreeTree, good handling of duplicates 2015-10-02 07:35:07 -04:00
Andrei Alexandrescu
e7ffe33977 Changes prompted by https://github.com/D-Programming-Language/dmd/pull/2885 and isnan->isNaN 2015-10-02 07:35:07 -04:00