Commit Graph

2212 Commits

Author SHA1 Message Date
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
b0e38d5697 merge from dev-win 2019-08-25 13:12:57 -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
80a36f1d7c reduce page retire words to 32 2019-08-24 17:02:32 -07:00
daan
19f473e49a merge from dev; free huge objects directly and keep them abandoned 2019-08-24 16:16:09 -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
6f5492cef8 enable initial lazy commit and optional decommit to reduce commit charge with many threads 2019-08-24 15:00:55 -07:00
daan
612b2cc9b7 clean up segment slice handling 2019-08-24 12:20:32 -07:00
daan
cce38bc147 more conservative setting to avoid internal fragmentation 2019-08-24 07:32:23 -07:00
Jim Huang
99e071cf2c Link with -lrt for older glibc
Quoted from Linux Programmer's Manual (2017-09-15):
    #include <time.h>
    int clock_gettime(clockid_t clk_id, struct timespec *tp);
    Link with -lrt (only for glibc versions before 2.17).

This patch adds additional checks for librt availability and append
target_link_libraries accordingly. librt is absent on macOS.

Fixed #139
2019-08-24 21:24:56 +08:00
daan
082f012a91 merge from dev-win 2019-08-23 21:56:28 -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
Nathan Moinvaziri
4c9213887b Fixed compiler warning about converting from bool to BOOL (performance warning) 2019-08-22 14:47:08 -07:00
Daan
7f29dec44a
Merge pull request #134 from kile0/kile/vs2019
Add VS solutions that can leverage the MSVC 2019 runtime
2019-08-21 16:00:03 -07:00
daan
3e01eac105 Merge branch 'dev-win' into dev-win-exp 2019-08-21 14:38:58 -07:00
daan
5c912f16d4 merge from remote 2019-08-21 11:35:09 -07:00
daan
a3c4b1c95b merge from dev-win 2019-08-21 11:18:05 -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
eb25093b13 fix mi_cdecl for older clang versions 2019-08-21 09:40:57 -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
c5546dca3f Merge branch 'dev' into dev-win 2019-08-21 08:09:37 -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
cd52d0a6d9 merge dev-win 2019-08-20 17:31:46 -07:00
Kirsten Lee
6165177cb1 provide a set of solutions that use the vs2019 vcruntime 2019-08-20 16:19:16 -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