Commit Graph

617 Commits

Author SHA1 Message Date
Boris Frolikov 32382e37c7 Implement mi_malloc_backtrace stub and test
Signed-off-by: Boris Frolikov <frolikov.boris@huawei.com>
2022-09-07 12:53:10 +03:00
Timur Valeev 4d7835d4d2 Add check that mimalloc was initialized
Signed-off-by: Timur Valeev <valeev.timur@huawei.com>
2022-08-17 14:20:21 +03:00
Timur Valeev c5f5968099 Implement new malloc synchronization
Signed-off-by: Timur Valeev <valeev.timur@huawei.com>
2022-08-17 14:20:21 +03:00
Timur Valeev b3e8a62d66 Add several tests and mallopt API
Signed-off-by: Timur Valeev <valeev.timur@huawei.com>
2022-08-17 14:20:21 +03:00
Timur Valeev faa6da2371 Add mallinfo
Signed-off-by: Timur Valeev <valeev.timur@huawei.com>
2022-08-17 14:20:21 +03:00
Timur Valeev 671dbe6259 - Add PR_SET_VMA for memory mapped area
- Remove TLS variables from OHOS mimalloc build
- Add mi_malloc_stats_print to mimic malloc_stats_print from jemalloc
- Add mi_stats_mallinfo
- Fix several build errors

Signed-off-by: Timur Valeev <valeev.timur@huawei.com>
2022-08-17 14:20:21 +03:00
Daan Leijen e40bf72011 merge from dev 2022-04-14 16:07:57 -07:00
Daan Leijen b881601e64 add max segment reclaim as an option 2022-04-14 16:05:49 -07:00
Daan Leijen 497e63a75f merge from dev 2022-04-09 15:07:07 -07:00
Daan Leijen ad8b9cb70a remove thread local segment cache 2022-04-09 14:33:20 -07:00
Daan Leijen f86f32524b merge from dev 2022-04-09 13:26:38 -07:00
Daan Leijen 6fdac260e2 add heap walk test 2022-04-08 16:58:32 -07:00
Daan Leijen 1c7db8d060 Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2022-04-08 16:37:08 -07:00
Daan Leijen 2272b3968a Merge branch 'dev-slice' of https://github.com/microsoft/mimalloc into dev-slice 2022-04-08 14:46:33 -07:00
Daan 9d3fce65fd Merge branch 'dev' into dev-slice 2022-04-08 14:10:08 -07:00
Daan c914c438d5 fix atomic warnings on clang14 (issue #571) 2022-04-08 14:09:38 -07:00
Daan Leijen c440725fb1 Merge branch 'dev' into dev-slice 2022-04-07 19:09:39 -07:00
Daan Leijen a226a72b6d improve mi_realloc codepath 2022-04-07 19:09:31 -07:00
Daan Leijen 369608bd22 remove unneeded MI_HUGE_OBJ_SIZE_MAX 2022-04-07 10:38:31 -07:00
Daan 5af3594d22 Merge branch 'dev' into dev-slice 2022-02-22 16:46:06 -08:00
Daan 40c2b72dd6 add delete nothrow variants for aligned deletion as well (see #551) 2022-02-22 13:49:39 -08:00
Daan 0ea27ce2fb 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 912d54dd53 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 c40b0e1e91 merge from dev 2022-02-14 16:48:30 -08:00
Daan 8a117ac536 bump version for further development 2022-02-14 16:47:57 -08:00
Daan 5b4ceefad3 merge from dev 2022-02-14 16:36:03 -08:00
Daan 89012dee46 bump to version x.0.5 2022-02-14 16:34:18 -08:00
daan 2a0ff72e26 increase min commit to 2 mib 2022-02-05 11:21:47 -08:00
daan 2814af99ab add minimal commit size for increased efficiency (decommit fine grained, commit coarse grained) 2022-02-05 10:57:15 -08:00
daan d03c503dbc increase minimal commit size to 8*slice-size and add decommit_extend_delay as option 2022-02-04 16:11:38 -08:00
Daan fc5b9f016f merge from dev 2022-02-03 15:49:27 -08:00
Daan e51d6e2922 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 b3ad2f9d16 Merge pull request #539 from devnexen/obsd_asm_fix
tls revives inline asm for openbsd
2022-02-02 19:45:39 -08:00
Daan f3ab8071ca merge from dev 2022-02-02 19:21:15 -08:00
Daan 41f854962b update documentation on options 2022-02-02 19:19:03 -08:00
Daan 02b622cab8 clean up options 2022-02-02 19:01:41 -08:00
Daan 1a6845f473 decommit in abandoned pages on mi_collect 2022-02-02 17:08:05 -08:00
Daan ff7e240ac8 collect segment cache on mi_collect 2022-02-02 16:17:21 -08:00
David Carlier 0353d1d885 tls revives inline asm for openbsd 2022-01-27 07:01:32 +00:00
Michael Clark 185bffd82e mimalloc-types: amend comment adding medium to list of page kinds 2022-01-19 10:14:08 +13:00
daan b20ad25e2d Merge branch 'dev' into dev-slice 2022-01-10 16:21:15 -08:00
Daan 3b6e28c8e8 Merge pull request #517 from tiran/debug-uninit
Allow overrides of MI_DEBUG memory constants
2022-01-10 16:12:10 -08:00
Daan 3ec1180470 ignore reset_decommits option in the 2.x / dev-slice version 2022-01-10 12:10:18 -08:00
Daan 6ad7ef3294 Merge branch 'dev' into dev-slice 2022-01-10 12:04:47 -08:00
Daan c0e585c070 update copyright year 2022-01-10 12:01:26 -08:00
Daan 2085cca66b Merge branch 'dev' into dev-slice 2022-01-10 11:41:12 -08:00
Daan b437501280 avoid conditional load on macos 2022-01-10 11:40:36 -08:00
Christian Heimes 5bf01c7769 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 da7f0bd393 Merge branch 'dev' into dev-slice 2022-01-01 16:24:41 -08:00
daan 721996d035 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