daan
a96c90db5d
remove old windows overriding method
2019-10-17 09:22:23 -07:00
daan
0e188a18a7
update test to match malloc with free
2019-10-17 09:21:20 -07:00
daan
46aa16b432
updated redirection module on windows
2019-10-17 09:20:57 -07:00
daan
9bf9bcb9b9
Merge branch 'master' into dev
2019-10-12 10:42:54 -07:00
daan
7441aa4212
update redirection module to add additional checks
2019-10-12 10:42:34 -07:00
daan
480f7683a9
cleanup delayed output
2019-10-12 10:42:04 -07:00
Daan Leijen
5e9b37dc4e
add delayed output buffer
2019-10-12 10:21:42 -07:00
Daan Leijen
e946d56ba0
Merge branch 'master' of https://github.com/microsoft/mimalloc
2019-10-07 12:13:51 -07:00
Daan Leijen
c9d474d298
update mimalloc build version
2019-10-07 12:13:40 -07:00
Daan
8830c7bccc
Update readme.md
2019-10-07 12:08:44 -07:00
Daan Leijen
114d05cd76
bump to version 1.1
v1.1.0
2019-10-07 09:54:23 -07:00
daan
1de6c22b49
remove incorrect region_count comment
2019-09-17 18:07:32 -07:00
daan
5744f90882
remove thread init/done verbose messages
2019-09-17 17:35:20 -07:00
daan
60efb62155
make secure a build option only
2019-09-17 17:31:42 -07:00
daan
d72b5350e3
fix error code on mprotect failure
2019-09-17 17:31:25 -07:00
daan
3a697abf1f
set SONAME and use symbolic link at install (issue #9 and #58 )
2019-09-15 20:26:30 -07:00
daan
33f4ec4ac6
put new-delete overrides in separate header file
2019-09-15 19:19:00 -07:00
daan
adf8e30eda
ensure large page privileges are acquired on windows when calling reserve_huge_os_pages
2019-09-14 15:23:28 -07:00
daan
6896408ab1
fix definition of mi_recalloc_tp
2019-09-11 20:49:18 -07:00
daan
c977a1629d
update documentation
2019-09-11 20:48:41 -07:00
daan
24777f6a91
limit aligned allocation to power-of-two alignment
2019-09-11 17:49:28 -07:00
daan
050e7cedf4
roll back commit 0aec6d93 on alignment >= size
as it breaks assertions in tensorflow
2019-09-11 15:48:44 -07:00
Daan Leijen
1909cfb346
refine mi_os_good_alloc_size and use it for huge pages (to ensure realloc is bounded as in #153
2019-09-10 13:26:51 -07:00
Daan Leijen
d278c26c0e
round huge page sizes into 12.5% increments (issue #153 )
2019-09-10 07:54:31 -07:00
daan
e2202f6bbe
update vs2019 projects
2019-09-09 12:56:15 -07:00
daan
8903d7a526
fix tests for aligned allocation
2019-09-09 08:21:35 -07:00
daan
ce81af1119
use mi_is_power_of_two when possible (pr #118 )
2019-09-09 08:12:50 -07:00
daan
b104e434e4
fix volatile declaration on function
2019-09-09 08:07:35 -07:00
daan
efe083a548
Merge branch 'master' into dev
2019-09-09 08:06:35 -07:00
Daan
270e765454
Merge pull request #148 from pitrou/tls-local-dynamic
...
Fix #147 : provide CMake option for alternate TLS mechanism
2019-09-09 08:05:22 -07:00
daan
23155c5d71
add recursion guard to deferred callback
2019-09-09 08:02:41 -07:00
daan
e227341f5b
fix mi_collect being called with empty heap (issue #150 )
2019-09-09 07:54:36 -07:00
daan
7b63bc4211
add alignment check to aligned_alloc for C11 compliance
2019-09-07 12:02:22 -07:00
daan
0aec6d9302
don't align to sizes greater than than the allocation size
2019-09-07 12:01:54 -07:00
daan
b241910810
don't allocate more than PTRDIFF_MAX on aligned allocations
2019-09-07 11:52:21 -07:00
daan
f2f7c8d0e9
fix volatile declaration on function pointer
2019-09-07 09:18:29 -07:00
daan
89858ab791
improve page_free_extend performance slightly; do not maintain expensive statistics in release mode
2019-09-06 16:48:48 -07:00
daan
47fc73d694
fix c++ compilation; make default output non-atomic
2019-09-06 11:51:22 -07:00
daan
f38fcf79eb
ensure addresses of large aligned allocations are randomized
2019-09-06 09:19:26 -07:00
Jakub Szymanski
1a7b1783fa
changed strategy to reduce contention for region search and vs2019 project fix
2019-09-05 08:13:52 -07:00
daan
2be3208734
add wrap-around for large aligned allocations on Windows and Linux
2019-09-04 21:03:00 -07:00
daan
e73982c4cf
better alignment for large and huge pages inside a segment
2019-09-04 18:42:37 -07:00
daan
3bbc047ba6
reserve huge pages returns actual number of pages reserved
2019-09-04 12:26:02 -07:00
daan
6c43ae2bde
add later thread-done invokation; add mi_is_redirected call
2019-09-04 12:00:41 -07:00
Antoine Pitrou
b69a4b52c0
Fix #147 : provide CMake option for alternate TLS mechanism
...
This allows use of dlopen() with mimalloc on Unix.
2019-09-04 12:02:16 +02:00
daan
3c563816c0
read regions count on every loop iteration
2019-09-03 18:25:01 -07:00
daan
aea21486dd
fix regions_count tracking in case of concurrent region allocations
2019-09-03 18:20:56 -07:00
daan
a6a956c589
add back zero initialized re-allocation
2019-09-03 10:57:39 -07:00
daan
7a91368108
pass page to block_zero_init and extend to block_size
2019-09-03 10:11:24 -07:00
daan
739d11313c
fix commit zero on windows
2019-09-02 14:53:22 -07:00
daan
d1bd1644d5
support zero-initialized memory detection
2019-09-02 13:16:52 -07:00
Daan
216d75a222
Update readme.md
2019-09-02 10:48:49 -07:00
daan
21f7119920
Merge branch 'master' into dev
2019-09-02 10:24:23 -07:00
Daan
6e6e8ef800
Update readme.md
2019-09-02 10:22:52 -07:00
daan
31726c6554
fix type; fix comment
v1.0.8
2019-09-02 10:18:34 -07:00
daan
d6e35ffd83
Merge branch 'dev' into dev-exp
2019-09-02 10:10:08 -07:00
daan
d7982f8733
make output name not depend on build type capitalization (issue #144 )
v1.0.7
2019-09-02 09:57:39 -07:00
daan
8ef8ddecc5
Merge branch 'master' into dev
2019-09-02 09:53:34 -07:00
daan
783ae72743
Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev
2019-09-02 09:53:30 -07:00
Daan
f5be3f4aeb
Merge pull request #143 from devnexen/bsd_build_fix
...
FreeBSD (and possibly NetBSD) build fix.
2019-09-02 09:51:12 -07:00
Daan
7f6fd95308
Merge pull request #145 from pitrou/cmake-disable-tests
...
Add an option to disable building tests
2019-09-02 09:50:32 -07:00
Daan
683989a85c
Merge pull request #146 from carenas/master
...
use TLS guard OpenBSD
2019-09-02 09:49:35 -07:00
daan
e60174e836
add more targets for redirection
2019-09-02 08:51:31 -07:00
daan
136e120d51
update redirection modules
2019-09-01 17:21:58 -07:00
daan
e874844562
update redirection to include fixes for x86
2019-09-01 12:18:29 -07:00
Carlo Marcelo Arenas Belón
0e35ec3879
avoid deadlock with OpenBSD
2019-09-01 01:06:01 -07:00
daan
ab5af8fdad
merge from dev
2019-08-30 14:38:28 -07:00
daan
9fc726619a
guard against passing stdin/stderr as output
2019-08-30 14:37:04 -07:00
daan
86ee1722f5
in verbose mode, list all options at startup
2019-08-30 14:34:46 -07:00
daan
0aed30b387
update redirection modules; more robust and works on older windows versions
2019-08-29 23:37:51 -07:00
daan
f35f643508
merge from dev
2019-08-29 09:52:22 -07:00
daan
7bf12c7b5f
make output function configurable; remove <stdio.h> from standard includes
2019-08-29 09:42:50 -07:00
daan
4819d3f78f
expose mi_stats_merge function
2019-08-29 09:01:00 -07:00
daan
4b39c0b06e
fix eager_delay test, and allow large OS pages even without eager commit enabled
2019-08-29 07:55:57 -07:00
daan
64c1d6de86
fix mi_likely branch that was marked as unlikely
2019-08-29 07:50:35 -07:00
daan
e8c7505853
only set has_aligned flag if really necessary
2019-08-29 07:49:40 -07:00
daan
154fd471a1
fix comparison warning
2019-08-29 07:48:15 -07:00
daan
d381fcd9fa
rename lazy to eager_commit_delay
2019-08-28 12:09:23 -07:00
daan
9af51506a6
track commit and is_large status more precisely
2019-08-28 11:58:30 -07:00
Antoine Pitrou
cbc392434c
Add an option to disable building tests
2019-08-28 17:26:56 +02:00
David Carlier
3903a10e93
FreeBSD (and possibly NetBSD) build fix.
2019-08-28 07:17:58 +00:00
daan
a551f3abc4
more precise commit statistics
2019-08-27 18:08:03 -07:00
daan
18e02c3766
try allocating non-eager segments in non-fixed memory
2019-08-27 17:02:56 -07:00
daan
23b5593af6
Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev
2019-08-27 16:40:47 -07:00
Daan
afaf4924cb
Merge pull request #142 from jserv/clarify-ldpreload
...
Clarify LD_PRELOAD on dynamically-linked ELF
2019-08-27 16:40:21 -07:00
Daan
a7d0d19b07
Merge pull request #141 from devnexen/mac_os_anon_pg_option
...
macOS: anonymous page ID make it as env var.
2019-08-27 16:39:26 -07:00
Jim Huang
61e4b83f36
Clarify LD_PRELOAD on dynamically-linked ELF
...
LD_PRELOAD is an environment variable that can be set to load ELF
shared objects before all others. Linux and BSD are known to fit.
This change also unifies the use of command line, ensuring the prefix
"> " prompt.
2019-08-28 06:44:40 +08:00
David Carlier
b72a2d9659
macOS: anonymous page ID make it as env var.
2019-08-27 19:17:41 +01:00
daan
cf7bb70117
Merge branch 'master' into dev
2019-08-27 10:01:20 -07:00
Daan
1b9c68667b
Merge pull request #140 from jserv/fix-rt-linkage
...
Link with -lrt for older glibc
2019-08-27 09:56:59 -07:00
daan
db8d443ae6
track more precisely if memory is fixed or committed
2019-08-26 22:45:26 -07:00
daan
eea093000a
graceful fallback for huge page allocation on Linux
2019-08-26 13:47:52 -07:00
daan
f0a12699c2
remove atomic_iread
2019-08-26 12:42:25 -07:00
daan
3d8c331a1c
search regions always from the lowest index
2019-08-26 12:41:59 -07:00
daan
8b06ab1e49
fix check on gigabyte alignment of huge os pages on windows
2019-08-26 12:41:35 -07:00
daan
a654732d99
merge from dev new atomics
2019-08-26 12:30:03 -07:00
daan
2c19388bcf
initialize mimalloc options at process load
2019-08-26 11:44:41 -07:00
daan
7ce9c02fd4
make cas weak use release memory order; improve free assembly
2019-08-26 08:20:26 -07:00
daan
5c7c106d62
strengthen some atomic operations for weak memory models
2019-08-26 08:11:58 -07:00
daan
2159c22415
fix atomic declaration on windows
2019-08-25 23:06:18 -07:00