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
394a7a92ab
merge from dev
2020-01-20 19:06:08 -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
6b7356a10a
make mimalloc compile with the highest warning level on msvc
2020-01-16 18:12:01 -08:00
daan
7a9502973d
rearrange STL allocator code: remove pragma, ifdef for C++11
2020-01-16 15:57:11 -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
783e3377f7
add output argument to stat printing
2020-01-15 10:53:54 -08:00
daan
4a27ea1643
merge from dev
2020-01-13 18:01:34 -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
2b108c8748
increase retire expiration to 4
2020-01-03 21:39:18 -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
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
321e18777e
wip: delayed decommit on segments
2019-11-21 19:53:43 -08:00
daan
1066be1594
merge from dev-exp
2019-11-21 17:03:30 -08:00
daan
6568059cc6
merge from dev
2019-11-21 16:28:28 -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
17ade3fca5
merge from dev
2019-11-13 17:52:20 -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 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
daan
ef179a6377
avoid allocation at numa node detection on linux
2019-11-12 10:16:59 -08:00
daan
181bef382c
merge dev-exp
2019-11-10 11:39:53 -08:00
Daan Leijen
b04206a9d3
add os cache to arena
2019-11-10 10:10:10 -08:00
Daan Leijen
fed0068dac
merge from dev-exp; bitmap based arena
2019-11-10 07:56:40 -08:00
daan
378716c467
refactor and improve atomic bitmap usage
2019-11-07 10:26:52 -08:00
daan
829fd872f4
initial delay slots
2019-11-04 11:48:41 -08:00
daan
62df2e2df9
merge from dev-exp
2019-11-04 08:56:42 -08:00
daan
8afd06b248
use int64 for time (instead of double)
2019-11-04 08:44:40 -08:00
daan
1a6d150687
merge from dev-exp
2019-11-03 12:21:22 -08:00
daan
e320488791
add numa nodes to stats
2019-11-03 12:18:32 -08:00
daan
08c4726043
merge from dev-exp
2019-11-01 22:04:20 -07:00
daan
2c12d7f223
optimized numa calls; better Linux support
2019-11-01 22:01:52 -07:00
daan
6b26f0cb17
merge from dev-exp (numa support)
2019-11-01 20:08:56 -07:00
daan
a6499be074
initial numa support for arenas
2019-11-01 19:53:07 -07:00
daan
62984c0a24
merge from dev-exp
2019-10-31 18:44:48 -07:00
daan
d36d04b4a6
add arena for huge page management
2019-10-31 15:35:10 -07:00
daan
f7d2c45af3
initial experiment with fixed memory arena and sliced segments
2019-10-31 00:40:41 -07:00
daan
b73beede34
merge from dev
2019-10-30 15:19:34 -07:00
daan
b052d3b731
enable double free and heap corruption detection in debug mode
2019-10-28 15:54:33 -07:00
daan
9d4f57abf3
merge from dev-win
2019-10-28 12:33:01 -07:00
daan
25246070ae
fix double free check in secure = 4 mode; inline _mi_ptr_cookie
2019-10-19 08:34:18 -07:00
daan
2affdbbd2e
stronger secure mode when defining MI_SECURE=4: checks for double free, corrupted free list, and invalid pointer frees. Performance is impacted but not too much -- more perf testing is needed
2019-10-18 18:11:04 -07:00
daan
4b15e2ed97
merge from dev
2019-10-17 18:24:35 -07:00
daan
5de851a84d
update page_flags to have more portable definition
2019-10-17 16:48:16 -07:00