daanx
a964322a21
revise the segment map to only apply to OS allocated segments and reduce the .BSS footprint
2024-06-02 14:46:59 -07:00
daanx
5501f59f6c
only reclaim for exclusive heaps in their associated arena
2024-06-02 13:16:20 -07:00
daanx
635d626c82
fix leak in abandoned block visiting
2024-06-02 10:43:41 -07:00
daanx
f7fe5bf20e
optimize heap walks, by Sam Gross, upstream of python/cpython#114133
2024-06-02 10:28:30 -07:00
Daan Leijen
0b3cd51249
add initial primitive api for locks
2024-06-01 16:45:20 -07:00
Daan
0dcdc55bbd
better aligned test
2024-05-11 07:09:30 -07:00
Daan
c70c1df16a
better fast path for aligned allocation; check max alloc size correctly in the aligned fallback
2024-05-10 20:19:17 -07:00
Daan
c13c17f1d0
Merge pull request #864 from rHermes/fix-passing-heap
...
Avoid compilation error when passing in heap_t to C++ allocators
2024-04-19 10:07:55 -07:00
Daan
06b510c42d
fix build pipeline for ASAN
2024-04-19 09:41:24 -07:00
Daan Leijen
6688b45fbd
rename MI_ALIGNMENT_MAX to MI_BLOCK_ALIGNMENT_MAX for clarity
2024-03-24 10:57:02 -07:00
Teodor Spæren
3d89f6388e
Fix std::shared_pointer calling free on provided heap pointers
2024-03-09 15:14:32 +01:00
daanx
5fe83bf327
limit reclaim from free to half the segments to prevent a pure freeing thread to reclaim too many segments
2024-03-03 17:38:50 -08:00
daanx
70e3ce07d1
Merge branch 'dev' into dev-abandon
2024-03-02 17:34:58 -08:00
Daan
c6750c51ab
Fix new[] / delete mismatch. #745
2024-03-02 17:16:03 -08:00
daanx
16c0948ee5
improve display of arenas and contained blocks
2024-03-01 16:24:28 -08:00
daanx
931d523dcc
update mstress to let the main thread participate
2024-02-29 18:17:58 -08:00
daanx
2a6352fef2
add further zero initialization checks
2023-04-22 10:18:57 -07:00
daanx
173382ef60
is_zero review; fix asan check
2023-04-18 17:52:16 -07:00
daanx
4d976270eb
review is_zero flag
2023-04-18 17:18:39 -07:00
daanx
2f878354f4
add arena contains check for valid pointers
2023-04-18 14:13:55 -07:00
Daan Leijen
72f3ba95a8
reduce iterations under tsan
2023-04-17 12:08:22 -07:00
daanx
8027fcfecd
Merge branch 'dev' into dev-reset
2023-04-15 17:59:01 -07:00
Daan
462080a92e
add test for issue #602
2023-04-14 10:02:01 -07:00
Daan
9535726528
fix warnings on latest macOS
2023-04-14 09:42:04 -07:00
daanx
b6a395b5ec
reset stats more early for mstress
2023-04-04 19:18:47 -07:00
Daan Leijen
dd7b99d477
apply some spelling fixes from PR #710
2023-03-29 16:10:01 -07:00
Daan
2141e414a7
Merge pull request #708 from devnexen/new_placement_tests
...
c++ override test new placement operator
2023-03-29 15:57:53 -07:00
Daan Leijen
0ca31d2db1
fix pipeline for tsan
2023-03-29 12:20:29 -07:00
Daan
b893311365
Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev
2023-03-20 14:23:00 -07:00
Daan
01b460fedb
add std::string test for macos
2023-03-20 13:24:11 -07:00
Daan Leijen
f58357548c
restructure header files
2023-03-20 10:37:39 -07:00
David Carlier
cbccbbe9a4
c++ override test new placement operator
2023-03-18 11:11:49 +00:00
Daan Leijen
134b23b921
fix asan/valgrind api fill test
2023-03-16 17:42:00 -07:00
Daan Leijen
2e6ab0f230
add documentation for tracking tools; rename with prefix MI_TRACK_tool
2023-03-06 09:02:38 -08:00
Daan Leijen
82c85d1a13
fix valgrind mem for large alignment
2023-03-05 18:03:04 -08:00
Daan
6dcebdc303
fix sizes in memory tracking and padding for huge alignments
2023-03-04 14:49:02 -08:00
Daan
cb4fc2c792
reset stats for stress test when using mimalloc
2023-03-04 09:17:35 -08:00
Daan Leijen
6a230f8329
fix compilation of heap specific STL allocators for vs2017
2023-02-07 11:07:52 -08:00
Daan Leijen
9adb032e9c
test non-default heap
2022-12-23 13:04:53 -08:00
Daan Leijen
ef3f651f3f
change implementation of mi_realpath to be more robust; see issue #660
2022-12-19 18:59:33 -08: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
e42a22c9ca
fix warnings
2022-11-28 09:59:48 -08:00
Daan Leijen
c1299484de
refactor C++ STL allocator definitions (pr #651 )
2022-11-27 13:00:15 -08:00
Daan
81b261e657
add test for #587
2022-11-25 15:44:24 -08:00
Daan
78af17e3b3
add extra alignment test
2022-11-25 14:03:00 -08: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
9617f16df9
add STL allocators that use a specific heap and can destroy at the end; see original PR #625 by @vmarkovtsev
2022-11-22 16:58:32 -08:00
Daan Leijen
35d332141d
experimental destroy_on_exit option for statically linked mimalloc in a dynamically unloaded DLL
2022-11-18 11:00:23 -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
a200291ae5
further progress on removing aligned limit
2022-11-06 08:26:17 -08:00
daan
6a80fa3ac1
initial progress on removing alignment limit
2022-11-05 14:46:52 -07:00
daan
2d3f0e5b7a
fix align5 test
2022-11-01 16:34:17 -07:00
daan
640376a500
update readme
2022-10-30 14:52:26 -07:00
daan
05a75758dd
fix tests
2022-10-30 14:07:41 -07:00
daan
84c706508c
fix false positives from valgrind in rptest
2022-10-30 10:45:51 -07:00
daan
a1f5a5d962
fix various false positives in test-stress from valgrind
2022-10-29 14:37:55 -07:00
daan
eee7c40da5
updates to run valgrind on test-api
2022-10-29 11:43:09 -07:00
daan
093724bdef
add test file for valgrind integration
2022-10-28 20:07:31 -07:00
daan
6eeb81ee05
initial progress on valgrind integration
2022-10-28 19:54:56 -07:00
Daan Leijen
d69d4c861f
add zero parameter to primitive allocation to improve codegen for calloc etc
2022-04-19 18:32:35 -07:00
Daan Leijen
d6f3e74684
fix test macros
2022-04-19 10:49:39 -07:00
Daan Leijen
a158aef235
fix for realloc with size 0: returning NULL from realloc now always indicates an error (issue #574 )
2022-04-19 10:31:55 -07:00
Daan Leijen
8713959498
update test macros; add realloc tests
2022-04-19 10:21:41 -07:00
Daan Leijen
5b172280b0
add nodiscard annotations to fix warnings in msvc
2022-04-19 10:10:10 -07:00
Daan Leijen
016b2ad535
nicer heap walk test
2022-04-09 14:08:27 -07:00
Daan Leijen
e18a8cd72e
add heap walk test
2022-04-08 16:58:32 -07:00
daan
ccbc8ae0bb
add huge allocation test (see #544 by @Tiran)
2022-02-10 11:46:28 -08:00
Daan Leijen
320f95f6cd
further fixes to allow statically linking mimalloc in DLL modules (issue #508 )
2022-01-10 16:07:22 -08:00
Frank Richter
691eb0d8ed
Add tests to check "freed memory fill" behaviour in debug mode
2021-12-21 16:20:59 +01:00
Frank Richter
1cf7ca021d
Add tests for debug mode "uninit fill" behaviour
2021-12-21 16:20:59 +01:00
Frank Richter
969f3a6998
Add tests for zero-initialization functions
2021-12-21 16:20:56 +01:00
Frank Richter
d7105c20a9
Move test macros/helpers to a separate header
2021-12-21 12:48:51 +01:00
daan
f16435447c
fix bug in freeing huge OS page allocation spanning multiple huge OS pages
2021-12-18 11:37:00 -08:00
Daan Leijen
89090510bd
update alignment tests
2021-12-18 11:11:44 -08:00
daan
faf2a7020c
add extra alignment tests
2021-12-17 13:25:38 -08:00
daan
89f583a69b
improve aligned allocation performance
2021-12-17 13:18:05 -08:00
Daan
1b09877bc4
Merge branch 'dev' into netbsd_reallocarr
2021-12-15 16:27:26 -08:00
daan
2d9b8aa6b5
rename VER_DIR to VERSION_DIR
2021-12-15 08:33:14 -08:00
Daan
69b6b24688
further improvements to installation directories
2021-12-14 18:29:14 -08:00
David Carlier
d6a56dd99d
introduces netbsd's reallocarr overriding.
...
and couple of tests.
2021-12-01 22:43:13 +00:00
Daan
4ce6821c09
update cmake install for MI_INSTALL_TOPLEVEL
2021-11-14 15:32:21 -08:00
daan
09e59e0610
use size_t instead of uintptr_t where appropiate
2021-11-13 15:13:16 -08:00
David CARLIER
5834751ca6
api test conceal gcc pragma
2021-10-20 16:17:13 +01:00
Daan Leijen
10c31f9b41
fix warnings
2021-10-19 15:13:01 -07:00
Daan
9769cd4103
Merge pull request #428 from Logarithmus/fix-test-i686
...
Fix 'malloc-nomem1' test for 32-bit architectures
2021-10-19 10:51:17 -07:00
Daan
1917fbd847
Merge pull request #467 from tiran/strict_prototypes
...
Fix strict function prototype warnings
2021-10-19 09:35:40 -07:00
Christian Heimes
7c73e3996d
Fix strict function prototype warnings
...
Fix warning ``warning: function declaration isn’t a prototype`` when
building mimalloc with ``-Wstrict-prototypes`` flag. In C argumentless
functions should be declared as ``func(void)``.
Reproducer:
```shell
$ cmake ../.. -DCMAKE_C_FLAGS="-Wstrict-prototypes"
$ make VERBOSE=1
```
Co-authored-by: Sam Gross <colesbury@gmail.com>
Co-authored-by: Neil Schemenauer <nas@arctrix.com>
Signed-off-by: Christian Heimes <christian@python.org>
2021-10-19 10:48:26 +02:00
Daan Leijen
32c5e4774f
update tests with static
2021-07-26 19:14:29 -07:00
Daan Leijen
a3cf23c19f
add test for #445
2021-07-26 19:10:21 -07:00
Artur Sinila
edb0b93c6f
Fix 'malloc-nomem1' test for 32-bit architectures
2021-06-29 22:38:43 +03:00
Daan Leijen
752594e764
add test for #414
2021-06-17 19:47:41 -07:00
Daan Leijen
a83bca72b3
fixes for M1; disable interpose use zones; fix pedantic warnings
2021-06-17 19:15:09 -07:00
Daan Leijen
e2c095fad2
fix installation directories on unix to use /lib, /include, /share; fix issues #399 , #223 , and #89
2021-05-21 15:15:50 -07:00
Daan Leijen
73c339235c
collect in debug mode in stress test
2021-04-28 16:12:32 -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
5f596056c9
use 2-6TiB area for hints to accommodate pre-windows8 better
2021-02-24 15:49:43 -08:00
Daan Leijen
9317256a4f
improved ASLR (issue #372 )
2021-02-24 15:14:17 -08:00
Daan Leijen
92ead2d880
bump version to 1.7.0
2021-01-31 13:51:19 -08:00