Commit Graph

663 Commits

Author SHA1 Message Date
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
Daan
19edc880da merge from dev 2022-02-14 16:36:03 -08:00
Daan
817569dfad bump to version x.0.5 2022-02-14 16:34:18 -08:00
daan
8ec83f6945 increase min commit to 2 mib 2022-02-05 11:21:47 -08:00
daan
e11100a137 add minimal commit size for increased efficiency (decommit fine grained, commit coarse grained) 2022-02-05 10:57:15 -08:00
daan
0e2df71829 increase minimal commit size to 8*slice-size and add decommit_extend_delay as option 2022-02-04 16:11:38 -08:00
Daan
cbcee4dce4 merge from dev 2022-02-03 15:49:27 -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
b365623b13 merge from dev 2022-02-02 19:21:15 -08:00
Daan
f515b80093 update documentation on options 2022-02-02 19:19:03 -08:00
Daan
4e65b5018f clean up options 2022-02-02 19:01:41 -08:00
Daan
ccfe005731 decommit in abandoned pages on mi_collect 2022-02-02 17:08:05 -08:00
Daan
bd2ac3c92e collect segment cache on mi_collect 2022-02-02 16:17:21 -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
a74c05c6c0 Merge branch 'dev' into dev-slice 2022-01-10 16:21:15 -08: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
f317225a70 ignore reset_decommits option in the 2.x / dev-slice version 2022-01-10 12:10:18 -08:00
Daan
0842004b61 Merge branch 'dev' into dev-slice 2022-01-10 12:04:47 -08:00
Daan
4fc63358a6 update copyright year 2022-01-10 12:01:26 -08:00
Daan
9f9c77e6b6 Merge branch 'dev' into dev-slice 2022-01-10 11:41:12 -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
3eac4a912c Merge branch 'dev' into dev-slice 2022-01-01 16:24:41 -08: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
72a33c37ef merge from dev 2021-12-18 11:34:02 -08:00
Daan Leijen
78e2e580f8 Merge branch 'dev' into dev-slice 2021-12-18 11:11:54 -08:00
Daan Leijen
89090510bd update alignment tests 2021-12-18 11:11:44 -08:00
daan
30a99e2c51 default to portable C for the thread id on arm 32-bit, issue #495 2021-12-17 13:48:39 -08:00
daan
abbff9c030 merge from dev (MI_ALIGNED_MAX) 2021-12-17 13:23:24 -08:00
daan
89f583a69b improve aligned allocation performance 2021-12-17 13:18:05 -08:00
daan
684c2c82a7 restrict max aligment boundary to prevent bug with segment determination (found by Matthew Parkinson). 2021-12-17 11:40:46 -08:00
daan
2af1db7f3a Merge branch 'dev' into dev-slice 2021-12-15 19:29:04 -08:00
daan
55ccc94707 wip: fix zero init for sbrk; add lock around sbrk 2021-12-15 19:28:34 -08:00
daan
82a0e56f35 fix warning on mi_reallocarr 2021-12-15 18:54:57 -08:00
Daan
4a586808f7 merge 2021-12-15 16:52:36 -08:00
Daan
317093d78b fix Android overriding (issue #381 and PR #487) 2021-12-15 16:48:57 -08:00
Daan
17456f18d1
Merge pull request #489 from devnexen/remove_dfbsd_warning
removes dragonflybsd warning since the api and library overriding wor…
2021-12-15 16:37:56 -08:00
Daan
1b09877bc4
Merge branch 'dev' into netbsd_reallocarr 2021-12-15 16:27:26 -08:00
Daan
523e6d5c9b fix thread slot on arm32 (issue #495) 2021-12-15 16:05:07 -08:00
Daan
d15f5fae64 merge from dev 2021-12-14 18:29:58 -08:00
Daan
69b6b24688 further improvements to installation directories 2021-12-14 18:29:14 -08:00
Daan
c858690dea Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2021-12-12 10:35:19 -08:00
Daan
3a212d1895 fix assembly for mi_tls_slot_set on x32 and x64. Issue #488 2021-12-12 10:35:13 -08:00
David Carlier
d6a56dd99d introduces netbsd's reallocarr overriding.
and couple of tests.
2021-12-01 22:43:13 +00:00
DC
20e37bf7c1 removes dragonflybsd warning since the api and library overriding works, also
for the os doc report purpose.
2021-11-28 08:14:21 +00:00
daan
5f6246b2cb merge from dev 2021-11-23 19:05:19 -08:00
daan
9183b1eec0 remove experiment with unsafe_free_with_threadid 2021-11-23 19:04:41 -08:00
daan
ef6ea7e718 merge from dev 2021-11-23 18:00:12 -08:00
daan
8b60a5ab70 add mi_unsafe_free_with_threadid and mi_get_current_threadid() 2021-11-23 17:59:27 -08:00
daan
f412df7a2b make segment size smaller on 32-bit 2021-11-14 16:52:10 -08:00
daan
5a1c3c8a4a Merge branch 'dev' into dev-slice 2021-11-14 16:48:04 -08:00
daan
85eccf324f Merge branch 'master' into dev 2021-11-14 16:44:54 -08:00
Daan
18fc788201 merge from dev 2021-11-14 15:39:05 -08:00
Daan
4a590b1447 bump version number to 1.7.3 2021-11-14 15:33:56 -08:00
Daan
d67ff1ca9f add include cstdef for std::size_t in C++ 2021-11-14 15:32:43 -08:00
Daan
9c9c3a0311
Merge pull request #485 from devnexen/builtin_overflow_sig_fix
fix spurious build warning with overflow builtins
2021-11-14 14:47:38 -08:00
daan
70547b5f16 fix slice count 2021-11-14 12:09:20 -08:00
daan
32170897dd make decommit size equal to slice size 2021-11-14 11:45:28 -08:00
daan
c46a6f66c6 Merge branch 'dev-slice' into dev-slice-cmask 2021-11-14 11:26:47 -08:00
daan
a4ea2205ba merge from dev 2021-11-14 11:25:51 -08:00
daan
4b0cda2012 take overcommit into account for eager commit delay 2021-11-14 11:23:11 -08:00
daan
511a8996f3 increase commit mask blocks to 2xslice size 2021-11-13 20:12:03 -08:00
daan
12bfd18ba7 fix commit mask for huge segments 2021-11-13 16:15:03 -08:00
daan
627892852c merge from dev-slice 2021-11-13 15:53:57 -08:00
daan
b72065f04b move commit mask functions to segment.c 2021-11-13 15:50:26 -08:00
daan
f1ce9228a1 use size_t for bitmask 2021-11-13 15:29:57 -08:00
daan
88e6b52b88 fix types to size_t 2021-11-13 15:25:51 -08:00
daan
f9597ba7cb merge from dev-slice 2021-11-13 15:18:56 -08:00
daan
721486c82b merge from dev 2021-11-13 14:52:11 -08:00
daan
28896e5b19 prefix UNUSED,KiB,MiB,GiB; add mi_threadid_t type; add mi_ssize_t 2021-11-13 14:46:03 -08:00
daan
9afc253726 add comments, renaming 2021-11-13 14:03:16 -08:00
daan
6ace2fe4e0 Merge branch 'dev-slice' into dev-slice-cmask 2021-11-12 19:04:35 -08:00
daan
5c08f75d69 merge from dev 2021-11-12 19:04:18 -08:00
daan
f9ac60a90f suppres eager commit delay for the first 4 threads 2021-11-12 19:03:20 -08:00
daan
335d554438 merge from dev-slice 2021-11-12 18:38:14 -08:00
daan
b1aff903f5 fix decommit bug 2021-11-11 17:45:41 -08:00