150 Commits

Author SHA1 Message Date
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
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