daan
|
a96c90db5d
|
remove old windows overriding method
|
2019-10-17 09:22:23 -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
|
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
|
adf8e30eda
|
ensure large page privileges are acquired on windows when calling reserve_huge_os_pages
|
2019-09-14 15:23:28 -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
|
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
|
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 |
|
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
|
31726c6554
|
fix type; fix comment
|
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
|
783ae72743
|
Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev
|
2019-09-02 09:53:30 -07:00 |
|
daan
|
e874844562
|
update redirection to include fixes for x86
|
2019-09-01 12:18:29 -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
|
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 |
|
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 |
|
David Carlier
|
b72a2d9659
|
macOS: anonymous page ID make it as env var.
|
2019-08-27 19:17:41 +01: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
|
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 |
|
daan
|
baabc77503
|
use proper atomic initialization macros
|
2019-08-25 23:02:41 -07:00 |
|
daan
|
e8664001f7
|
Use standard _Atomic declarations and clean up atomic operations
|
2019-08-25 22:59:12 -07:00 |
|
daan
|
6e360d34ee
|
fix 1GB huge page flag on Linux
|
2019-08-25 13:15:26 -07:00 |
|
daan
|
23c35f4aba
|
merge from dev
|
2019-08-25 13:07:07 -07:00 |
|
daan
|
b86c851cca
|
put segment cache behind an option and disable by default
|
2019-08-25 12:35:14 -07:00 |
|
daan
|
038e8fd7d6
|
reduce retire size
|
2019-08-25 12:10:18 -07:00 |
|
daan
|
c3c6401633
|
merge from master; fix windows environment reading
|
2019-08-25 11:36:34 -07:00 |
|
daan
|
7972b64a82
|
resolve race on option initialization
|
2019-08-25 11:18:16 -07:00 |
|
daan
|
a431d80fc3
|
better object sizes for large objects
|
2019-08-25 10:20:03 -07:00 |
|
daan
|
23812cc0ac
|
do not keep a queue of huge pages and free them directly
|
2019-08-24 15:45:14 -07:00 |
|
daan
|
d04d379f66
|
fix merge conflicts
|
2019-08-23 21:44:07 -07:00 |
|
daan
|
d3224d0bba
|
Merge branch 'dev' into dev-win
|
2019-08-23 21:42:32 -07:00 |
|
daan
|
6c6fcad242
|
remove threadid from pages and keep page flags separate (cherry picked)
|
2019-08-23 21:42:24 -07:00 |
|
daan
|
15552eba79
|
ensure volatile declaration for abandoned_next field
|
2019-08-23 21:39:27 -07:00 |
|
daan
|
25ea9cf142
|
on windows use 4TiB area for aligned allocation
|
2019-08-23 21:38:45 -07:00 |
|
daan
|
acde83543f
|
remove threadid from pages and keep page flags separate
|
2019-08-23 14:08:00 -07:00 |
|
daan
|
b511309709
|
ensure volatile declaration for abandoned_next field
|
2019-08-23 13:44:43 -07:00 |
|
daan
|
a1c5218ff5
|
use 4TiB area on windows 64-bit for aligned allocation
|
2019-08-23 11:33:06 -07:00 |
|
daan
|
5d3bf1c844
|
don't commit or reset in huge OS pages
|
2019-08-23 11:22:35 -07:00 |
|
daan
|
71121a7457
|
Merge branch 'dev-win' into dev-exp
|
2019-08-21 11:12:25 -07:00 |
|
daan
|
e7bd8c5d14
|
merge with dev-win
|
2019-08-21 11:11:40 -07:00 |
|
Jakub Szymanski
|
ee475fd8cd
|
add warning when no avaiable mem
|
2019-08-21 11:11:36 -07:00 |
|
Daan Leijen
|
13ca6a088b
|
Merge branch 'dev' into dev-win
|
2019-08-21 08:11:26 -07:00 |
|
Daan Leijen
|
311794b296
|
remove debug statement
|
2019-08-21 08:11:16 -07:00 |
|
Daan Leijen
|
12257e5bc1
|
fix thread-id reset on page abandonment
|
2019-08-21 08:09:28 -07:00 |
|
Daan Leijen
|
cc6d14c55b
|
fix thread-id reset on page abandonment
|
2019-08-21 08:06:40 -07:00 |
|
daan
|
b005f7cdbf
|
Merge branch 'dev' into dev-win
|
2019-08-20 09:46:05 -07:00 |
|
daan
|
ff88361329
|
lower block size for keeping retired pages
|
2019-08-20 09:45:50 -07:00 |
|
daan
|
d81b800e12
|
optimize stat counter increase
|
2019-08-20 08:58:53 -07:00 |
|
daan
|
86d4ded831
|
Merge branch 'dev' into dev-exp
|
2019-08-20 08:27:46 -07:00 |
|
daan
|
a5071eb510
|
Merge branch 'dev' into dev-win
|
2019-08-20 07:50:03 -07:00 |
|
daan
|
03d994648a
|
better option interface: option_enable, option_disable, and option_set_enabled
|
2019-08-20 07:47:50 -07:00 |
|
daan
|
7a2e0df5ea
|
merge from dev
|
2019-08-20 07:37:46 -07:00 |
|
daan
|
1e0cd575a5
|
do not export DllEntry on windows
|
2019-08-20 07:06:53 -07:00 |
|
daan
|
d52e4039b6
|
remove the reset_discards option
|
2019-08-20 07:06:11 -07:00 |
|
daan
|
79487dbedf
|
add checks for right option order
|
2019-08-20 06:58:51 -07:00 |
|