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 |
|
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 |
|
Vadim Markovtsev
|
4cdfc18888
|
Refactor C++ allocators to be DRY and protected
|
2022-11-24 15:13:19 +01: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
|
78690fbec2
|
fix proteced status in stl allocator (pr #625)#
|
2022-11-22 18:41:51 -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
|
6e2b077b35
|
rename to heap_alloc_new and heap_alloc_new_n
|
2022-11-22 14:48:26 -08:00 |
|
Daan Leijen
|
34910664f1
|
add mi_heap_new_ and mi_heap_new_n
|
2022-11-22 14:46:23 -08:00 |
|
Daan Leijen
|
83c027c4bf
|
fix medium page size to 512k
|
2022-11-21 18:56:56 -08:00 |
|
Daan Leijen
|
c007747169
|
back to 64k pages but 32MiB segments and a 1MiB minimal commit size
|
2022-11-21 15:03:15 -08:00 |
|
Daan Leijen
|
1a7f6f376d
|
move threadid field
|
2022-11-21 10:22:50 -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 Leijen
|
7ebd1c6daf
|
merge from dev
|
2022-11-18 10:22:45 -08:00 |
|
Daan Leijen
|
18cf94dff6
|
move keys field in the page struct to keep offsets in the fast path the same for different build variants
|
2022-11-18 10:14:37 -08:00 |
|
Daan Leijen
|
8834e128e8
|
improve mi_free codegen
|
2022-11-18 10:13:51 -08:00 |
|
Daan Leijen
|
82a765a255
|
experiment with 32KiB slices and increased MI_MIN_EXTEND
|
2022-11-18 09:38:01 -08:00 |
|
Daan Leijen
|
b940543cd5
|
experiment with smaller segment size (32MiB) and finer minimal commit (1MiB)
|
2022-11-17 18:57:45 -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
|
c26c5da016
|
Merge branch 'dev' into dev-slice
|
2022-11-07 14:51:18 -08:00 |
|
daan
|
3e1d800e9b
|
potential fix for windows static linking with thread creation in dll's
|
2022-11-07 14:47:53 -08:00 |
|
daan
|
5d6b149ea9
|
bump version to v2.0.8 for further development
|
2022-11-07 11:37:22 -08:00 |
|
daan
|
312ce6f916
|
bump version to v1.7.8 for further development
|
2022-11-07 11:36:44 -08:00 |
|
daan
|
c55cc260ab
|
merge from dev-align
|
2022-11-07 11:29:03 -08:00 |
|
daan
|
2daec6c72f
|
add more comments
|
2022-11-07 11:23:04 -08:00 |
|
daan
|
1f12c3dd12
|
remove MI_ALIGNMENT_MAX and add comments
|
2022-11-07 11:13:42 -08:00 |
|
daan
|
1632dd73c9
|
remove superfluous asserts
|
2022-11-06 21:03:23 -08:00 |
|
daan
|
651a99b35d
|
refine last slice setting for large alignments
|
2022-11-06 20:57:27 -08:00 |
|
daan
|
562efed54d
|
fix full SEGMENT_SIZE internal alignment by adding one more slice entry
|
2022-11-06 20:36:51 -08:00 |
|