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 |
|
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 |
|
daan
|
50b3f6d7ae
|
fix assertion
|
2020-01-08 16:33:45 -08:00 |
|
daan
|
d4ab0ff08c
|
fix timeout on huge page reservation if set to 0
|
2020-01-07 14:15:37 -08:00 |
|
daan
|
4223caac0f
|
on Linux dynamically detect if getrandom is supported and fall back to /dev/urandom if needed
|
2020-01-06 22:08:21 -08:00 |
|