daan
4452431b6c
reenable segment cache and fix initial segment commit
2019-11-24 15:25:19 -08:00
daan
727d33b96f
more precise memory reset
2019-11-24 14:40:47 -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
4a0d35afd0
improve secure guard page allocation to work with non-eager commit
2019-11-23 11:59:19 -08:00
Daan Leijen
0d3c195f37
update stress test with more documentation
2019-11-22 11:28:55 -08:00
daan
74c409192b
Merge branch 'master' into dev-win
2019-11-22 09:29:28 -08:00
daan
24b768363e
bump version to 1.3 for further development
2019-11-22 09:28:48 -08:00
daan
31fbe9793d
Merge branch 'dev-exp' into dev
2019-11-22 09:22:03 -08:00
daan
acb03c5497
update redirection module on Windows for improved trace messages
v1.2.0
2019-11-22 08:57:51 -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
42a0666770
update documentation
2019-11-21 16:24:10 -08:00
daan
b7d9ee8830
azure pipeline logo shows dev branch
2019-11-21 16:20:35 -08:00
daan
f27c87c03c
update documentation
2019-11-21 16:19:47 -08:00
daan
c6c24f9c2e
update documentation
2019-11-21 16:17:47 -08:00
daan
7586225fc5
add secure build to azure pipeline
2019-11-21 16:10:21 -08:00
daan
d55ab50a84
update version to 1.2
2019-11-21 16:10:04 -08:00
daan
b820009df7
update documentation
2019-11-21 16:09:34 -08:00
daan
5c8721f0b8
update documentation
2019-11-21 15:59:54 -08:00
daan
9a5189aa83
add vs2019 project filters
2019-11-21 15:42:22 -08:00
daan
bc1ff7e7fd
update windows redirect, issue #170
2019-11-21 15:28:10 -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
1674d551ff
add verbose message with secure build level
2019-11-20 20:46:13 -08:00
Daan Leijen
049dbf41ba
fix commit bits for huge page allocations
2019-11-20 15:44:07 -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 Leijen
56b9fac4bf
merge from dev
2019-11-20 13:31:04 -08:00
Daan Leijen
4d4a2885f5
use atomic read/write on the page->heap field where concurrent interaction is possible
2019-11-20 13:19:17 -08:00
Daan Leijen
94bfb47725
update stress test for more realisitic size distribution
2019-11-20 12:59:26 -08:00
daan
fd3ce5dc7d
improve stress test
2019-11-15 16:28:11 -08:00
Daan Leijen
8637f113d5
improve test-stress to run multiple iterations
2019-11-15 14:09:17 -08:00
Daan Leijen
dccffea662
fix pr #173 by @zerodefect to use case-insensitive matching of the build type; also use MI_DEBUG_FULL option (instead of MI_CHECK_FULL)
2019-11-14 11:01:05 -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
d4f54dcf30
remove numaif dependency on linux
2019-11-12 10:37:15 -08:00
daan
867d78f877
reserve huge OS pages earlier on at process_init
2019-11-12 10:19:52 -08:00
daan
af746ca4c1
inline bitmap_mask
2019-11-12 10:17:39 -08:00
daan
ef179a6377
avoid allocation at numa node detection on linux
2019-11-12 10:16:59 -08:00
daan
165ee45845
initialize delay slots for the main thread
2019-11-11 17:31:48 -08:00
daan
a0958b2da6
enable more reset delay slots
2019-11-11 17:06:16 -08:00
daan
5e6754f3f7
track commit status per block in a region
2019-11-11 15:45:31 -08:00
daan
db3f1c4bfa
add commit info to arenas
2019-11-11 15:26:11 -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
534e1e39ef
allow allocation in committed regions even if not requested
2019-11-11 14:42:29 -08:00
daan
93a6463383
only allow commit delay for small and medium objects
2019-11-11 14:16:45 -08:00
daan
83a066fd2d
remove reset_decommits option
2019-11-11 09:46:02 -08:00
daan
21bbb1be87
fix warnings
2019-11-10 12:36:55 -08:00
daan
181bef382c
merge dev-exp
2019-11-10 11:39:53 -08:00
Daan Leijen
d2279b2a3f
update test-stress with better object distribution
2019-11-10 08:13:40 -08:00
daan
194008b869
merge
2019-11-09 20:37:16 -08:00
Daan Leijen
9f08ddd0d0
refactor regions; add commit tracking on a segment basis
2019-11-09 19:30:53 -08:00
Daan Leijen
f0e02bab03
pr #168 by @zerodefect to update the install location
2019-11-08 12:22:03 -08:00
Daan Leijen
7b72a4cd50
fix region suitable bug
2019-11-08 11:55:43 -08:00
daan
13f5e6e43e
fix numa node check in regions
2019-11-07 18:09:30 -08:00
daan
6ccfb5a93e
merge from dev
2019-11-07 11:00:50 -08:00
daan
56887aeb2f
add MI_SECURE_FULL=ON as a cmake option to include double free mitigation
2019-11-07 10:59:45 -08:00
daan
9b65388807
fix space leak in secure mode where a non-null free list would be discarded
2019-11-07 10:59:19 -08:00
daan
27f1a8b3d2
fix avg display; set secure default to 0`
2019-11-07 10:35:30 -08:00
daan
36090dee5c
Merge branch 'dev' into dev-exp
2019-11-07 10:34:06 -08:00
daan
31d11f64d5
fix secure free list extension where a non-empty initial free list was discarded
2019-11-07 10:33:45 -08:00
daan
378716c467
refactor and improve atomic bitmap usage
2019-11-07 10:26:52 -08:00
daan
b09282bc0d
change arena allocator to atomic bitmap as well
2019-11-06 22:49:01 -08:00
daan
00e19cad9a
refactor region code, split out atomic bitmap
2019-11-06 21:37:23 -08:00
daan
2887266063
optimize get numa node for single node systems
2019-11-06 14:17:36 -08:00
daan
829fd872f4
initial delay slots
2019-11-04 11:48:41 -08:00
daan
3d0a1e249f
remove all floating point types and arithmetic
2019-11-04 09:40:10 -08:00
daan
2749612c5f
merge from dev
2019-11-04 08:54:53 -08:00
daan
c38af8f7c1
merge d1d65fbc: make max error messages configurable
2019-11-04 08:49:59 -08:00
daan
aece753dce
fix output during preloading enabling stderr only after the crt has loaded
2019-11-04 08:46:17 -08:00
daan
8afd06b248
use int64 for time (instead of double)
2019-11-04 08:44:40 -08:00
daan
9d6a5acb22
fix unix build warnings
2019-11-03 13:34:54 -08:00
daan
d1d65fbca4
make max error messages configurable
2019-11-03 13:25:41 -08:00
daan
520a8dafee
divide huge pages more even
2019-11-03 13:25:28 -08:00
daan
f36ec5d9d8
reserve huge pages incrementally
2019-11-03 13:16:07 -08:00
daan
e320488791
add numa nodes to stats
2019-11-03 12:18:32 -08:00
daan
723fbba259
fix output during preloading enabling stderr only after the crt has loaded
2019-11-03 12:18:20 -08:00
daan
62cd0237fc
fix aligned huge page allocation on windows
2019-11-02 17:49:34 -07:00
daan
ee323aabac
fix vs2017 build
2019-11-02 15:56:21 -07:00
daan
fd9d8c85ae
change numa support on linux to use getcpu
2019-11-02 11:55:03 -07:00
daan
70748ee1ee
fix missing semi colon
2019-11-02 10:39:09 -07:00
daan
a69016c33e
improve and document numa support
2019-11-02 10:30:16 -07:00
daan
2c12d7f223
optimized numa calls; better Linux support
2019-11-01 22:01:52 -07:00
daan
57dd69265a
normalize numa node
2019-11-01 20:30:01 -07:00
daan
2d10c78587
fix linux compilation
2019-11-01 20:19:00 -07:00
daan
3fadf4abaf
initial numa awareness for regions
2019-11-01 20:01:08 -07:00
daan
a6499be074
initial numa support for arenas
2019-11-01 19:53:07 -07:00
daan
aaf01620f4
improve allocation of the huge OS page arena
2019-10-31 19:39:49 -07:00
daan
d36d04b4a6
add arena for huge page management
2019-10-31 15:35:10 -07:00
daan
8725a88fba
fix assertion in debug secure mode
2019-10-30 15:22:40 -07:00
daan
b4d90818e9
merge from dev
2019-10-30 14:55:22 -07:00
daan
4a4d74927c
protect against double-free in multi-threaded free list
2019-10-30 14:53:21 -07:00
daan
6cf16b1201
fix reset error on windows when disabling eager commit option
2019-10-30 14:32:28 -07:00
daan
b052d3b731
enable double free and heap corruption detection in debug mode
2019-10-28 15:54:33 -07:00