daan
9062f39764
enable interpose separate from zones on macOS
2020-02-08 20:08:52 -08:00
daan
03b363a1c2
first working tls on macOS using interpose; still slow
2020-01-29 22:46:44 -08:00
daan
4faf412f53
move 'memory.c' to 'region.c'
2020-01-25 13:28:49 -08:00
daan
6fb434a99b
use -fvisibility=hidden on clang as well
2020-01-23 10:31:47 -08:00
daan
9d7ac76d93
fix compilation under Intel C compiler (icc)
2020-01-19 18:35:45 -08:00
daan
dbe721de39
dont compile test-stress.c as C++ code (or we get atomic compilation errors)
2020-01-17 15:45:12 -08:00
daan
f4ee1760b8
Suppress C source compiled as C++ warning on clang
2020-01-17 15:39:41 -08:00
daan
ba87a39d9f
updated random cookie generation using OS primitives and chacha20
2019-12-22 19:37:49 -08:00
daan
6568059cc6
merge from dev
2019-11-21 16:28:28 -08:00
daan
74dbfc30be
improved security by encoding NULL values; double free mitigation on by default; more precise free list corruption detection
2019-11-21 15:21:23 -08:00
Daan Leijen
56b9fac4bf
merge from dev
2019-11-20 13:31:04 -08:00
Daan Leijen
dccffea662
fix pr #173 by @zerodefect to use case-insensitive matching of the build type; also use MI_DEBUG_FULL option (instead of MI_CHECK_FULL)
2019-11-14 11:01:05 -08:00
daan
17ade3fca5
merge from dev
2019-11-13 17:52:20 -08:00
daan
d4f54dcf30
remove numaif dependency on linux
2019-11-12 10:37:15 -08:00
Daan Leijen
f0e02bab03
pr #168 by @zerodefect to update the install location
2019-11-08 12:22:03 -08:00
daan
6ccfb5a93e
merge from dev
2019-11-07 11:00:50 -08:00
daan
56887aeb2f
add MI_SECURE_FULL=ON as a cmake option to include double free mitigation
2019-11-07 10:59:45 -08:00
daan
378716c467
refactor and improve atomic bitmap usage
2019-11-07 10:26:52 -08:00
daan
9d6a5acb22
fix unix build warnings
2019-11-03 13:34:54 -08:00
daan
2c12d7f223
optimized numa calls; better Linux support
2019-11-01 22:01:52 -07:00
daan
2d10c78587
fix linux compilation
2019-11-01 20:19:00 -07:00
daan
2affdbbd2e
stronger secure mode when defining MI_SECURE=4: checks for double free, corrupted free list, and invalid pointer frees. Performance is impacted but not too much -- more perf testing is needed
2019-10-18 18:11:04 -07:00
daan
3a697abf1f
set SONAME and use symbolic link at install (issue #9 and #58 )
2019-09-15 20:26:30 -07:00
daan
33f4ec4ac6
put new-delete overrides in separate header file
2019-09-15 19:19:00 -07:00
daan
efe083a548
Merge branch 'master' into dev
2019-09-09 08:06:35 -07:00
Antoine Pitrou
b69a4b52c0
Fix #147 : provide CMake option for alternate TLS mechanism
...
This allows use of dlopen() with mimalloc on Unix.
2019-09-04 12:02:16 +02:00
daan
d7982f8733
make output name not depend on build type capitalization (issue #144 )
2019-09-02 09:57:39 -07:00
daan
8ef8ddecc5
Merge branch 'master' into dev
2019-09-02 09:53:34 -07:00
Antoine Pitrou
cbc392434c
Add an option to disable building tests
2019-08-28 17:26:56 +02:00
daan
cf7bb70117
Merge branch 'master' into dev
2019-08-27 10:01:20 -07:00
Jim Huang
99e071cf2c
Link with -lrt for older glibc
...
Quoted from Linux Programmer's Manual (2017-09-15):
#include <time.h>
int clock_gettime(clockid_t clk_id, struct timespec *tp);
Link with -lrt (only for glibc versions before 2.17).
This patch adds additional checks for librt availability and append
target_link_libraries accordingly. librt is absent on macOS.
Fixed #139
2019-08-24 21:24:56 +08:00
daan
62de76a327
fix C++ compilation of stress test
2019-08-12 08:55:20 -07:00
daan
7b105c4810
improve layout of page for x64
2019-08-11 10:31:00 -07:00
daan
ab022e4271
fix mimalloc-redirect path on windows cmake build
2019-07-23 15:00:13 -07:00
daan
c02a0c9b49
ensure cmake uses C++ compilation with MSVC
2019-07-23 15:00:13 -07:00
daan
f2f45ad5df
fix cmake build on windows
2019-07-23 15:00:13 -07:00
daan
189ad0f81d
small optimizations, use bitwise aligne
2019-07-23 15:00:13 -07:00
daan
306a542336
add mimalloc-override header file and use C++ compilation with msvc
2019-07-18 20:28:29 -07:00
daan
ae1794a852
remove accidental test in cmake
2019-07-15 13:36:12 -07:00
daan
ea9dbd1036
set better default options for performance
2019-07-15 13:19:26 -07:00
daan
8dc0b5345b
Merge branch 'dev' into dev-exp
2019-07-14 16:50:38 -07:00
daan
a6aa905731
make sure older cmake versions work for build
2019-07-14 14:47:59 -07:00
daan
f844665c9f
merge from dev-win
2019-07-10 22:57:37 -07:00
daan
12d3297db5
add allocator stress test to the test targets
2019-07-10 21:52:28 -07:00
daan
35b590de21
Merge branch 'dev' into dev-exp
2019-07-09 15:12:18 -07:00
daan
cf8815854c
fix cmake issues with OBJECT install
2019-07-09 11:32:24 -07:00
daan
493dfc4b82
merge with dev
2019-07-08 15:42:42 -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
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
8cb36c62e6
merge with dev branch
2019-07-02 16:44:35 -07:00
daan
c465f6ae35
Merge branch 'master' into dev
2019-07-02 16:32:52 -07:00
daan
06bcea1761
Initial commit of separate memory region layer and improved large OS pages support, see 'memory.c'
2019-07-02 07:23:24 -07:00
Jan Christoph Uhde
408b76d103
make includes available for projects that add mimalloc as subdirectory
2019-07-02 11:12:04 +02:00
myd7349
a5b22af7ec
fix object install error
2019-06-29 21:53:47 +08:00
daan
ae47a2b13e
Add initial testing file, test target, and readme about testing, issue #10 , pr #57
2019-06-27 13:36:19 -07:00
Jim Huang
256eb97849
Avoid unnecessary symbol exposure with ELF-based systems
...
GCC's default visibility is "public" but can be changed to
"hidden" with the argument "-fvisibility=hidden".
Tested with x86_64 / Ubuntu Linux 18.04 LTS:
[before]
$ nm -g -C libmimalloc.so | grep "T " | wc -l
142
[after]
$ nm -g -C libmimalloc.so | grep "T " | wc -l
93
This patch does not change the build on macOS.
2019-06-25 10:00:22 +08:00
daan
91cb4cee8a
use MI_ prefix for all options to better support subdirectory cmake, issue #3
2019-06-24 18:54:03 -07:00
Daan
30b8624d6e
Merge pull request #22 from myd7349/win32-cmake-patch
...
Fix CMake configuration on Windows
2019-06-24 18:19:49 -07:00
myd7349
b7c8d8f007
Fix CMake configuration on Windows
...
- Do not define MI_MALLOC_OVERRIDE when built as a static library
- Use different output names for shared lib and static lib
2019-06-25 08:02:17 +08:00
Jim Huang
a667971cbf
Apple rebrands "OS X" as "macOS"
...
In 2012, with the release of OS X 10.8 Mountain Lion, the name of the
system was shortened from Mac OS X to OS X. In 2016, with the release
of macOS 10.12 Sierra, the name was changed from OS X to macOS to
streamline it with the branding of Apple's other primary operating
systems: iOS, watchOS, and tvOS.
Reference: https://en.wikipedia.org/wiki/MacOS
2019-06-24 10:15:50 +08:00
daan
b3212eef72
add cmake file
2019-06-19 16:52:36 -07:00