449 Commits

Author SHA1 Message Date
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 6c91c75b14 remove thread local segment cache 2022-04-09 14:33:20 -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 b7677b6f84 fix atomic warnings on clang14 (issue #571) 2022-04-08 14:09:38 -07:00
Daan Leijen 3c7ce7d3c6 improve mi_realloc codepath 2022-04-07 19:09:31 -07: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 ec2265486e bump version for further development 2022-02-14 16:47:57 -08:00
Daan 817569dfad bump to version x.0.5 2022-02-14 16:34:18 -08:00
Daan c6f32c9533 Merge pull request #528 from michaeljclark/mimalloc-fixes
mimalloc-types: amend comment adding medium to list of page kinds
2022-02-02 19:57:50 -08:00
Daan 32da74e032 Merge pull request #539 from devnexen/obsd_asm_fix
tls revives inline asm for openbsd
2022-02-02 19:45:39 -08:00
Daan f515b80093 update documentation on options 2022-02-02 19:19:03 -08:00
David Carlier b1e1b0573c tls revives inline asm for openbsd 2022-01-27 07:01:32 +00:00
Michael Clark 9da8788dae mimalloc-types: amend comment adding medium to list of page kinds 2022-01-19 10:14:08 +13:00
Daan 55b4d5e2b1 Merge pull request #517 from tiran/debug-uninit
Allow overrides of MI_DEBUG memory constants
2022-01-10 16:12:10 -08:00
Daan 4fc63358a6 update copyright year 2022-01-10 12:01:26 -08:00
Daan 4b63c76861 avoid conditional load on macos 2022-01-10 11:40:36 -08:00
Christian Heimes 0353fc38dd Allow overrides of MI_DEBUG memory constants
CPython and Windows CRT debug builds use different values for uninit,
freed, and padding bytes. Make ``MI_DEBUG_*`` constants conditional to
allow embedders to override the constants.

Windows dbgheap:

```
_bNoMansLandFill = 0xFD
_bDeadLandFill   = 0xDD
_bCleanLandFill  = 0xCD
```

Python memory debug

```
PYMEM_CLEANBYTE      0xCD
PYMEM_DEADBYTE       0xDD
PYMEM_FORBIDDENBYTE  0xFD
```

Signed-off-by: Christian Heimes <christian@python.org>
2022-01-05 13:22:47 +01:00
daan 43e5cd2671 revise assembly test for the _mi_threadid(); fix issue #495 with musl libc on arm; test specifically for bionic libc on Android 2022-01-01 15:54:06 -08:00
Daan 6ead2840ec Merge pull request #504 from res2k/tweak-stats-doc
Tweak documentation for mi_heap_area_t::used.
2021-12-20 17:44:52 -08:00
Frank Richter ff3bb5ce7b Tweak documentation for mi_heap_area_t::used.
For microsoft/mimalloc#503.
2021-12-19 14:51:15 +01:00
Daan Leijen 89090510bd update alignment tests 2021-12-18 11:11:44 -08:00