216 Commits

Author SHA1 Message Date
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
daan
c7272afa9a add mi_reserve_os_memory/mi_manage_os_memory; allow arena allocations to cross multiple bitmap fields 2020-09-07 21:34:34 -07:00
daan
46ee8952eb update mi_process_info to not use doubles 2020-09-06 13:53:02 -07:00
daan
ee286919d9 add mi_process_info api call 2020-09-06 13:21:19 -07:00
daan
f09549c98f use main stats for thread count 2020-09-05 18:00:36 -07:00
daan
0d0b5e3fad restore stress workload for windows pipeline 2020-09-05 11:19:35 -07:00
daan
78f1f9bd5e reduce stress workload for windows pipeline 2020-09-05 11:16:40 -07:00
daan
d73d6beb71 add aslr test (issue #289) 2020-09-04 10:41:10 -07:00
daan
900c97664a merge from dev-atomic 2020-09-03 09:47:01 -07:00
daan
b4825372ab small compilation warning fixes (extra semicolon etc) 2020-08-29 19:30:38 -07:00
daan
a9686d6ecf avoid link error on non-windows 2020-08-06 13:37:11 -07:00
daan
a468430772 strengthen memory order of bit operations; insert memory fences 2020-07-26 14:19:30 -07:00
daan
8769082d63 add pointer validity check in debug mode for mi_usable_size/mi_realloc/mi_expand. Issue #269 2020-07-20 14:33:03 -07:00
daan
7c24edfeb0 add thread-id check for thread local FLS callbacks on Windows with static linking; found by @jasongibson 2020-05-04 14:31:32 -07:00
daan
69a0846478 add MI_PADDING flag to cmake to supress use of padding in debug mode 2020-04-07 10:01:18 -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
0a3e5bb699 further fixes to compile on mingw without warnings (issue #217) 2020-04-06 10:56:53 -07:00
daan
faa83a1c47 fix issue number: 212 to #221 2020-04-06 09:19:26 -07:00
daan
c7e9cfd3ed add test case for issue #212 2020-04-06 08:32:25 -07:00
Daan
1ece3ff6aa
Merge pull request #220 from cormacrelf/usable_size
Don't call mi_page_usable_size_of with an aligned pointer
2020-04-06 08:05:34 -07:00
Cormac Relf
414acd49ab Add test to exercise mi_usable_size on aligned allocations 2020-04-06 22:50:21 +10:00
daan
ec61224db0 fix padding issue with zero sized allocation (issue #209) 2020-02-18 20:05:30 -08:00
daan
baf08e8d54 fix size check on overflow when padding is enabled in debug mode 2020-02-17 09:59:34 -08:00
daan
e981e9227e ensure thread delayed freeing is correct during heap_absorb; #204 2020-02-13 13:12:19 -08:00
daan
8a2a52843d delete all thread owned heaps when a thread is terminated (issue #202) 2020-02-13 12:15:23 -08:00
daan
946a71c4a9 fix issue #204 (and #205) by doing thread delayed free after absorbing the pages 2020-02-13 11:37:48 -08:00
daan
f42b8526d0 fix wrong __declspec(restrict) and __attribute__((malloc)) attributes on reallocation functions 2020-02-13 10:36:39 -08:00
daan
04f1c3b1e2 bump version to v1.6.0 2020-02-09 18:53:39 -08:00