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
daan
d55ab50a84
update version to 1.2
2019-11-21 16:10:04 -08:00
daan
74dbfc30be
improved security by encoding NULL values; double free mitigation on by default; more precise free list corruption detection
2019-11-21 15:21:23 -08:00
Daan Leijen
211f1aa519
remove reset delay slots; add reset tracking per page and segment
2019-11-20 14:55:12 -08:00
Daan Leijen
30e2c54adb
remove delayed reset option (for now)
2019-11-20 14:13:02 -08:00
daan
17ade3fca5
merge from dev
2019-11-13 17:52:20 -08:00
daan
314dcd59c2
Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev
2019-11-13 17:23:54 -08:00
daan
a4ed63d127
Adresses pr #165 and issue #164 by @colesbury:
...
On Mac OS, the thread-local _mi_default_heap may get reset before
_mi_thread_done is called, leaking the default heap on non-main threads.
Now the current default heap is also stored in mi_pthread_key (or mi_fls_key
on Windows). The _mi_thread_done function is called with this value.
2019-11-13 17:22:03 -08:00
Daan
9b7a29c5da
Merge pull request #172 from aesophor/dev
...
Avoid the use of variable argument list function
2019-11-13 16:28:09 -08:00
Daan Leijen
d01ed42bcb
replace max_numa_nodes by use_numa_nodes (to help with wrong detection of numa nodes on WSL for example)
2019-11-13 13:35:50 -08:00
Marco Wang
29919a938d
Avoid the use of variable argument list function
2019-11-13 13:19:21 +08:00
Daan Leijen
bdb8274819
change max_numa_node to max_numa_nodes option
2019-11-12 12:04:43 -08:00
daan
ef179a6377
avoid allocation at numa node detection on linux
2019-11-12 10:16:59 -08:00
daan
a0958b2da6
enable more reset delay slots
2019-11-11 17:06:16 -08:00
daan
741a80256d
merge from dev-exp
2019-11-11 14:51:16 -08:00
daan
2bb058bd25
remove cache_reset parameter
2019-11-11 14:44:32 -08:00
daan
83a066fd2d
remove reset_decommits option
2019-11-11 09:46:02 -08:00