Commit graph

125 commits

Author SHA1 Message Date
Daan Leijen
3c7ce7d3c6 improve mi_realloc codepath 2022-04-07 19:09:31 -07:00
Daan
82dd094ec4 fix assertion failure with mixed pointer errors 2022-04-07 13:02:40 -07:00
Daan
3cf2b629f9 fix compiler error on older macOS due to const atomic (issue #540) 2022-01-31 12:47:50 -08:00
Daan
a4303c6931 fix link error to _mi_bin with C++; issue #533 2022-01-22 10:08:16 -08:00
Daan
4fc63358a6 update copyright year 2022-01-10 12:01:26 -08:00
daan
9183b1eec0 remove experiment with unsafe_free_with_threadid 2021-11-23 19:04:41 -08:00
daan
3548d8d716 add noinline to avoid warnings 2021-11-23 18:39:03 -08:00
daan
8b60a5ab70 add mi_unsafe_free_with_threadid and mi_get_current_threadid() 2021-11-23 17:59:27 -08:00
Daan
07253fb44c emit error message if out-of-memory in C++ 2021-11-14 15:33:04 -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
e853f530a0 add noexcept attributes to improve mi_free codegen 2021-11-04 18:54:57 -07:00
Daan
74efd6ddac use load relaxed in mi_free for better code on M1 2021-11-02 21:50:54 -07:00
Daan
ea46430016
Merge pull request #468 from tiran/default_source
Define _DEFAULT_SOURCE for syscall and realpath
2021-10-19 09:40:21 -07:00
Daan
1917fbd847
Merge pull request #467 from tiran/strict_prototypes
Fix strict function prototype warnings
2021-10-19 09:35:40 -07:00
Daan
d49b3a95a2
Merge pull request #464 from JJL772/master
Fix `_mi_error_message` printf formatting error
2021-10-19 09:28:20 -07:00
Christian Heimes
afbcf20f24 Define _DEFAULT_SOURCE for syscall and realpath
Define ``_DEFAULT_SOURCE`` in ``random.c`` and ``alloc.c``. The macro
is required for ``syscall()`` and ``realpath()``. Other files like
``os.c`` already define the macro.

Signed-off-by: Christian Heimes <christian@python.org>
2021-10-19 15:07:54 +02:00
Christian Heimes
7c73e3996d Fix strict function prototype warnings
Fix warning ``warning: function declaration isn’t a prototype`` when
building mimalloc with ``-Wstrict-prototypes`` flag. In C argumentless
functions should be declared as ``func(void)``.

Reproducer:
```shell
$ cmake ../.. -DCMAKE_C_FLAGS="-Wstrict-prototypes"
$ make VERBOSE=1
```

Co-authored-by: Sam Gross <colesbury@gmail.com>
Co-authored-by: Neil Schemenauer <nas@arctrix.com>
Signed-off-by: Christian Heimes <christian@python.org>
2021-10-19 10:48:26 +02:00
Daan Leijen
0fb61c9eaa do not call exit if try handler fails but use abort instead 2021-10-18 16:25:10 -07:00
Jeremy Lorelli
c21b6df51e Fix missing parameter in mi_free error message 2021-10-05 08:41:03 -07:00
Daan Leijen
c8b5b74500 improve warnings 2021-06-07 17:51:27 -07:00
Daan Leijen
4ba32c3160 Revert "make all includes relative"
This reverts commit 1feb6123d9.
2021-06-07 16:47:57 -07:00
Daan Leijen
1feb6123d9 make all includes relative 2021-06-06 20:31:36 -07:00
Jim Huang
5940d3bcce Bump copyright date
Each source file has been changed according to relevant Git activities.
2021-04-24 16:35:11 +00:00
Daan Leijen
71ac98ab08 rename <Windows.h> include to <windows.h> for mingw compatibility (see pr #367) 2021-02-22 13:04:11 -08:00
Daan Leijen
35c1fc2be9 limit memcpy as rep stosb to windows where the cpu supporst FSRM; add mi_memcpy_aligned for machine-word aligned copy. see issue #201 and pr #253 2021-01-30 14:33:46 -08:00
Daan
9b966c3492
Merge pull request #253 from haneefmubarak/memcpy-rep-movsb-windows-201
resolve #201 with a platform-selective REP MOVSB implementation
2021-01-29 16:00:00 -08:00
Daan
b759bcf5c7
Merge pull request #329 from asl/mi_stat_agg
Unify statistics collection
2021-01-29 12:52:29 -08:00
unknown
745cf1e2f5 fix build on ghc4.8 (issue #330) 2020-12-10 12:33:35 -08:00
Anton Korobeynikov
765fc9c0ca Unify statistic collection:
- For MI_STAT == 0 no allocation stats are collected
  - For MI_STAT == 1 only aggregated values (across normal, large and huge heaps) are collected
  - For MI_STAT == 1 separate per-bin collection for normal heap is done as well
2020-11-11 11:41:39 +03:00
Anton Korobeynikov
00fb89f771 Rename the field 2020-11-11 11:41:33 +03:00
daan
ca13e9cd59 better instruction scheduling for alloc 2020-10-15 19:46:33 -07:00
daan
6279835976 fix unused parameter warning 2020-10-11 13:22:14 -07:00
daan
7114d5424a fix statistics to include padding correctly (issue #301) 2020-10-11 13:14:43 -07:00
daan
44d030ba9d fuse used decrement with test for slightly better codegen 2020-09-24 16:28:25 -07:00
daan
900c97664a merge from dev-atomic 2020-09-03 09:47:01 -07:00
daan
b4825372ab small compilation warning fixes (extra semicolon etc) 2020-08-29 19:30:38 -07:00
daan
ef8e5d18a6 replace atomics with C11/C++ atomics with explicit memory order; passes tsan. Issue #130 2020-07-26 18:01:33 -07:00
daan
a468430772 strengthen memory order of bit operations; insert memory fences 2020-07-26 14:19:30 -07:00
daan
09ade02429 bring inline with C11 atomics; no volatile and cas order of expected/desired 2020-07-25 22:52:27 -07:00
daan
8769082d63 add pointer validity check in debug mode for mi_usable_size/mi_realloc/mi_expand. Issue #269 2020-07-20 14:33:03 -07:00
Haneef Mubarak
429025634e
resolve #201 with a platform-selective REP MOVSB implementation 2020-05-26 16:04:28 -07:00
daan
e31298bdc3 fix compiler warning in secure mode 2020-04-20 18:04:09 -07:00
daan
1116c0df2e fix strnlen do not search beyond n characters, issue #228 2020-04-14 17:42:30 -07:00
daan
69a0846478 add MI_PADDING flag to cmake to supress use of padding in debug mode 2020-04-07 10:01:18 -07:00
Daan
1ece3ff6aa
Merge pull request #220 from cormacrelf/usable_size
Don't call mi_page_usable_size_of with an aligned pointer
2020-04-06 08:05:34 -07:00
Cormac Relf
0047b271f7 Call mi_page_usable_size_of with unaligned block rather than start of aligned memory 2020-04-06 22:50:21 +10:00
daan
ec61224db0 fix padding issue with zero sized allocation (issue #209) 2020-02-18 20:05:30 -08:00
daan
baf08e8d54 fix size check on overflow when padding is enabled in debug mode 2020-02-17 09:59:34 -08:00
daan
f42b8526d0 fix wrong __declspec(restrict) and __attribute__((malloc)) attributes on reallocation functions 2020-02-13 10:36:39 -08:00
daan
f3c47c7c91 improved malloc zone handling on macOSX (not working yet) 2020-02-02 21:03:09 -08:00