Commit Graph

403 Commits

Author SHA1 Message Date
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
911ea81630 Merge branch 'dev' into dev-slice 2022-11-28 10:55:35 -08:00
Daan Leijen
e42a22c9ca fix warnings 2022-11-28 09:59:48 -08:00
Daan Leijen
447c2f18c5 Merge branch 'dev' into dev-slice 2022-11-27 13:00:30 -08:00
Daan Leijen
c1299484de refactor C++ STL allocator definitions (pr #651) 2022-11-27 13:00:15 -08:00
Daan Leijen
6988bbcca0 fix duplicate definition (issue #652 2022-11-27 12:03:16 -08:00
Daan
afb5468ded Merge branch 'dev' into dev-slice 2022-11-25 16:38:46 -08:00
Daan
81b261e657 add test for #587 2022-11-25 15:44:24 -08:00
Daan Leijen
55dac20805 Merge branch 'dev' into dev-slice 2022-11-25 14:28:06 -08:00
Daan
78af17e3b3 add extra alignment test 2022-11-25 14:03:00 -08:00
Daan Leijen
c613c1de94 merge from dev 2022-11-23 10:10:55 -08:00
Daan Leijen
a7bd9c08c8 fix decommit of huge pages 2022-11-23 09:58:45 -08:00
Daan Leijen
9e56567d23 fix decommit for huge objects 2022-11-23 09:50:29 -08:00
Daan Leijen
ed82aa90ea merge from dev where huge objects are now part of page queues again 2022-11-22 21:54:58 -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
85b5fa11bc merge segment_init refactoring from dev 2022-11-22 19:03:26 -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
163afcce75 merge from dev with the destroy_on_exit option 2022-11-21 10:03:52 -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
89ba6cc2fa merge from dev 2022-11-07 16:48:00 -08:00
daan
2479d168ad decommit unused prefix of large aligned blocks 2022-11-07 16:41:40 -08:00
daan
c55cc260ab merge from dev-align 2022-11-07 11:29:03 -08:00
daan
1f12c3dd12 remove MI_ALIGNMENT_MAX and add comments 2022-11-07 11:13:42 -08:00
daan
96f1574faf fix huge page aligned allocation size in secure mode 2022-11-07 10:51:15 -08:00
daan
651a99b35d refine last slice setting for large alignments 2022-11-06 20:57:27 -08:00
daan
4814a649be merge from dev-align 2022-11-06 16:23: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
b3b479490e Merge branch 'dev' into dev-slice 2022-11-01 16:34:24 -07:00
daan
2d3f0e5b7a fix align5 test 2022-11-01 16:34:17 -07:00
daan
9f36808a7f initial api for heaps restricted to a certain arena 2022-11-01 16:22:51 -07:00
daan
de21d04ba5 Merge branch 'dev' into dev-slice 2022-10-30 14:53:42 -07:00
daan
640376a500 update readme 2022-10-30 14:52:26 -07:00
daan
66525ccae3 merge from dev-track 2022-10-30 14:31:21 -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
487b401b26 Merge branch 'dev' into dev-slice 2022-04-19 18:43:32 -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
5c64f51503 Merge branch 'dev' into dev-slice 2022-04-19 11:07:41 -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
157c9b0966 Merge branch 'dev' into dev-slice 2022-04-09 14:08:36 -07:00
Daan Leijen
016b2ad535 nicer heap walk test 2022-04-09 14:08:27 -07:00
Daan Leijen
774d12f12e merge from dev 2022-04-09 13:26:38 -07:00
Daan Leijen
e18a8cd72e add heap walk test 2022-04-08 16:58:32 -07:00
daan
352d8be237 Merge branch 'dev' into dev-slice 2022-02-10 11:46:43 -08:00
daan
ccbc8ae0bb add huge allocation test (see #544 by @Tiran) 2022-02-10 11:46:28 -08:00
daan
e87b1d2298 add extra huge allocation test 2022-02-10 11:08:13 -08:00
Daan
bd2ac3c92e collect segment cache on mi_collect 2022-02-02 16:17:21 -08:00
daan
a74c05c6c0 Merge branch 'dev' into dev-slice 2022-01-10 16:21:15 -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
daan
ae1c06d940 merge from dev 2022-01-10 15:29:49 -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
72a33c37ef merge from dev 2021-12-18 11:34:02 -08:00
Daan Leijen
78e2e580f8 Merge branch 'dev' into dev-slice 2021-12-18 11:11:54 -08:00
Daan Leijen
89090510bd update alignment tests 2021-12-18 11:11:44 -08:00
daan
3d35147aba Merge branch 'dev' into dev-slice 2021-12-17 13:25:44 -08:00
daan
faf2a7020c add extra alignment tests 2021-12-17 13:25:38 -08:00
daan
abbff9c030 merge from dev (MI_ALIGNED_MAX) 2021-12-17 13:23:24 -08:00
daan
89f583a69b improve aligned allocation performance 2021-12-17 13:18:05 -08:00
daan
2af1db7f3a Merge branch 'dev' into dev-slice 2021-12-15 19:29:04 -08:00
Daan
1b09877bc4
Merge branch 'dev' into netbsd_reallocarr 2021-12-15 16:27:26 -08:00
daan
f24a0b1019 merge from dev 2021-12-15 08:35:15 -08:00
daan
2d9b8aa6b5 rename VER_DIR to VERSION_DIR 2021-12-15 08:33:14 -08:00
Daan
d15f5fae64 merge from dev 2021-12-14 18:29:58 -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
18fc788201 merge from dev 2021-11-14 15:39:05 -08: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
daan
b1aff903f5 fix decommit bug 2021-11-11 17:45:41 -08:00
daan
998c2de633 merge from dev-slice 2021-11-10 16:49:43 -08:00
daan
49d64dbc95 save decommit_mask for segments in the segment cache 2021-11-10 16:30:21 -08:00
daan
49c75a3157 wip: increase commit mask resolution 2021-11-09 20:19:31 -08:00
Daan
b47d0802d1 Merge branch 'dev' into dev-slice 2021-10-20 09:36:08 -07:00
David CARLIER
5834751ca6 api test conceal gcc pragma 2021-10-20 16:17:13 +01:00
Daan Leijen
d4397ce16c merge from dev 2021-10-19 15:13:53 -07:00
Daan Leijen
10c31f9b41 fix warnings 2021-10-19 15:13:01 -07:00
Daan
aeb73b0cd4 merge from dev 2021-10-19 12:55:10 -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
a4078df9d5 Merge branch 'dev' into dev-slice 2021-10-19 10:17:53 -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
54659aec9e merge from dev 2021-10-18 16:28:08 -07: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
b3b0fb5832 merge from dev 2021-06-17 20:05:40 -07:00
Daan Leijen
752594e764 add test for #414 2021-06-17 19:47:41 -07:00
Daan Leijen
5869c85749 merge from dev 2021-06-17 19:18:57 -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
54b2c3525c merge with dev 2021-05-21 15:36:30 -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
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
4e643b6d31 merge from dev 2021-02-24 15:53:26 -08: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
ad96d220f4 merge from dev 2021-02-24 15:17:35 -08:00
Daan Leijen
9317256a4f improved ASLR (issue #372) 2021-02-24 15:14:17 -08:00
Daan Leijen
47050371a1 fix issue #363 and disable assertion for now 2021-02-22 15:05:47 -08:00
Daan Leijen
bd56782f26 bump version to 2.0.0 2021-01-31 14:02:06 -08:00
Daan Leijen
8bcc60edd9 Merge branch 'dev' into dev-slice 2021-01-31 13:57:35 -08:00
Daan Leijen
92ead2d880 bump version to 1.7.0 2021-01-31 13:51:19 -08:00
Daan Leijen
e314699ee0 add debug view of arenas 2021-01-28 17:32:42 -08:00
Daan Leijen
3c70317393 merge from dev 2020-12-15 16:07:23 -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
Daan Leijen
b803095b83 merge from dev 2020-12-10 13:17:56 -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
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
b59abce8ea Merge branch 'dev' into dev-slice 2020-09-24 10:16:54 -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
fbaa70e1eb increase default test load to 25% to increase azure pipeline test load 2020-09-14 11:01:17 -07:00
daan
fa01875eb2 merge from dev (with is_pinned/is_large separation) 2020-09-08 17:54:58 -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
371532ff02 merge from dev 2020-09-07 21:43:05 -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
b7046934e5 Merge branch 'dev' into dev-slice 2020-09-06 13:53:30 -07:00
daan
46ee8952eb update mi_process_info to not use doubles 2020-09-06 13:53:02 -07:00
daan
8c838a949f Merge branch 'dev' into dev-slice 2020-09-06 13:22:44 -07:00
daan
ee286919d9 add mi_process_info api call 2020-09-06 13:21:19 -07:00
daan
36da7e91c5 Merge branch 'dev' into dev-slice 2020-09-05 18:17:22 -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
4df01218e2 fix msvc compilation with new atomics 2020-09-05 10:03:37 -07:00
daan
97f56b1e08 merge from dev 2020-09-04 14:21:33 -07:00
daan
d73d6beb71 add aslr test (issue #289) 2020-09-04 10:41:10 -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
b4825372ab small compilation warning fixes (extra semicolon etc) 2020-08-29 19:30:38 -07:00
daan
2cffc3b851 merge from dev 2020-08-27 22:43:57 -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
53aa46890a merge from dev 2020-05-05 10:54:59 -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
37b43e4cea improved arena cache 2020-05-02 10:37:33 -07:00