daanx
290443aee6
fix assertion/invariant
2023-04-13 11:41:08 -07:00
daanx
eb62caeda0
allow per page purging instead of reset
2023-04-08 17:37:58 -07:00
daanx
cdefd5b69c
fix stats for purging
2023-04-05 11:11:03 -07:00
daanx
96e9e6f570
clean up option naming
2023-04-05 10:11:54 -07:00
daanx
4c4f2f4084
clean up arena function names
2023-04-04 18:13:35 -07:00
daanx
db74fc0c98
add abandoned reader barrier
2023-04-04 16:04:17 -07:00
daanx
a2e1d2b893
add segment map to track valid pointers
2023-04-04 16:00:17 -07:00
daanx
461df1e878
implement arena exclusive heap allocation for dev
2023-04-04 15:40:43 -07:00
daanx
77766e20a6
use only arena's instead of regions
2023-04-04 14:58:06 -07:00
Daan Leijen
cc4ed36c7e
prepare for new release
2023-04-03 12:30:18 -07:00
Daan Leijen
f806eb8498
remove redundant OR in mmap flags (pr #675 )
2023-03-29 16:15:20 -07:00
Daan Leijen
8e6a475386
add ubsan and tsan to pipeline
2023-03-29 12:13:59 -07:00
Daan Leijen
f58357548c
restructure header files
2023-03-20 10:37:39 -07:00
Johannes Schindelin
745a34f475
Fix whitespace
...
This mostly deletes trailing spaces.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 00:24:20 +01:00
Daan Leijen
a7bd9c08c8
fix decommit of huge pages
2022-11-23 09:58:45 -08:00
Daan Leijen
969d8bc5fe
make huge pages part of the regular page queues again
2022-11-22 20:56:35 -08:00
Daan Leijen
fed883c81f
refactor mi_segment_init fix
2022-11-22 18:44:27 -08:00
Daan Leijen
00a42bf379
refactor mi_segment_init
2022-11-22 18:42:05 -08:00
Daan Leijen
7dce31f743
reenable decommitting of a huge aligned prefix
2022-11-22 18:13:27 -08:00
daan
2479d168ad
decommit unused prefix of large aligned blocks
2022-11-07 16:41:40 -08:00
daan
1f12c3dd12
remove MI_ALIGNMENT_MAX and add comments
2022-11-07 11:13:42 -08:00
Daan
d1ae630dec
Merge branch 'dev-align' of https://github.com/microsoft/mimalloc into dev-align
2022-11-06 14:51:37 -08:00
Daan
3eb616f2bf
fix bug in secure mode where adjustment would make the page size less than the blocksize on the first page of a segment
2022-11-06 14:51:06 -08:00
daan
f788e3c9a3
add comment
2022-11-06 14:18:52 -08:00
Daan
f54e64365f
fix assertions with incorrect block size for large alignments
2022-11-06 09:44:12 -08:00
daan
4b91ff760d
initial working large alignment
2022-11-05 16:40:42 -07:00
daan
6a80fa3ac1
initial progress on removing alignment limit
2022-11-05 14:46:52 -07:00
daan
a1f5a5d962
fix various false positives in test-stress from valgrind
2022-10-29 14:37:55 -07:00
daan
c61b365e76
valgrind works on test-stress
2022-10-29 11:51:04 -07:00
daan
eee7c40da5
updates to run valgrind on test-api
2022-10-29 11:43:09 -07:00
Daan Leijen
7bc602ebb4
redefine mi_likely/mi_unlikely to work with C++ 20 [[likely]] attributes
2022-04-19 19:50:06 -07:00
Daan Leijen
f87cba9bd8
add max segment reclaim as an option
2022-04-14 16:05:49 -07:00
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