928 Commits

Author SHA1 Message Date
Daan Leijen
36ee5f9024 avoid warning on newer clang 2023-06-30 12:21:01 -07:00
Daan Leijen
578d20f237 Merge branch 'dev' into dev-slice 2023-06-30 12:16:51 -07:00
Daan Leijen
1325ee640a avoid warning on newer clang 2023-06-30 12:16:38 -07:00
daanx
c569b77b77 Merge branch 'dev' into dev-slice 2023-05-19 17:53:02 -07:00
daanx
e10467f673 add libc primitives to reduce dependencies 2023-05-19 11:57:10 -07:00
daanx
4a85f32f8e add libc.c source file 2023-05-19 10:24:39 -07:00
daanx
56c0a8025a merge from dev 2023-04-24 09:06:56 -07:00
daanx
632edf9996 rename was_zero/committed to initially_zero/committed 2023-04-24 09:03:43 -07:00
daanx
2d85abdece merge from dev 2023-04-23 13:06:50 -07:00
daanx
a59ae585c7 remove allow_purge option 2023-04-23 13:04:50 -07:00
daanx
67dcbbfa43 refine c17 check for ATOMIC_VAR_INIT 2023-04-23 12:46:38 -07:00
Trout Zhang
e68010573f
Fix ATOMIC_VAR_INIT deprecation warnings for C17 2023-04-23 21:39:20 +08:00
daanx
6faff49998 merge from dev 2023-04-21 11:35:48 -07:00
daanx
e47adc2d22 track objects in heap destroy for ETW 2023-04-21 11:33:50 -07:00
daanx
012f716485 add is_zero flag to prim_commit 2023-04-21 10:37:22 -07:00
daanx
672e3dde8f Merge branch 'dev' into dev-slice 2023-04-18 19:19:51 -07:00
daanx
e6f3647556 track os alignment and base 2023-04-18 19:00:50 -07:00
daanx
eff7940f30 merge from dev 2023-04-18 17:54:07 -07:00
daanx
09e42aea4e clarify is_zero meaing 2023-04-18 17:41:18 -07:00
daanx
fb07276d48 merge from dev 2023-04-18 17:33:01 -07:00
daanx
4d976270eb review is_zero flag 2023-04-18 17:18:39 -07:00
daanx
b845be241a wip: use memid for OS allocation 2023-04-18 16:38:47 -07:00
daanx
a200f013bf Merge branch 'dev' into dev-slice 2023-04-17 12:14:38 -07:00
daanx
63ddc31d3f fix 32-bit compile warnings 2023-04-17 12:05:33 -07:00
daanx
e03f26b035 fix atomic signature 2023-04-17 11:39:55 -07:00
daanx
7de3201767 Merge branch 'dev-slice' into dev-slice-reset 2023-04-17 09:49:43 -07:00
daanx
a8c581059b Merge branch 'dev' into dev-reset 2023-04-17 09:48:58 -07:00
daanx
4dce9c0f00 merge from dev 2023-04-17 09:37:27 -07:00
daanx
66aa7a17ac further fix for atomic build error suggested by Davide Di Gennaro (issue #729, pr #724) 2023-04-17 09:33:13 -07:00
daanx
43be9c2909 possible fix for warnings on armv6 (issue #719) 2023-04-17 09:25:41 -07:00
daanx
a52ba65f65 further fix for atomic build error suggested by Davide Di Gennaro (issue #729, pr #724) 2023-04-17 09:13:08 -07:00
Daan
f890679316 Merge branch 'dev' into dev-slice 2023-04-17 08:58:18 -07:00
daanx
becf379ecd merge from dev-reset 2023-04-16 12:32:20 -07:00
daanx
a655c28b66 cleanup 2023-04-16 12:29:21 -07:00
daanx
d48b988c40 clean up os api 2023-04-16 11:21:45 -07:00
daanx
b0104ef4fd merge from dev 2023-04-16 11:01:25 -07:00
daanx
0fc4de1440 use rich memid's to simplify the internal API's and invariants 2023-04-15 21:31:17 -07:00
daanx
0174d19af3 increase thread data cache to 16 2023-04-15 19:49:14 -07:00
daanx
6f531a61ef Merge branch 'dev-reset' into dev-slice-reset 2023-04-15 17:59:26 -07:00
daanx
8027fcfecd Merge branch 'dev' into dev-reset 2023-04-15 17:59:01 -07:00
Sergey Fedorov
cd915900a2 atomic.h: unbreak build on Darwin PPC 2023-04-15 07:06:47 +08:00
Daan
62708b9843 Merge branch 'dev' into dev-slice 2023-04-14 10:03:48 -07:00
Daan
5a866ca7e1 fix build error on Android/Linux for an atomic signature (pr #724, issue #729) 2023-04-14 09:44:36 -07:00
daanx
e35e919ea4 remove segment-cache as it is superseded by better arena management 2023-04-13 15:37:54 -07:00
daanx
e6681f2d4b Merge branch 'dev-reset' into dev-slice-reset 2023-04-13 15:27:33 -07:00
daanx
48d0d0da9b fix thread data cache to use pure os alloc 2023-04-13 15:27:20 -07:00
daanx
991d04b2b1 merge from dev-reset 2023-04-13 13:37:56 -07:00
daanx
0ba79d01f6 allow static allocation in arenas for internal metadata 2023-04-13 13:19:39 -07:00
daanx
c90a2bbd0a make memid's abstract for safety 2023-04-13 12:17:52 -07:00
daanx
269e0ea80b merge from dev-reset 2023-04-08 17:51:50 -07:00
daanx
eb62caeda0 allow per page purging instead of reset 2023-04-08 17:37:58 -07:00
daanx
2715191f58 merge from dev-reset 2023-04-05 11:22:36 -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
55df1f3a54 more detailed stats, including purges 2023-04-05 09:48:22 -07:00
daanx
c0c81a1b7b merge from dev-reset 2023-04-04 18:47:55 -07:00
daanx
cb0369452d use exponetially sized arenas 2023-04-04 17:54:33 -07:00
daanx
24034c997c merge from dev-reset 2023-04-04 16:44:07 -07:00
daanx
d01017ffda extend primitive api with is_zero parameters 2023-04-04 16:32:39 -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
daanx
1d231be758 clarify needs_recommit 2023-04-04 13:05:48 -07:00
daanx
b6603c2ee0 merge from dev-reset 2023-04-04 13:02:06 -07:00
daanx
5c39fe7246 decommit returns whether re-commit is needed 2023-04-04 12:57:18 -07:00
daanx
a836d233ff merge from dev-reset 2023-04-04 12:27:47 -07:00
daanx
449aad0635 wip: purgeable arenas; update option names and improve arena reservation 2023-04-04 12:15:57 -07:00
daanx
33d7503fdb rename to arena_eager_commit 2023-04-03 19:57:26 -07:00
daanx
d22a13c990 wip: purgeable arenas, various fixes 2023-04-03 17:58:28 -07:00
daanx
a9f42376b7 small changes; make minimal commit most fine grained 2023-04-03 16:17:02 -07:00
daanx
f5ab38f87b wip: use purge throughout for segments and arenas; more agressive delays 2023-04-03 15:06:09 -07:00
daanx
e96af1dba0 Merge branch 'dev-slice' into dev-slice-reset 2023-04-03 12:48:30 -07:00
daanx
a5b47fe17b Merge branch 'dev' into dev-reset 2023-04-03 12:46:00 -07:00
daanx
5e4f7d332e bump version for further development 2023-04-03 12:45:30 -07:00
daanx
92556e0e62 bump version for further development 2023-04-03 12:45:04 -07:00
Daan Leijen
f4e006fa76 merge from dev-reset 2023-03-31 21:10:25 -07:00
Daan Leijen
595add5e3d wip: initial work on purgable arenas 2023-03-31 20:51:35 -07:00
Daan Leijen
7cf60deb12 wip: initial delayed purging of arenas 2023-03-31 14:07:59 -07:00
Daan Leijen
f8faa8f2a1 Merge branch 'dev-slice' into dev-slice-reset 2023-03-31 10:44:14 -07:00
Daan Leijen
1a57a53b75 Merge branch 'dev' into dev-reset 2023-03-31 10:31:43 -07:00
Daan Leijen
14fdd9a102 Merge branch 'dev' into dev-slice 2023-03-31 10:25:49 -07:00
Daan Leijen
d3ec7f378e fix compile on ppc64IE and s390x arches (issue #717) 2023-03-31 10:25:32 -07:00
Daan Leijen
8c526622ff merge from dev-reset 2023-03-30 16:24:10 -07:00
Daan Leijen
6eee9e4be2 add option eager_reserve 2023-03-30 16:20:11 -07:00
Daan Leijen
9c544aba41 bump version for further development 2023-03-30 09:27:21 -07:00
Daan Leijen
f08d9d489c bump version for further development 2023-03-30 09:19:35 -07:00
Daan Leijen
391f8bbd72 merge from dev 2023-03-28 10:00:18 -07:00
Daan Leijen
176b6e6aa0 add mi_arena_is_os_allocated 2023-03-28 09:59:41 -07:00
Daan Leijen
4c681cffe0 merge from dev 2023-03-28 09:27:06 -07:00
Daan Leijen
9792b6364d move more prototypes in internal.h for safety 2023-03-28 09:25:32 -07:00
Daan Leijen
165b847051 improve segment_cache assertions 2023-03-23 16:11:38 -07:00
Daan Leijen
b0ba746307 merge from dev 2023-03-20 14:28:21 -07:00
Daan Leijen
c92e9e7bf7 add comment that thread id's should not be zero, issue #698 2023-03-20 14:01:09 -07:00
Daan Leijen
268dceaa12 Merge branch 'dev' into dev-slice 2023-03-20 13:55:47 -07:00
Daan Leijen
0b4c3da2e9 make process init race free (issue #701) 2023-03-20 13:55:39 -07:00
Daan Leijen
4a18fa3775 Merge branch 'dev-platform' into dev-slice-platform 2023-03-20 11:31:03 -07:00
Daan Leijen
65402836ae comments 2023-03-20 11:30:52 -07:00
Daan Leijen
3fc30c4a1e merge from dev, version bump to 2.1.0 2023-03-20 11:05:18 -07:00
Daan Leijen
e24e1125ee bump version to 1.8.0 2023-03-20 11:03:50 -07:00
Daan Leijen
0509d11ac5 more comments 2023-03-20 11:02:16 -07:00
Daan Leijen
ec5f4904b0 more comments 2023-03-20 11:01:40 -07:00
Daan Leijen
f58357548c restructure header files 2023-03-20 10:37:39 -07:00
Daan Leijen
eca98ac056 Merge branch 'dev-platform' into dev-slice-platform 2023-03-16 20:17:01 -07:00
Daan Leijen
17a20f280b dont track ETW by default 2023-03-16 20:16:31 -07:00
Daan Leijen
1e8769ec95 Merge branch 'dev-platform' into dev-slice-platform 2023-03-16 20:11:59 -07:00
Daan Leijen
1a99efc671 integrate ETW windows event tracing into mimalloc as another track tool 2023-03-16 20:08:43 -07:00
Xinglong He
072316bd33 add etw support 2023-03-16 17:47:20 -07:00
Daan Leijen
61ae0d1d5e merge from dev-platform 2023-03-15 20:42:59 -07:00
Daan Leijen
c4c96d2f8d update older vs ide projects 2023-03-15 20:38:10 -07:00
Daan Leijen
4da64ac904 Merge branch 'dev-slice' into dev-slice-platform 2023-03-15 20:33:52 -07:00
Daan Leijen
e937070cf1 Merge branch 'dev' into dev-platform 2023-03-15 20:33:35 -07:00
Daan Leijen
c80e2d5b03 Merge branch 'dev' into dev-slice 2023-03-15 20:33:16 -07:00
Daan Leijen
824fd8a7b1 fix issue #707; rename a local template parameter (destroy) to work around two-phase template resolve in msvc 2019 2023-03-15 20:31:52 -07:00
Daan Leijen
65bbe4014f merge from dev-platform 2023-03-15 15:10:12 -07:00
Daan Leijen
9a2dbf373e move thread init to primitives 2023-03-15 13:35:23 -07:00
Daan Leijen
9b110090b2 move threadid and mi_get_default_heap to primitives 2023-03-14 20:35:00 -07:00
Daan Leijen
3579d3b861 move mi_thread_id to primitives 2023-03-14 19:38:45 -07:00
Daan Leijen
10f62eb5a1 add c primitives, move getenv into primitives 2023-03-14 18:10:00 -07:00
Daan Leijen
08a01d26dc initial commit of new primitive layer 2023-03-14 16:54:46 -07:00
Daan Leijen
8184e9de1f Merge branch 'dev' into dev-slice 2023-03-06 10:29:27 -08: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
d0eebedfbf merge from dev 2023-03-05 22:15:07 -08:00
Daan Leijen
465eb81d30 track free blocks in valgrind for heap_destroy as well 2023-03-05 18:18:41 -08:00
Daan
b3176ada74 merge from dev, fix commit size in asan tracking 2023-03-05 11:17:39 -08:00
Daan
056c2ce45b match track free size to tracked malloc size 2023-03-05 11:01:51 -08:00
Daan
f32b42e6cc Merge branch 'dev' into dev-slice 2023-03-04 16:03:22 -08:00
Daan
3c906bde8b better track_free_size 2023-03-04 15:17:13 -08:00
Daan
e4b9ea918f merge from dev 2023-03-04 14:52:30 -08:00
Daan
6dcebdc303 fix sizes in memory tracking and padding for huge alignments 2023-03-04 14:49:02 -08:00
Daan Leijen
5fe4a3480f revert default max align commit back to 16 2023-02-20 12:21:06 -08:00
daan
8be4cee418 change max align size to 8 2023-02-20 12:15:26 -08:00
Daan Leijen
e7b941a136 Merge branch 'dev' into dev-slice 2023-02-07 11:08:10 -08:00
Daan Leijen
6a230f8329 fix compilation of heap specific STL allocators for vs2017 2023-02-07 11:07:52 -08:00
Daan Leijen
28cf67e5b6 bump version to 2.0.9 2022-12-23 13:31:56 -08:00
Daan Leijen
4cebb48062 bump version to v1.7.9 2022-12-23 13:29:06 -08:00
Daan Leijen
9b2dd0d757 Merge branch 'dev' into dev-slice 2022-12-19 18:02:13 -08:00
Daan Leijen
4d1e74aadd add comment 2022-12-19 18:01:58 -08:00
Daan Leijen
35997c0384 Merge branch 'dev' into dev-slice 2022-12-19 17:38:53 -08:00
Daan Leijen
8c89a77064 add default constructors to stl heap allocators 2022-12-19 17:25:49 -08:00
Daan
51e2be6647
Merge branch 'dev' into fix-const 2022-12-19 17:10:54 -08:00
Daan Leijen
92ffc25d79 merge from dev 2022-12-19 17:08:45 -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
6304bbec6e Merge branch 'dev' into dev-slice 2022-11-28 11:12:52 -08:00
Daan Leijen
ddc9841019 fix parameters for mi_track_free 2022-11-28 11:12:35 -08:00
Daan Leijen
911ea81630 Merge branch 'dev' into dev-slice 2022-11-28 10:55:35 -08:00
Daan Leijen
10981ab122 add initial support for using mimalloc with address sanitizer support; use -DMI_ASAN=ON 2022-11-28 10:55:19 -08:00
Daan Leijen
76db72814c fix unused parameter warning in clang 2022-11-28 10:54:45 -08:00
Daan Leijen
90c8f0516c Merge branch 'dev' into dev-slice 2022-11-28 09:18:04 -08:00
Daan Leijen
be2bc9e7ca better attributes on new/delete overrides for Microsoft visual C++ 2022-11-28 09:15:16 -08:00
Vadim Markovtsev
7da4a34dc1 Make "destroy" a compile-time constant + fix const allocator comparisons 2022-11-28 12:04:12 +01:00