1616 Commits

Author SHA1 Message Date
daan
5ad06f9997 fix compiler warning on unused parameter (issues #251) 2022-11-02 09:50:49 -07:00
daan
2d3f0e5b7a fix align5 test 2022-11-01 16:34:17 -07:00
daan
ad1da7cfc8 fix warnings 2022-11-01 16:29:10 -07:00
daan
e6bd41ba3f update arena_id api 2022-11-01 16:26:17 -07:00
daan
0a691ca68e fix off by one in arena id 2022-11-01 14:05:04 -07:00
daan
fe2d5aa8ff initial work on heaps restricted to specific arena's 2022-11-01 14:00:20 -07:00
daan
65eb5c65ec relax restriction of size to be an integral multiple of the alignment in 'alloc_aligned' as too many programs need this; see PR #584 2022-10-31 16:07:29 -07:00
daan
3ad4639aea fix atomic lib reference, see PR #586 2022-10-31 15:53:36 -07:00
daan
7cb1fdc44e nicer style for pc_libraries 2022-10-31 15:49:04 -07:00
daan
4dcd7e6842 fix version number in pc-config 2022-10-31 15:47:00 -07:00
Daan
907d04c27c
Merge pull request #595 from eli-schwartz/pkg-config
cmake: add pkg-config file
2022-10-31 15:42:08 -07:00
Daan
4c241139e9
Merge pull request #588 from TApplencourt/dev
Add support for IntelLLVM
2022-10-31 15:32:31 -07:00
daan
d8dd297974 add cmake option MI_WIN_REDIRECT to be able to explicitly disable linking with mimalloc-redirect on windows; always OFF on ARM, fixes issue #591 and #590 2022-10-31 15:26:21 -07:00
daan
c4663463d1 add mi_cdecl to functions to avoid errors when compiling with a different calling convention, see PR #592 2022-10-31 12:16:34 -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
7bef5f5f5b reduce contention on the delayed_free lock; see issue #630 2022-10-31 10:34:55 -07:00
daan
bdc9dc3e4e update vs project for valgrind 2022-10-31 10:12:13 -07:00
daan
751e456767 possible fix for warning in issue #635 2022-10-31 08:34:20 -07:00
daan
0a8d7d98d8 fix valgrind link 2022-10-30 19:18:02 -07:00
daan
74117d329d fix realloc memory tracking in valgrind 2022-10-30 19:00:54 -07:00
daan
0ea5235cd1 update readme for valgrind 2022-10-30 14:55:32 -07:00
daan
72c4f0d2ab update readme 2022-10-30 14:53:11 -07:00
daan
640376a500 update readme 2022-10-30 14:52:26 -07:00
daan
74d002b61c better cmake process for MI_VALGRIND 2022-10-30 14:20:35 -07:00
daan
05a75758dd fix tests 2022-10-30 14:07:41 -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
6e11a054a4 further improve precision of malloc/free tracking in valgrind 2022-10-30 12:03:14 -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
c61b365e76 valgrind works on test-stress 2022-10-29 11:51:04 -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
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
Eli Schwartz
eb97236652
cmake: add pkg-config file
pkg-config allows using the library in build systems that are not cmake,
by exporting the same information from the cmake -config files in a
buildsystem-neutral format.

Fixes #16
2022-06-19 14:45:44 -04:00
Thomas Applencourt
8cb6ba2221 add support for IntelLLVM 2022-06-06 16:18:33 +00:00
Daan Leijen
eb29d6b06f fix warning on windows 2022-05-21 10:21:38 -07:00
Daan Leijen
864e4be5ce add is_aligned check 2022-04-20 17:33:31 -07:00
Daan Leijen
d9f6ab58c5 comments 2022-04-19 20:16:49 -07:00
Daan Leijen
f76a678c04 fix mi_likely macro in debug build 2022-04-19 19:59:45 -07:00
Daan Leijen
cea47b8560 compile with /Zc:__cplusplus in vs2022 2022-04-19 19:56:53 -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
d69d4c861f add zero parameter to primitive allocation to improve codegen for calloc etc 2022-04-19 18:32:35 -07:00
Daan Leijen
9d69e3ed06 fix further annotation warnings for vs2022 2022-04-19 17:36:04 -07:00
Daan Leijen
f4744bd192 fix further annotation warnings for vs2022 2022-04-19 17:35:07 -07:00
Daan Leijen
84126e8dc0 add vs2022 solution 2022-04-19 11:04:05 -07:00
Daan Leijen
e0bb797633 fix position of mi_decl_nodiscard attributes 2022-04-19 11:00:49 -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
e1b27a0fc2 fix used size field when visiting heap blocks 2022-04-19 09:38:29 -07:00
Daan Leijen
8d6a9df752 update windows pipeline to 2022 v1.7.6 2022-04-14 16:47:43 -07:00
Daan Leijen
45044da101 do not turn on C++ compilation on msvc by default 2022-04-14 16:43:10 -07:00
Daan Leijen
85e89a33b1 update readme 2022-04-14 16:32:08 -07:00
Daan Leijen
0b72d8a2ef update readme for v1.7.6 release 2022-04-14 16:28:05 -07:00
Daan Leijen
ca0bac743d maintain backward compatible option order 2022-04-14 16:10:36 -07:00
Daan Leijen
f87cba9bd8 add max segment reclaim as an option 2022-04-14 16:05:49 -07:00
Daan Leijen
fed9b254a1 extra check in VirtualFree for Windows on mi_os_mem_free 2022-04-14 15:42:13 -07:00
Daan Leijen
9afdf762a6 fix c++ compilation warning for an unused parameter 2022-04-10 12:55:59 -07:00
Daan Leijen
2ab70f3c84 remove ifdefs around mi_os_aligned_hint 2022-04-10 12:55:36 -07:00
Daan Leijen
f4b7ea9e9e fix compile warnings 2022-04-09 16:20:27 -07:00
Daan Leijen
96bf3a8039 fix warning 2022-04-09 16:16:11 -07:00
Daan Leijen
c825851404 define MEM_EXTENDED_PARAMETER structure ourselves on Windows in order to compile with older SDK's 2022-04-09 15:59:05 -07:00
Daan Leijen
faca422b71 fix msvc warnings at level 4 2022-04-09 14:48:30 -07:00
Daan Leijen
6c91c75b14 remove thread local segment cache 2022-04-09 14:33:20 -07:00
Daan Leijen
016b2ad535 nicer heap walk test 2022-04-09 14:08:27 -07:00
Daan Leijen
adc8b3187c fix Windows C++ compilation in combination with dynamic overriding by preferring RtlGenRandom 2022-04-09 13:48:16 -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
674ee63fa7
Merge pull request #548 from Biswa96/strict_prototypes
Fix strict function prototype warnings
2022-04-08 14:33:25 -07:00
Daan
588f327f6a
Merge pull request #563 from devnexen/cpp_override_fix
c++ operators override multiple definitions fix.
2022-04-08 14:31:46 -07:00
Daan
324242e0e4
Merge pull request #553 from romange/Pr2
Fix wrong reporting of area used bytes
2022-04-08 14:25:13 -07:00
Daan
b7677b6f84 fix atomic warnings on clang14 (issue #571) 2022-04-08 14:09:38 -07:00
daan
185f296513 improve atomic operations for the thread metadata cache 2022-04-07 20:26:35 -07:00
daan
6e5788d076 add small cache for thread metadata for programs that create/destroy many OS threads 2022-04-07 20:17:48 -07:00
Daan Leijen
3c7ce7d3c6 improve mi_realloc codepath 2022-04-07 19:09:31 -07:00
Daan
25ecec3c3b fix for dynamic overriding on macOS; add warning about C++ compilation (as that does not interact well with interpose) 2022-04-07 16:12:16 -07:00
Daan
82dd094ec4 fix assertion failure with mixed pointer errors 2022-04-07 13:02:40 -07:00
Daan Leijen
a799b214a2 fix issue with log messages sometimes failing on Windows if the console cannot be locked; use direct console output now 2022-04-07 12:33:25 -07:00
Daan Leijen
58af58d084 fix debug edit 2022-04-07 10:21:49 -07:00
Daan Leijen
049d37c349 fix formatting flags for warning messages 2022-04-07 10:19:26 -07:00
Daan Leijen
5613ffb508 use heap_stat_increase macros when possible 2022-04-04 17:38:28 -07:00
Daan Leijen
72ab945e28 improve fallback code for aligned allocation on Windows 2022-04-02 11:38:07 -07:00
Daan Leijen
d1db0ffb72 when MIMALLOC_VERBOSE is set, the all errors/warnings are shown 2022-04-02 11:26:56 -07:00
Daan Leijen
3fa53244c2 add better warning messages if aligning or freeing OS memory fails 2022-04-02 10:11:36 -07:00
Daan Leijen
b2598e7ee4 allow setting MIMALLOC_MAX_ERRORS/WARNINGS to -1 to get unlimited error/warning messages 2022-04-02 09:46:25 -07:00
Daan Leijen
73012bf654 add thread id to trace, warning, and error messages 2022-04-02 09:29:09 -07:00
David Carlier
c027c27c0a update the docs to clarify the proper C++ override usage. 2022-03-30 18:45:22 +01:00
Roman Gershman
1f8138a4dc Fix wrong reporting of area used bytes
Fixes #552
2022-02-28 09:26:00 +02:00
daan
ccf117c43d update minject to use mimalloc.dll by default (issue #542) 2022-02-23 10:04:25 -08:00
Daan
f1d7f972a9
Merge pull request #550 from devnexen/old_apple_build_fix
fix build on older macOs releases, aligned_alloc only from catalina.
2022-02-22 16:42:45 -08:00
David CARLIER
40e0507a59 fix build on older macOs releases, aligned_alloc only from catalina.
closes #549
2022-02-22 22:01:26 +00:00
Daan
3040da1cb8 add delete nothrow variants for aligned deletion as well (see #551) 2022-02-22 13:52:31 -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
Biswapriyo Nath
cf89fc6338 Fix strict function prototype warnings
Fix warning: function declaration isn't a prototype [-Wstrict-prototypes]
In C int foo() and int foo(void) are different functions.
2022-02-18 12:06:08 +05:30
Daan
ec2265486e bump version for further development 2022-02-14 16:47:57 -08:00