249 Commits

Author SHA1 Message Date
daan
5e32d00aab add visit count to abandoned to limit list length 2020-01-25 12:26:08 -08:00
daan
b31bc52618 add cache alignment directives for contended variables 2020-01-24 19:02:13 -08:00
daan
4a2a0c2d50 initial abandon based on fine-grained reclamation 2020-01-23 19:50:35 -08:00
daan
c9106e74a8 remove __thread attribute from mimalloc.h 2020-01-23 11:06:25 -08:00
daan
6fb434a99b use -fvisibility=hidden on clang as well 2020-01-23 10:31:47 -08:00
daan
e3b16fe4ef reduce type casts in atomic operations 2020-01-22 19:44:54 -08:00
daan
0f14f431c5 bump version to 1.5 for further development 2020-01-22 18:33:07 -08:00
daan
3957b2fd28 add mi_new_realloc(n) to support C++ style reallocation that raises std::bad_alloc on out-of-memory 2020-01-20 15:41:56 -08:00
daan
146899af8a add missing members to stl allocator (#193) 2020-01-20 15:27:05 -08:00
daan
a33ebb8625 add alloc_align attribute to aligned allocation functions 2020-01-19 22:14:35 -08:00
daan
514b315283 add max_size member to STL allocator 2020-01-19 21:27:46 -08:00
daan
9d7ac76d93 fix compilation under Intel C compiler (icc) 2020-01-19 18:35:45 -08:00
daan
dc58388968 Add ability to register custom error function called on various error conditions; including ENOMEM 2020-01-17 19:59:55 -08:00
daan
3e982a3813 fix STL deallocate passing count (instead of size) to mi_free_size 2020-01-17 15:58:43 -08:00
daan
6dd636d82d improve STL allocator using mi_new_n and removing unused parameter names; follow up from pr #193 and #188 2020-01-17 15:41:52 -08:00
daan
6b7356a10a make mimalloc compile with the highest warning level on msvc 2020-01-16 18:12:01 -08:00
daan
a0bee081dd use proper C++11 check for noexcept attribute 2020-01-16 15:58:48 -08:00
daan
7a9502973d rearrange STL allocator code: remove pragma, ifdef for C++11 2020-01-16 15:57:11 -08:00
Daan
97bd204c42
Merge branch 'dev' into kile/stl 2020-01-16 15:33:13 -08:00
Kirsten Lee
526bee6843 merge stl and main header 2020-01-16 15:17:15 -08:00
Kirsten Lee
1b2b7404f7 flip the order of includes for ease of use 2020-01-16 14:54:13 -08:00
daan
24f8bcbc8f add explicit calling convention to registered functions 2020-01-16 14:25:09 -08:00
daan
8d8f355ed0 add option to reset eagerly when a segment is abandoned 2020-01-16 11:25:02 -08:00
daan
7a1e86fc20 merge from dev 2020-01-15 18:03:37 -08:00
daan
0099707af9 use delayed free for all pages; reduce size of the page structure for improved address calculation 2020-01-15 17:19:01 -08:00
daan
202246425b bump version to 1.4 for further development 2020-01-15 12:16:53 -08:00
daan
c9b5ac80b3 update page reset queue to just do delayed page resets 2020-01-15 12:00:44 -08:00
daan
783e3377f7 add output argument to stat printing 2020-01-15 10:53:54 -08:00
daan
0956a05bf6 add argument pointer to the register deferred free callback 2020-01-15 10:21:32 -08:00
daan
f92a2a7264 add argument pointer to the register output routine 2020-01-15 10:18:32 -08:00
daan
941c55ee42 wip: first implementation of page free list on segments for effecient delayed page reset 2020-01-14 21:47:18 -08:00
daan
12ef2816ed fix bug exposed by commit 59fa286 where reclaimed pages could be stuck to NEVER_DELAYED 2020-01-08 19:00:03 -08:00
daan
683d8998d4 fix potential A-B-A problem with segment abandonment; noticed by Manual Poeter and Sam Gross 2020-01-08 17:45:38 -08:00
Kirsten Lee
743e891738 add stl mimalloc wrapper 2020-01-06 16:18:22 -08:00
daan
2b108c8748 increase retire expiration to 4 2020-01-03 21:39:18 -08:00
daan
eeb623e6af increase retire limit, collect retired pages 2020-01-03 17:06:41 -08:00
daan
f9ca88f71c set secure default to 0 again 2020-01-02 17:57:41 -08:00
daan
fc3e537bd4 improve double free detection with faster same page check 2019-12-28 15:28:13 -08:00
daan
77134e1ad0 update free list encoding to stronger formula with addition last 2019-12-28 15:17:49 -08:00
daan
e3391d9a53 stronger encoding of free lists using two keys per page 2019-12-28 00:57:42 -08:00
daan
ba87a39d9f updated random cookie generation using OS primitives and chacha20 2019-12-22 19:37:49 -08:00
daan
a799a19136 fix non-standard line continuation 2019-11-25 14:30:12 -08:00
Daan
fe51d11e61
Merge pull request #178 from carenas/master
avoid deadlock with BSD systems that call malloc from the dynamic linker
2019-11-25 14:28:58 -08:00
daan
1d998af854 clean up options; make secure work with eager_page_commit 2019-11-25 10:47:17 -08:00
daan
c6df7a199c experimental eager page commit option 2019-11-24 22:02:40 -08:00
Carlo Marcelo Arenas Belón
41ef691292 avoid deadlock with BSD systems that call malloc from the dynamic linker
extend the exception used for macOS to cover also OpenBSD (tested in 6.4+)
and DragonFlyBSD (tested in 5.6.2)
2019-11-24 10:00:39 -08:00
daan
24b768363e bump version to 1.3 for further development 2019-11-22 09:28:48 -08:00
daan
50575b12c0 Merge branch 'dev' into dev-exp 2019-11-21 16:29:59 -08:00
daan
41caf6d0f8 set secure default to 0 2019-11-21 16:29:46 -08:00
daan
6568059cc6 merge from dev 2019-11-21 16:28:28 -08:00