Daan Leijen
4ba32c3160
Revert "make all includes relative"
...
This reverts commit 1feb6123d90f5557a0fc1bc2afc72401e58f8cb0.
2021-06-07 16:47:57 -07:00
Daan Leijen
1feb6123d9
make all includes relative
2021-06-06 20:31:36 -07:00
Daan Leijen
e2c095fad2
fix installation directories on unix to use /lib, /include, /share; fix issues #399 , #223 , and #89
2021-05-21 15:15:50 -07:00
Daan Leijen
34172910e5
fix symlink and --prefix option with delayed CMAKE_INSTALL_PREFIX; fix issue #398
2021-05-21 13:01:11 -07:00
Daan
143cf9c3d6
Merge pull request #400 from mkurdej/redirect32
...
[Windows] Correctly choose 32-bit version of mimalloc-redirect{,32}.dll in CMake.
2021-05-21 12:17:33 -07:00
Daan
a732b762cc
Merge pull request #403 from ArcEarth/master
...
[CMake] Respect CMAKE_INSTALL_PREFIX at install time
2021-05-21 12:16:17 -07:00
Yupeng Zhang
712e7d3de0
[CMake] Respect CMAKE_INSTALL_PREFIX at install time
...
The standard way of cmake install to a destination folder is the following pattern:
```shell
cd <BUILD_DIR>
cmake <SRC_DIR>
cmake --build <BUILD_DIR>
cmake --install <BUILD_DIR> --prefix <INSTALL_DIR>
```
Right now, the `<INSTALL_DIR>` folder passed in cmake --install command is ignored,
and always installed into `C:/Program Files(x86)/...`, which is the default
`CMAKE_INSTALL_PREFIX` value passed at the `cmake <SRC_DIR>` call.
Thus, it is not possible to install the binaries into different folders
without rerun the cmake/build process.
The important thing here is, the cmake variable `CMAKE_INSTALL_PREFIX`
is supposed to be passed at `cmake --install` time with the `--prefix` argument.
In cmake file, `install` with relative path will use that prefix automaticlly.
And it is the best practice to not include CMAKE_INSTALL_PREFIX
in the `install(... DESTINATION )` argument:
```
In particular, there is no need to make paths absolute by prepending
CMAKE_INSTALL_PREFIX; this prefix is used by default if the DESTINATION is a relative path.
```
referenced from: https://cmake.org/cmake/help/latest/command/install.html
2021-05-10 12:01:03 -04:00
Marek Kurdej
acba250e60
[Windows] Correctly choose 32-bit version of mimalloc-redirect{,32}.dll.
2021-05-04 11:26:07 +02:00
Daan Leijen
73c339235c
collect in debug mode in stress test
2021-04-28 16:12:32 -07:00
Daan
16b3329bd4
Merge pull request #396 from jserv/fix-copyright-date
...
Bump copyright date
2021-04-28 13:11:11 -07:00
Daan Leijen
29ea7a89ab
add braces
2021-04-28 13:08:59 -07:00
Daan
6d1658123c
Merge pull request #391 from jserv/improve-align-down
...
Rewrite align_down with bitwise operations
2021-04-28 13:07:13 -07:00
Daan Leijen
aca46242ab
update comment for aligned_alloc
2021-04-28 12:47:14 -07:00
Daan
45a8dc7f55
Merge pull request #385 from elbaro/fix/aligned-alloc
...
Fix aligned_alloc
2021-04-28 12:43:32 -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
766f1f9345
Merge pull request #388 from nico-abram/patch-2
...
Fix typo in comment
2021-04-22 10:34:13 -07:00
Daan
f941015928
Merge pull request #384 from kdrag0n/fix-android-thread-id
...
Fix thread ID getter on Android ARM/AArch64
2021-04-22 10:33:53 -07:00
Daan
00ddc1b8a0
Merge pull request #389 from jserv/macos-predefined-macro
...
Revise the use of macOS predefined macro
2021-04-22 10:25:27 -07:00
Jim Huang
52943917ad
Rewrite align_down with bitwise operations
...
mi_align_down_ptr was implemented with multiplication and division,
which can be converted to equivalent and deterministic bit operations.
2021-04-21 13:14:53 +00:00
Jim Huang
3402c6cc3f
Revise the use of macOS predefined macro
...
Quoted from "Porting UNIX/Linux Applications to OS X,"[1]
* macro __MACH__ is defined if Mach system calls are supported;
* macro __APPLE__ is defined in any Apple computer.
__MACH__ is not specific to macOS since GNU/Hurd runs on a Mach-based
microkernel (gnumach) [2]. __MACH__ is defined by the compiler,
leading to potential confusions. The solution is just changing the
checked identifier (i.e. __APPLE__), so it is really used only on
macOS.
[1] https://developer.apple.com/library/archive/documentation/Porting/Conceptual/PortingUnix/compiling/compiling.html
[2] https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html
2021-04-21 15:24:02 +08:00
unknown
8311cef0d1
Fix typo in comment
...
it -> if in mimalloc-types.h
2021-04-17 15:08:25 -03:00
elbaro
ad44f76598
commit
2021-04-11 03:09:23 +09:00
Danny Lin
ad2fa2bf6f
Fix thread ID getter on Android ARM/AArch64
...
Android's Bionic libc stores the thread ID in TLS slot 1 instead of 0
on 32-bit ARM and AArch64. Slot 0 contains a pointer to the ELF DTV
(Dynamic Thread Vector) instead, which is constant for each loaded DSO.
Because mimalloc uses the thread ID to determine whether operations are
thread-local or cross-thread (atomic), all threads having the same ID
causes internal data structures to get corrupted quickly when multiple
threads are using the allocator:
mimalloc: assertion failed: at "external/mimalloc/src/page.c":563, mi_page_extend_free
assertion: "page->local_free == NULL"
mimalloc: assertion failed: at "external/mimalloc/src/page.c":74, mi_page_is_valid_init
assertion: "page->used <= page->capacity"
mimalloc: assertion failed: at "external/mimalloc/src/page.c":100, mi_page_is_valid_init
assertion: "page->used + free_count == page->capacity"
mimalloc: assertion failed: at "external/mimalloc/src/page.c":74, mi_page_is_valid_init
assertion: "page->used <= page->capacity"
Add support for Android's alternate TLS layout to fix the crashes in
multi-threaded use cases.
Fixes #376 .
2021-04-07 01:59:47 -07:00
Daan
b19da8e362
update readme for 1.7.1 and 2.0.1
2021-04-06 11:05:43 -07:00
Daan Leijen
985f313b35
bump version to 1.7.1
v1.7.1
2021-04-06 10:56:26 -07:00
Daan Leijen
5f596056c9
use 2-6TiB area for hints to accommodate pre-windows8 better
2021-02-24 15:49:43 -08:00
Daan Leijen
e64474e06b
add virtiual gaps between hinted allocations in secure mode
2021-02-24 15:30:39 -08:00
Daan Leijen
9317256a4f
improved ASLR (issue #372 )
2021-02-24 15:14:17 -08:00
Daan Leijen
3228bb685f
set errno ENOMEM for limited arena allocation (issue #295 )
2021-02-22 14:17:25 -08:00
Daan Leijen
9f3c29c642
remove -march=native flag; see pr #362 for discussion
2021-02-22 13:09:41 -08: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
7962420697
fix bug in bitmap is_claimed_across; issue #368
2021-02-22 12:37:08 -08:00
Daan Leijen
331491e1e8
build fix for Apple M1 (issue #354 and pr #356 )
2021-02-02 10:46:30 -08:00
Daan Leijen
a7c33a3b0e
fix getting the unique thread id on the Apple M1, see issue #354 .
2021-02-01 15:47:22 -08:00
Daan Leijen
c426ab4ea2
add condition to avoid compilation error on vs2015 (#issue 353)
2021-02-01 15:41:41 -08:00
Daan Leijen
0091a641a7
undo previous commit dcae918 due to wrong logic (issue #289 )
2021-02-01 09:55:18 -08:00
Daan Leijen
dcae918b84
always do ASLR in secure mode even in debug mode (issue #289 )
2021-02-01 09:49:12 -08:00
Daan
15220c6843
Update readme for v2.0
2021-01-31 14:11:35 -08:00
Daan Leijen
92ead2d880
bump version to 1.7.0
v1.7.0
2021-01-31 13:51:19 -08:00
Daan
599d6327ba
Update readme.md
2021-01-31 12:03:16 -08:00
Daan
89b7955afe
Update readme.md
2021-01-31 11:58:46 -08:00
Daan
706654f41b
Update readme.md
2021-01-31 11:58:22 -08:00
Daan
7f052290da
Update readme.md
2021-01-31 11:57:51 -08:00
Daan
620638cfaf
Update readme.md
2021-01-31 11:49:44 -08:00
Daan
2f04bec5d9
Update readme.md
2021-01-31 11:44:34 -08:00
Daan
9f31b49527
Update readme.md
2021-01-31 11:43:50 -08:00
Daan
9bacaa25c8
Update readme.md
2021-01-31 11:42:16 -08:00
Daan
08bd9d80d7
Update readme.md
2021-01-31 11:36:36 -08:00
Daan
6ccf695dcb
Update readme.md
2021-01-31 11:34:13 -08:00
Daan
bb92ee8520
Update readme.md
2021-01-31 11:32:54 -08:00
Daan Leijen
512cdd5aeb
Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev
2021-01-31 11:29:32 -08:00
Daan Leijen
a1fb2a4957
add rss figures
2021-01-31 11:28:39 -08:00
Daan
a6bc463652
Update benchmark figures
2021-01-31 11:20:56 -08:00
Daan Leijen
558c8d085e
update benchmark references
2021-01-31 10:23:57 -08:00
Daan Leijen
58678ac4eb
move bench figures in separate folder
2021-01-31 10:21:17 -08:00
Daan Leijen
645659bb1f
add new benchmark results
2021-01-31 10:16:18 -08:00
Daan Leijen
a87a808a8b
Merge branch 'master' into dev
2021-01-30 17:14:31 -08:00
Daan
d98ffca987
fix indentation
2021-01-30 17:14:11 -08:00
Daan
b61996184e
Use explicit trigger syntax
2021-01-30 17:11:02 -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 Leijen
92ec493a5d
possible fix for aligment warning (issue #341 )
2021-01-29 16:21:50 -08:00
Daan Leijen
0a06884732
ensure memcpy with rep stosb is only used on windows
2021-01-29 16:09:09 -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 Leijen
5291487dac
fix cmake typo in merge for #255
2021-01-29 15:52:18 -08:00
Daan
976becd002
Merge pull request #255 from xhochy/patch-1
...
Add option to install directly in CMAKE_INSTALL_PREFIX
2021-01-29 15:50:21 -08:00
Daan
71d80e914d
Merge branch 'dev' into patch-1
2021-01-29 15:49:57 -08:00
Daan Leijen
a6fa7b083e
make current stat the third column instead of first
2021-01-29 14:45:16 -08:00
Daan
fb9c6ce127
Merge pull request #327 from asl/stats-cur
...
Print current values of stat counters as well.
2021-01-29 14:35:13 -08:00
Daan Leijen
f68c1a74da
fix assertion comparison ( #353 )
2021-01-29 14:34:14 -08:00
Daan Leijen
a8b282091f
update formatting of statistics
2021-01-29 13:03:06 -08:00
Daan
b759bcf5c7
Merge pull request #329 from asl/mi_stat_agg
...
Unify statistics collection
2021-01-29 12:52:29 -08:00
Daan
e9b305b1f4
Merge pull request #352 from tarc/feature/EnableUpdated__cplusplus
...
Add /Zc:__cplusplus to MSVC compiler flags
2021-01-29 12:41:39 -08:00
Tarcisio Rodrigues
eb5613563b
Add /Zc:__cplusplus to MSVC compiler flags
...
Fix build errors for a clean build on Windows. For details about the
CMake teting code see https://stackoverflow.com/a/60890947/1254880
2021-01-28 23:58:41 -03:00
Daan
6327cf12c2
Merge pull request #349 from tarc/feature/avoid-cmake-matches-operator
...
Avoid MATCHES operator to check CMake options
2021-01-28 17:54:18 -08:00
Daan Leijen
78ce716e2d
add comment on use of tpidrro_el0 on macOS
2021-01-28 17:36:56 -08:00
Daan Leijen
8d4444ef00
remove spurious parenthesis ( #350 )
2021-01-28 17:36:35 -08:00
Daan
d9ae916a74
Merge pull request #350 from mr-c/patch-1
...
add/improve atomic yields for SSE2, ARM*, PowerPC
2021-01-28 17:29:54 -08:00
Daan
da2cf36770
Merge pull request #346 from xhochy/issue-343
...
Use tpidrro_el0 for thread local storage in macOS-arm64
2021-01-28 17:25:06 -08:00
Uwe L. Korn
a753084f74
Use APPLE instead of MACH
2021-01-28 11:38:38 +01:00
Michael R. Crusoe
fb66ebea1d
add/improve atomic yields for SSE2, ARM*, PowerPC
2021-01-23 16:45:47 +01:00
Tarcisio Rodrigues
335fbd9a43
Avoid MATCHES operator to check CMake options
...
Instead use simply the option name in conditional contexts.
2021-01-22 19:49:19 -03:00
Uwe L. Korn
88330cfc9f
Use __APPLE__ instead of __MACH__
2021-01-22 17:06:43 +01:00
Uwe L. Korn
ab3dac04c2
Use tpidrro_el0 for thread local storage in macOS-arm64
...
Fixes #343
2020-12-30 21:49:41 +01:00
Daan Leijen
2ab0bb3536
Merge branch 'master' into dev
2020-12-17 14:07:33 -08:00
Daan
03503ea4e5
Merge pull request #339 from devnexen/spin_impl_upd
...
Restricts cpu yield instructions a little.
2020-12-17 14:06:23 -08:00
Daan
33614cc054
Merge pull request #342 from wsmoses/fix2
...
Fix strndup override
2020-12-17 14:06:01 -08:00
Daan
b650aa9021
Merge pull request #344 from xhochy/no-march-native-apple
...
Don't set march=native on Apple Silicon
2020-12-17 14:04:58 -08:00
Daan
4cc8bff90d
Add special thanks to David Carlier
2020-12-17 14:03:10 -08:00
Daan Leijen
981947a4be
update backgrounds on benchmarks for dark mode
2020-12-17 13:49:35 -08:00
Daan Leijen
5b338b75c6
Merge branch 'master' of https://github.com/microsoft/mimalloc
2020-12-17 13:44:22 -08:00
Daan Leijen
59032eaf42
update svg background
2020-12-17 13:44:02 -08:00
Daan
3eeb0f5ce3
Add some usage info
2020-12-17 13:32:41 -08:00
Daan Leijen
de694191da
add ds logo
2020-12-17 13:11:34 -08:00
Daan Leijen
dc31210019
remove ds logo
2020-12-17 13:10:34 -08:00
Daan Leijen
3aaae79bc0
add ds logo
2020-12-17 13:08:35 -08:00
Daan Leijen
90d57b5625
remove ds logo
2020-12-17 13:06:43 -08:00
Daan Leijen
9cdab141bc
add ds logo
2020-12-17 13:05:15 -08:00
Daan Leijen
bb386025b5
update override on macOS with interpose of malloc_default_zone (issues #313 )
2020-12-15 16:03:54 -08:00
Uwe L. Korn
62b6ccb03e
Check for march=native before using it
2020-12-15 11:03:20 +01:00
Uwe L. Korn
d7f3d7679a
Don't set march=native on Apple Silicon
2020-12-15 10:20:58 +01:00