daan
49d64dbc95
save decommit_mask for segments in the segment cache
2021-11-10 16:30:21 -08:00
Daan
aeb73b0cd4
merge from dev
2021-10-19 12:55:10 -07:00
Daan Leijen
e6b58052da
add start offset to pages to reduce cache/page effects
2021-10-02 11:13:00 -07:00
Daan Leijen
9974b0ee23
Merge branch 'dev' into dev-slice
2021-06-07 16:51:14 -07:00
Daan Leijen
4ba32c3160
Revert "make all includes relative"
...
This reverts commit 1feb6123d9
.
2021-06-07 16:47:57 -07:00
Daan Leijen
7b595bd957
Merge branch 'dev' into dev-slice
2021-06-06 20:31:53 -07:00
Daan Leijen
1feb6123d9
make all includes relative
2021-06-06 20:31:36 -07: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
Daan Leijen
10ce8839fa
merge from dev
2021-04-28 13:23:46 -07: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 Leijen
47050371a1
fix issue #363 and disable assertion for now
2021-02-22 15:05:47 -08:00
Daan Leijen
3bade4b1bd
fix accounting of abandoned pages
2021-01-29 15:42:52 -08:00
unknown
ad05829195
remove shadow warning when building in static mode
2020-11-06 17:49:10 -08:00
daan
7e96634da4
merge from dev
2020-10-11 13:38:12 -07: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
e1c38eef76
use allow_decommit option for both the segment cache and pages
2020-09-24 17:20:39 -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
fa01875eb2
merge from dev (with is_pinned/is_large separation)
2020-09-08 17:54:58 -07:00
daan
14b8d27386
track pinned memory separately from large os pages
2020-09-08 16:46:03 -07:00
daan
037285ac09
refactor segment cache and map in a separate source file
2020-09-08 13:27:34 -07:00
daan
a948724340
merge from dev (bitmap split)
2020-09-08 10:33:30 -07:00
daan
3826132240
use dynamic initial commit
2020-09-06 14:51:20 -07:00
daan
f7dc4847f2
keep commit_mask live in the cache for better reuse
2020-09-05 21:58:32 -07:00
daan
63a9f45ba6
add initial mi_commit_mask abstraction
2020-09-05 19:39:10 -07:00
daan
36da7e91c5
Merge branch 'dev' into dev-slice
2020-09-05 18:17:22 -07:00
daan
f3f8afb580
add abandoned counter for debug purposes
2020-09-05 18:17:07 -07:00
daan
228b5f6e9d
use atomic load for segment map
2020-09-03 12:19:04 -07:00
daan
03071dec0f
merge from dev-atomic with new atomic interface
2020-09-03 12:13:09 -07:00
daan
900c97664a
merge from dev-atomic
2020-09-03 09:47:01 -07:00
daan
c1a834e886
add checks for when memory commit fails to return NULL
2020-08-28 10:40:46 -07:00
daan
e4ddc75069
set delayed decommit mask more precisely to only decommit currently committed blocks
2020-08-28 08:46:51 -07:00
daan
2cffc3b851
merge from dev
2020-08-27 22:43:57 -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
30799bce73
fix assertion for huge segments
2020-05-03 11:42:38 -07:00
daan
66e5484c1c
fix assertions for huge pages in secure mode
2020-05-02 11:23:25 -07:00