Commit graph

137 commits

Author SHA1 Message Date
Daan Leijen
f4b7ea9e9e fix compile warnings 2022-04-09 16:20:27 -07:00
Daan Leijen
faca422b71 fix msvc warnings at level 4 2022-04-09 14:48:30 -07:00
Daan Leijen
6c91c75b14 remove thread local segment cache 2022-04-09 14:33:20 -07:00
daan
f2bfaa74fe enable eager delay even on overcommit systems 2022-02-04 16:12:22 -08:00
Daan Leijen
6ff2312ab5 fix warning in vs2019 2022-02-02 13:05:32 -08:00
Daan
2cb2c7fd80 fix uint8_t to size_t comparison (issue #525) 2022-01-16 12:12:45 -08:00
daan
4b0cda2012 take overcommit into account for eager commit delay 2021-11-14 11:23:11 -08:00
daan
09e59e0610 use size_t instead of uintptr_t where appropiate 2021-11-13 15:13:16 -08:00
daan
28896e5b19 prefix UNUSED,KiB,MiB,GiB; add mi_threadid_t type; add mi_ssize_t 2021-11-13 14:46:03 -08:00
daan
d52b559b57 use eager delay after 2 threads 2021-11-12 19:59:59 -08:00
daan
f9ac60a90f suppres eager commit delay for the first 4 threads 2021-11-12 19:03:20 -08:00
daan
d2de66b8fa do not delay eager commit for the main thread 2021-11-12 18:44:33 -08:00
Jim Huang
0f57425f80 Distinguish SI and Binary Prefixes
SI prefixes [the decimal prefixes] refer strictly to powers of 10. They
should not be used to indicate powers of 2. e.g., one kilobit
represents 1000 bits instead of 1024 bits. IEC 60027‐2 symbols are
formed adding a "i" to the SI symbol (e.g. G + i = Gi).
2021-05-30 20:13:28 +08:00
Jim Huang
5940d3bcce Bump copyright date
Each source file has been changed according to relevant Git activities.
2021-04-24 16:35:11 +00:00
daan
7114d5424a fix statistics to include padding correctly (issue #301) 2020-10-11 13:14:43 -07:00
daan
5d2b925f3e wrap MI_SECURE conditional in #ifdef to avoid warnings (issue #311) 2020-10-11 10:56:57 -07:00
daan
d89c23efce merge from dev 2020-09-14 09:03:52 -07:00
daan
840eba2874 improve handling of out-of-memory situations 2020-09-14 09:02:06 -07:00
Igor Kostenko
bf9c3bd088 Fix rare access violation on out of memory 2020-09-14 10:50:22 +01:00
daan
14b8d27386 track pinned memory separately from large os pages 2020-09-08 16:46:03 -07:00
daan
f3f8afb580 add abandoned counter for debug purposes 2020-09-05 18:17:07 -07:00
daan
900c97664a merge from dev-atomic 2020-09-03 09:47:01 -07:00
daan
5805c39916 enable --std=c99 compilation; fix mingw compilation 2020-08-09 17:55:17 -07:00
daan
ef8e5d18a6 replace atomics with C11/C++ atomics with explicit memory order; passes tsan. Issue #130 2020-07-26 18:01:33 -07:00
daan
a468430772 strengthen memory order of bit operations; insert memory fences 2020-07-26 14:19:30 -07:00
daan
a9f46dc86f reduce memory order constraints for better efficiency on ARM etc 2020-07-26 11:58:02 -07:00
daan
95afd0509f make segment abandoned_next atomic; tsan passes without warnings now (issue #130) 2020-07-25 23:50:22 -07:00
daan
09ade02429 bring inline with C11 atomics; no volatile and cas order of expected/desired 2020-07-25 22:52:27 -07:00
daan
70be91d6b8 reduce tsan warning by ensuring a require edge; issue #130 2020-07-22 15:28:14 -07:00
daan
66048cb6cc fix return value for page_unreset 2020-05-19 13:31:24 -07:00
daan
6f73cc8b1d Merge branch 'master' into dev 2020-05-19 10:41:08 -07:00
daan
a09a64e29b add extra check in mi_page_unreset to not unreset for huge OS pages 2020-05-19 10:40:46 -07:00
daan
a52b38342d Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2020-05-19 09:55:08 -07:00
Daan Leijen
bf6b781e40 fix semicolon (#247) 2020-05-18 10:08:18 -07:00
daan
967513d536 add extra checks if unreset (commit) succeeds 2020-05-06 11:35:35 -07:00
daan
5cfdc39ff1 remove on-demand page commit option 2020-04-30 18:23:33 -07:00
daan
a5bf45cd1e add commit check on page reclaim 2020-04-23 21:01:06 -07:00
daan
74a01d05af check commit/protect if eager_commit is disabled 2020-04-23 20:48:55 -07:00
daan
0d3c141243 add check for if commit fails in segment allocation 2020-04-23 17:28:44 -07:00
daan
afc4f79a69 fix for ensuring heap initialization with static linking on windows on huge allocations (issues #221) 2020-04-06 12:15:12 -07:00
daan
84b9b8878e possible fix for issue #221 2020-04-06 11:49:32 -07:00
daan
a169cf0e3f merge dev-exp; add pthread TLS support for macOSX 2020-02-01 14:10:10 -08:00
daan
edff9d4fbb merge from dev-win (padding) 2020-02-01 12:32:59 -08:00
daan
8422ab125d improve messages; fix reset size calculation on large pages 2020-01-31 17:28:26 -08:00
daan
f820fae858 merge from dev; add retired collect on abandon 2020-01-30 07:24:35 -08:00
daan
a7c69ccbea fix stat accounting of segments with huge blocks 2020-01-30 06:25:42 -08:00
daan
03b363a1c2 first working tls on macOS using interpose; still slow 2020-01-29 22:46:44 -08:00
daan
e628fc7067 cleanup reclaim logic 2020-01-26 12:39:11 -08:00
daan
394b796ea0 fix over-eager page reset in segment reclamation 2020-01-25 13:43:56 -08:00
daan
62b8fb26b1 fix freeing of segments on forced reclaim 2020-01-25 13:27:47 -08:00