Daan
60e9d3f69d
Merge pull request #81 from devnexen/mac_large_page_2mb
...
initial support of 2MB pages on Mac
2019-07-15 10:56:53 -07:00
daan
7ba6192dd5
always pass commit flag to large page allocation on windows
2019-07-15 09:46:58 -07:00
daan
c4426e1555
add sized delete to windows override
2019-07-14 20:28:33 -07:00
daan
461b8aed80
more complete C++ support for compliance and performance
2019-07-14 19:56:33 -07:00
daan
49ceb4d018
refactor delayed_free code
2019-07-14 16:48:53 -07:00
daan
5ad2effb39
use standard compliant compilation of the thread_free atomic field
2019-07-14 16:20:27 -07:00
daan
2cf419c9bc
Merge branch 'master' into dev
2019-07-14 14:50:39 -07:00
daan
adf65a100e
be less aggressive in page reuse to reduce memory footprint
2019-07-14 14:13:47 -07:00
daan
e60a5db908
fix cache eviction of smaller segments
2019-07-14 12:52:58 -07:00
daan
42cf5e1580
reintroduce support for medium size pages
2019-07-12 20:11:39 -07:00
linkwk7
d4eabf33b6
Fix typo in comments
2019-07-12 22:05:07 +08:00
daan
1fdb4b288f
more eager handling of non-local frees
2019-07-11 15:21:57 -07:00
daan
72a39c0bb1
initial fix for delayed freeing of huge pages transferred between threads
2019-07-11 13:30:40 -07:00
daan
a6c5e2cffd
Merge branch 'master' into dev
2019-07-09 23:49:29 -07:00
daan
95afe453f4
fix compilation warning on windows, issue #94
2019-07-09 23:49:12 -07:00
daan
09195b6a5f
add commit charge statistics on windows
2019-07-09 21:05:09 -07:00
daan
ad9db3a633
fix leak of huge segments in caches
2019-07-09 20:35:07 -07:00
daan
ee3f2059dc
fix leak in segment cache freeing
2019-07-09 20:32:54 -07:00
daan
76023ca45f
fix path max in realpath on unix (pr #69 )
2019-07-08 17:43:10 -07:00
daan
8203f3dcfa
add full heap aligned allocation api (issue #52 ); remove rezalloc (issue #63 ); add mi_version
2019-07-08 17:17:07 -07:00
daan
d656f3e339
merge with master
2019-07-08 15:45:37 -07:00
daan
56bdb2c2f3
add more const declarations (pr #79 )
2019-07-08 12:00:59 -07:00
daan
7f0137a617
Fix compilation error with MSVC C++
2019-07-07 21:59:53 -07:00
daan
7e743dfb58
fix C++ compilation warnings with VisualStudio 2017
2019-07-07 18:52:12 -07:00
daan
c3528203b5
fix compilation with C++, fix overrides in C++ to adhere to the spec (issue #26 )
2019-07-07 18:11:21 -07:00
daan
dd59a917ce
Expose mi prefixed public standard implementations of various posix, unix, and c++ allocation functions. See issue #75
2019-07-07 13:44:33 -07:00
David Carlier
a192d6893e
initial support of 2MB pages on Mac
2019-07-05 20:05:04 +01:00
daan
5ff037f8f8
add capability to override multiple entry points in windows dynamic override; and stop patching msvcrt, just crtbase
2019-07-04 12:06:15 -07:00
daan
74dc95c1d6
fix crash triggered in release mode with windows dynamic overriding
2019-07-04 12:04:56 -07:00
daan
3039dbfcdd
for windows dynamic override, add standard api override and stop patching new/delete (for now)
2019-07-04 09:29:33 -07:00
daan
6abdc5f5a3
do not enable verbose by default in the debug build; add trace messages for verbose level 2
2019-07-04 09:28:22 -07:00
daan
069208b184
Possible fix to windows dynamic override calling register onexit directly
2019-07-03 19:47:44 -07:00
Ernesto Castellotti
8c2f52dee8
Suppressed the new GCC 9 -Wmissing-attributes warnings
...
With the new release of the GCC 9 compiler the operation of -Wmissing-attributes warnings has also been extended to aliases: this causes a warnings if the alias has less attributes than its target.
This warnings does not actually indicate a problem in the mimalloc code and you could safely ignore it by adding "-Wno-missing-attributes" to the CFLAGS, however I was not going to use a "hack" to hide the warning when compiling alloc-override .c
So this patch solves the problem simply by using an attribute (present only in GCC> = 9) that copies the attributes of another function, since this attribute is exclusive only for GCC 9 (or later) I had to use a simple precompiler instruction to add the "copy" attribute only with GCC 9.
2019-07-04 00:21:15 +02:00
daan
c3a5f84ad3
rewrite of low-level OS (aligned) allocation to better handle large pages and aligned allocation
2019-07-03 14:52:32 -07:00
daan
7b4f3591f0
fix dynamic override when both msvcrt and ucrtbase are loaded in any order using priorities
2019-07-03 14:23:30 -07:00
daan
9390642879
fix windows dynamic malloc overried when both ucrtbase and msvcrt are loaded; also fix virtualalloc2 on 32-bit
2019-07-03 13:00:43 -07:00
daan
158705815e
fix aligned_ensured bug, trie inc bug, stats in the OS module
2019-07-03 00:16:27 -07:00
daan
10a29f17c8
more conservative shrinking of memory
2019-07-02 22:49:12 -07:00
daan
5c0ffe9865
merge back changes to OS module from 'dev-exp'
2019-07-02 17:17:03 -07:00
daan
42efe51184
Merge branch 'master' into dev
2019-07-02 16:22:55 -07:00
Daan
f06931ba7e
Merge pull request #65 from devnexen/mi_mmap_prot_max_support
...
Using BSD new PROT_MAX mmap to block page address wider promotions
2019-07-02 16:21:13 -07:00
daan
b0ceb4a44c
forward strdup, strndup, and realpath too
2019-07-02 15:56:01 -07:00
daan
b3f533167b
Merge branch 'master' into dev
2019-07-02 15:52:26 -07:00
daan
7dc3a5a18e
Merge branch 'master' into dev
2019-07-02 15:44:48 -07:00
daan
04b1fd7b8d
Fix macro spelling
2019-07-02 12:57:12 -07:00
daan
4326bda2c7
Fix main heap cookie on macOS
2019-07-02 12:53:53 -07:00
daan
aeff1db32b
Fixing interpose on macOS
2019-07-02 12:49:28 -07:00
Daan
825d00a001
Merge branch 'master' into indent-override
2019-07-02 09:03:32 -07:00
daan
d35fc6cdc4
PR#66 by kickunderscore to ensure consistent small block alignment
2019-07-02 08:46:50 -07:00
David Carlier
bed746d7d6
Using BSD new PROT_MAX mmap to block page address wider promotions
2019-07-01 06:56:16 +00:00