177 Commits

Author SHA1 Message Date
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
a6aa905731 make sure older cmake versions work for build 2019-07-14 14:47:59 -07:00
Daan
36a16ca7eb
Merge pull request #99 from linkwk7/fix_typo_in_comments
Fix typo in comment
2019-07-14 14:33:12 -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
4e6249fd12 azure pipelines better display name, fix c++ compiler 2019-07-10 22:44:36 -07:00
daan
3bef93698b remove publish test, add clang config 2019-07-10 22:41:53 -07:00
daan
6577e0e9fd add test results task to azure pipeline 2019-07-10 22:35:39 -07:00
daan
67bed283aa fix azure pipeline script; remove mapping value 2019-07-10 22:23:18 -07:00
daan
9fabd1ea01 fix azure pipeline script 2019-07-10 22:22:44 -07:00
daan
a5179d1125 fix azure pipeline script 2019-07-10 22:21:08 -07:00
daan
df8f9fc59c Add test to build pipeline 2019-07-10 22:13:34 -07:00
daan
34a4de01b1 add Visual Studio support for new stress target 2019-07-10 21:59:44 -07:00
daan
12d3297db5 add allocator stress test to the test targets 2019-07-10 21:52:28 -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 v1.0.3 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
8ef37e6c0b update atomic exchange memory model annotations for unix v1.0.2 2019-07-09 14:56:43 -07:00
daan
cf8815854c fix cmake issues with OBJECT install 2019-07-09 11:32:24 -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
5f607e0f58 update documentation 2019-07-08 17:15:34 -07:00
daan
d656f3e339 merge with master 2019-07-08 15:45:37 -07:00
daan
fc35f6069a Add NO_SYSTEM_ENVIRONMENT_PATH and example of linking with the object file; pr #67 2019-07-08 13:37:41 -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
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
Daan
1125271c27
Merge pull request #74 from ErnyTech/patch-1
Suppressed the new GCC 9 -Wmissing-attributes warnings
v1.0.0 show
2019-07-03 18:52:55 -07:00
daan
24feb5e305 update Visual Studio project to not use _MBCS by default, issue #59 2019-07-03 18:49:48 -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