243 Commits

Author SHA1 Message Date
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
Daan Leijen
bb386025b5 update override on macOS with interpose of malloc_default_zone (issues #313) 2020-12-15 16:03:54 -08:00
David Carlier
e6c2fd44fc DragonFly support fix (for 5.8.x and forward).
The pthread slot approach is somewhat buggy (pretty visible
 with the stress unit test which segfault more or less randomly,
 but the stats never show up).
Using the default approach instead, the test passes eventough
 it s relatively slow (e.g 1.5 sec on FreeBSD vs 4.5 on DragonFly with same
 machine).
2020-10-22 11:15:37 +01:00
daan
7114d5424a fix statistics to include padding correctly (issue #301) 2020-10-11 13:14:43 -07:00
daan
9d5098c705 bump version to 1.6.7 for further development 2020-09-24 10:16:40 -07:00
daan
f88b4b4c27 extend mi_process_info to include elapsed time 2020-09-24 10:13:25 -07:00
daan
364674185e add option to limit OS allocation and only allow allocation from arenas 2020-09-08 16:56:51 -07:00