Commit graph

1217 commits

Author SHA1 Message Date
daan
f4630d43a7 allow reset on large pages; check commit status before reset 2020-01-25 12:49:14 -08:00
daan
5e32d00aab add visit count to abandoned to limit list length 2020-01-25 12:26:08 -08:00
daan
3ec691cfb4 Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2020-01-25 11:20:17 -08:00
David Carlier
2b667bd3ae enable arc4random abi under apple 2020-01-25 14:47:09 +00:00
daan
072ceb2efe Merge branch 'dev' into dev-exp-abandon 2020-01-24 20:20:55 -08:00
daan
ecece57284 fix bug in committed check in arena allocation 2020-01-24 20:20:43 -08:00
daan
47300eeda3 avoid memset 2020-01-24 20:17:33 -08:00
daan
b31bc52618 add cache alignment directives for contended variables 2020-01-24 19:02:13 -08:00
daan
e070eba112 fix tagged null encoding, search segment cache before reclaim 2020-01-24 16:31:18 -08:00
daan
9a400ecce9 Merge branch 'dev' into dev-exp-abandon 2020-01-24 15:48:34 -08:00
daan
4ae51096ec add warning on region exhaustion 2020-01-24 15:45:03 -08:00
daan
28c14d99c3 clean up comments 2020-01-24 11:03:12 -08:00
daan
e68293741e fix assertion, add check for page committed before doing reset 2020-01-23 21:44:32 -08:00
daan
58fdcbb0cd fix bug in collect where has_page was not set on free pages 2020-01-23 21:37:14 -08:00
daan
4a2a0c2d50 initial abandon based on fine-grained reclamation 2020-01-23 19:50:35 -08:00
daan
12701b1aac do not reclaim segments on collect 2020-01-23 15:48:51 -08:00
daan
76e727f7d1 fix assertion on page destroy 2020-01-23 15:39:38 -08:00
daan
0316859e06 improve codegen for mi_free 2020-01-23 10:03:03 -08:00
daan
66818bf632 use atomic yield on delayed-freeing; clarify code 2020-01-23 09:57:55 -08:00
daan
3bbbe6c686 enable atomic yield when delayed_freeing is encountered 2020-01-22 20:12:42 -08:00
daan
0193a15f7e nicer message on huge OS page reservation 2020-01-22 19:46:43 -08:00
daan
e3b16fe4ef reduce type casts in atomic operations 2020-01-22 19:44:54 -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
b77be05e40 only collect retired at fresh page allocation 2020-01-20 12:14:34 -08:00
daan
e8d7c80c74 fix build warnings on linux 2020-01-19 17:33:36 -08:00
daan
41e717c2e0 fix assertion in mi_block_zero_init (issue #194) 2020-01-18 20:30:12 -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
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
c6037ac8f2 fix assertion index 2020-01-16 16:56:02 -08:00
daan
3f8b8b7a55 initialize thread_delayed_free field atomically 2020-01-16 16:45:34 -08:00
daan
da709bcf11 test for gcc version for aligned new/delete overrides 2020-01-16 16:30:44 -08:00
daan
7a98a461a3 fix type of bitmap field to avoid C++ error on older gcc 2020-01-16 16:21:59 -08:00
daan
7a9502973d rearrange STL allocator code: remove pragma, ifdef for C++11 2020-01-16 15:57:11 -08:00
daan
4e91eab8fc specialize mi_mallocn for count=1 2020-01-16 14:12:37 -08:00
daan
8d8f355ed0 add option to reset eagerly when a segment is abandoned 2020-01-16 11:25:02 -08:00
daan
b8072aaacb fix debug build 2020-01-16 03:54:51 -08:00
daan
9629d73188 fix options 2020-01-15 18:07:29 -08:00
daan
7a1e86fc20 merge from dev 2020-01-15 18:03:37 -08:00
daan
ad32eb1dfb eager collect on page reclamation 2020-01-15 17:57:19 -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
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
65f4f5144b fix out-of-bounds error in huge OS page bitmap 2020-01-13 17:06:25 -08:00
daan
5f61a9e896 add mprotect error when the mmap limit might be reached in secure mode (see issue #77) 2020-01-09 17:52:28 -08:00
daan
8f75444e7a fix windows debug build at MI_DEBUG=2 2020-01-08 23:21:32 -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