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
daan
4814a649be
merge from dev-align
2022-11-06 16:23:42 -08:00
Daan
d3715132d1
move null ptr check
2022-11-06 09:52:54 -08:00
daan
4b91ff760d
initial working large alignment
2022-11-05 16:40:42 -07:00
daan
6a80fa3ac1
initial progress on removing alignment limit
2022-11-05 14:46:52 -07:00
daan
f859190cba
update to v2.0.7
2022-11-03 17:05:38 -07:00
daan
fe61be80bf
update to v1.7.7
2022-11-03 17:03:57 -07:00
daan
6f8e115980
Merge branch 'dev' into dev-slice
2022-11-02 09:51:03 -07:00
daan
5ad06f9997
fix compiler warning on unused parameter (issues #251 )
2022-11-02 09:50:49 -07:00
daan
933713292c
merge from dev
2022-11-01 16:27:50 -07:00
daan
e6bd41ba3f
update arena_id api
2022-11-01 16:26:17 -07:00
daan
9f36808a7f
initial api for heaps restricted to a certain arena
2022-11-01 16:22:51 -07:00
daan
e961ef705e
merge arena_id from dev
2022-11-01 14:16:49 -07:00
daan
fe2d5aa8ff
initial work on heaps restricted to specific arena's
2022-11-01 14:00:20 -07:00
daan
3f122692eb
Merge branch 'dev' into dev-slice
2022-10-31 11:01:10 -07:00
daan
698bb2cae7
split out _mi_page_try_use_delayed_free for contention reduction (issue #630 )
2022-10-31 11:01:01 -07:00
daan
4442fda895
Merge branch 'dev' into dev-slice
2022-10-31 10:35:05 -07:00
daan
7bef5f5f5b
reduce contention on the delayed_free lock; see issue #630
2022-10-31 10:34:55 -07:00
daan
c128cf69be
fix alignment_max for 32-bit systems (unfortunately, we need to include stdint.h now)
2022-10-30 19:47:54 -07:00
daan
66525ccae3
merge from dev-track
2022-10-30 14:31:21 -07:00
daan
886fd7d1b8
add cmakefile MI_VALGRIND option
2022-10-30 12:49:29 -07:00
daan
b48040e20a
set pages to noaccess explicitly for valgrind precision
2022-10-30 12:23:11 -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
bc8f23aa0d
rename track macros to lowercase
2022-10-29 10:44:10 -07:00
daan
6eeb81ee05
initial progress on valgrind integration
2022-10-28 19:54:56 -07:00
Daan Leijen
cacb387a61
Merge branch 'dev' into dev-slice
2022-04-20 17:34:56 -07:00
Daan Leijen
864e4be5ce
add is_aligned check
2022-04-20 17:33:31 -07:00
Daan Leijen
83d84b8703
increase max alignment limit to 16MiB (issue #576 )
2022-04-20 09:54:24 -07:00
Daan Leijen
413141ae29
merge from dev
2022-04-19 19:55:03 -07:00
Daan Leijen
7bc602ebb4
redefine mi_likely/mi_unlikely to work with C++ 20 [[likely]] attributes
2022-04-19 19:50:06 -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
f4744bd192
fix further annotation warnings for vs2022
2022-04-19 17:35:07 -07:00
Daan Leijen
ca0bac743d
maintain backward compatible option order
2022-04-14 16:10:36 -07:00
Daan Leijen
b86bbbff00
merge from dev
2022-04-14 16:07:57 -07:00
Daan Leijen
f87cba9bd8
add max segment reclaim as an option
2022-04-14 16:05:49 -07:00
Daan Leijen
7e492f4420
merge from dev
2022-04-09 15:07:07 -07:00
Daan Leijen
6c91c75b14
remove thread local segment cache
2022-04-09 14:33:20 -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 Leijen
5c7ada4b20
Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev
2022-04-08 16:37:08 -07:00
Daan Leijen
2d8f13fb93
Merge branch 'dev-slice' of https://github.com/microsoft/mimalloc into dev-slice
2022-04-08 14:46:33 -07:00
Daan
131b62283b
Merge branch 'dev' into dev-slice
2022-04-08 14:10:08 -07:00
Daan
b7677b6f84
fix atomic warnings on clang14 (issue #571 )
2022-04-08 14:09:38 -07:00
Daan Leijen
6431176f4e
Merge branch 'dev' into dev-slice
2022-04-07 19:09:39 -07:00
Daan Leijen
3c7ce7d3c6
improve mi_realloc codepath
2022-04-07 19:09:31 -07:00
Daan Leijen
332346b685
remove unneeded MI_HUGE_OBJ_SIZE_MAX
2022-04-07 10:38:31 -07:00
Daan
18c1891708
Merge branch 'dev' into dev-slice
2022-02-22 16:46:06 -08:00
Daan
db87d6a99c
add delete nothrow variants for aligned deletion as well (see #551 )
2022-02-22 13:49:39 -08:00
Daan
3c669a70f3
Merge pull request #551 from sicherha/override-nothrow-delete
...
Fix compatibility with GNU libstdc++ < 9
2022-02-22 13:44:01 -08:00
Christoph Erhardt
096b9015dc
Fix compatibility with GNU libstdc++ < 9
...
So far, mimalloc does not override the `nothrow` variants of the
`delete` operator because it assumes that their implementation in the
C++ standard library redirects to the default `delete` operators. This
is not the case for GNU libstdc++ < 9, where `std::free()` is called
directly.
This issue might be the cause for the crashes reported in #261 .
Upstream bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68210
This commit ensures that the `nothrow` `delete` operators are properly
overridden by mimalloc.
2022-02-22 21:30:23 +01:00
Daan
10da1af59b
merge from dev
2022-02-14 16:48:30 -08:00
Daan
ec2265486e
bump version for further development
2022-02-14 16:47:57 -08:00