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
665b7324a4
Merge pull request #61 from jserv/indent-override
...
Make forwarding macros friendly to indentation or style checkers
2019-07-02 15:51:42 -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
ea6601c9cc
Merge pull request #62 from jserv/correct-linux-wording
...
Clarify the comment about Linux distributions
2019-07-02 09:01:24 -07:00
Daan
39956aa71f
Merge pull request #64 from 4ge32/master
...
fix a environment variables name
2019-07-02 08:53:16 -07:00
daan
d35fc6cdc4
PR#66 by kickunderscore to ensure consistent small block alignment
2019-07-02 08:46:50 -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
David Carlier
bed746d7d6
Using BSD new PROT_MAX mmap to block page address wider promotions
2019-07-01 06:56:16 +00:00
Fumiya Shigemitsu
ed5cdba634
fix a environment variables name
...
Some documents explain passing MIMALLOC_STATS=1 to print
statistics, though it handles as mimalloc_show_stats in the actual
code. According to the code, change the name MIMALLOC_STATS to MIMALLOC_SHOW_STATS.
2019-06-30 14:20:23 +09:00
Jim Huang
2347a65fe0
Clarify the comment about Linux distributions
...
Red Hat Linux was discontinued by Red Hat in 2003. It would make sense
to address glibc-based Linux distributions rather than Red Hat Linux.
Reference: https://en.wikipedia.org/wiki/Red_Hat_Linux
2019-06-30 01:17:13 +08:00
Jim Huang
329a494783
Make forwarding macros friendly to indentation or style checkers
...
Indention programs such as clang-format usually rely on the occurrence
of statement terminator, otherwise they are likely confused. The revised
forwarding macros do not contain semicolons character, which is friendly
to indentation or style checkers.
2019-06-30 01:06:13 +08:00
myd7349
a5b22af7ec
fix object install error
2019-06-29 21:53:47 +08:00
daan
d6901558cd
enable large OS page support on Windows
2019-06-28 22:35:57 -07:00
daan
6eaf387891
Add support for aligned allocation on Windows using VirtualAlloc2
2019-06-28 19:48:30 -07:00
Daan
38eb0a9449
Update readme.md
...
Add Azure pipelines badge
2019-06-27 13:43:23 -07: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
daan
4c87643c29
add check to see if we truly override the system malloc
2019-06-27 13:34:50 -07:00
daan
d2a2508af3
fix overly restrictive assertion
2019-06-27 13:34:14 -07:00
daan
1e636c45da
add check for overflowing size allocation
2019-06-27 13:33:28 -07:00
daan
12d756e7b2
fix page count of heap when absorbing
2019-06-27 13:32:44 -07:00
daan
36826a96c9
add power-of-two check to posix_memalign, pr #56
2019-06-27 13:29:00 -07:00
daan
ec2a8f387b
strengthen alignment check to be void* aligned
2019-06-27 13:27:53 -07:00
Daan
5dfced26c2
Merge pull request #49 from Benzodia/master
...
Remove underscore prefixes to match c lanuguage standard
2019-06-26 08:44:25 -07:00
Daan
fcb338a21b
Merge pull request #51 from Qix-/patch-1
...
is it -> as it
2019-06-26 08:43:02 -07:00
Qix
45b254f08d
is it -> as it
2019-06-26 12:53:46 +02:00
Julian Fang
c19d3a27a8
Remove underscore prefixes to match c lanuguage standard
2019-06-26 12:57:13 +08:00
daan
fac0d4b409
fix passing void as argument
2019-06-25 20:06:34 -07:00
daan
b3ce61c408
fix atomic statistics counter increase
2019-06-25 20:05:43 -07:00
daan
654bcd7049
Merge branch 'master' into dev
2019-06-25 19:57:45 -07:00
daan
9ba53d3e2b
fix missing prototype for heap_alloc_small
2019-06-25 19:57:21 -07:00
Daan
1713c37f9d
Merge pull request #28 from jserv/gcc-visibility
...
Avoid unnecessary symbol exposure with ELF-based systems
2019-06-25 19:54:28 -07:00
daan
cae02b4676
Merge branch 'master' into dev
2019-06-25 19:45:59 -07:00
Daan
4c1d848d88
Merge pull request #38 from dscho/azure-pipelines
...
Set up CI (Azure Pipelines)
2019-06-25 19:43:36 -07:00
Daan
f5d1170ae7
Merge pull request #41 from jedisct1/c-prototypes
...
fn() is not a valid C prototype
2019-06-25 19:38:44 -07:00
Daan
901413fadd
Merge pull request #44 from jserv/fix-conditional-build
...
Correct the use of MI_DEBUG by conditional build
2019-06-25 19:35:26 -07:00
Jim Huang
47e822c70f
Correct the use of MI_DEBUG by conditional build
...
MI_DEBUG is a macro rather than a variable.
2019-06-25 21:59:20 +08:00
Frank Denis
59a714725b
Read-only strings should be const char *
2019-06-25 12:19:36 +02:00
Frank Denis
236cd2e65c
fn() is not a valid C prototype
2019-06-25 12:16:36 +02:00
Johannes Schindelin
b2706a05bb
Set up CI with Azure Pipelines
...
This sets up an Azure Pipeline to build the library, publishing
the artifacts for convenience.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2019-06-25 10:24:44 +02: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
c6c1d5fffd
update docs to new MI_ prefixed build options
2019-06-24 19:00:16 -07:00
daan
4ea0e2b4ba
Merge branch 'master' into dev
2019-06-24 18:54:27 -07: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
daan
c1226611c6
Merge branch 'master' into dev
2019-06-24 18:13:04 -07:00
Daan
8bb8852d4f
Merge pull request #17 from jserv/macos-rebranding
...
Apple rebrands "OS X" as "macOS"
2019-06-24 18:12:06 -07:00
Daan
e86935e108
Merge pull request #18 from jserv/fix-typo
...
Fix typo
2019-06-24 18:09:26 -07:00
daan
cc951affac
fix compilation on older mac systems without CLOCK_MONOTONIC
2019-06-24 18:06:46 -07:00
daan
a16d95375f
remove lock code from atomics (as it is unused)
2019-06-24 17:54:41 -07:00
Daan
8e244f6616
Merge pull request #33 from dscho/fix-prototypes
...
Use `void` in the signatures of parameter-less functions
2019-06-24 17:49:50 -07:00
Daan
460ac23307
Merge pull request #34 from jserv/use-clock_gettime
...
Use clock_gettime() instead of timespec_get()
2019-06-24 17:48:46 -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
daan
f36149a9ac
fix format specifiers
2019-06-24 12:20:32 -07:00
Jim Huang
855e2f0d89
Use clock_gettime() instead of timespec_get()
...
clock_gettime(CLOCK_REALTIME, &ts) is equivalent to timespec_get(&ts,
TIME_UTC) in C11.
It has the advantage that avoids the following building error when building
with macOS:
warning: 'timespec_get' is only available on macOS 10.15 or newer
[-Wunguarded-availability-new]
2019-06-24 23:56:19 +08:00
daan
cbbd57322a
Merge branch 'master' into dev
2019-06-24 08:12:25 -07:00
Johannes Schindelin
464efa80b0
Fix prototypes of parameter-less functions
...
GCC does want to complain about parameter-less functions declared
without the recommended `void` as parameter list.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2019-06-24 17:03:33 +02:00
daan
91222691cb
fix more warnings on mingw build
2019-06-24 00:42:45 -07:00
daan
c1c848516c
fix warnings on mingw build
2019-06-24 00:37:15 -07:00
daan
faadceadf5
Merge branch 'master' into dev
2019-06-24 00:21:07 -07:00
daan
443fa0fbb5
fix assertions for the new huge page cache
2019-06-24 00:06:22 -07:00
daan
f0731862d6
fix compilation on mingw, issue #25
2019-06-23 23:17:44 -07:00
daan
cd7aa0ce83
improve handling of huge pages in the cache
2019-06-23 23:15:42 -07:00
daan
43568fa422
ensure huge pages are part of the segment cache to avoid mmap calls
2019-06-23 21:37:43 -07:00
daan
e5e2b789ba
fix pool commit for windows
2019-06-23 20:41:34 -07: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
Jim Huang
243636b6a1
Fix typo in comment
2019-06-24 10:13:43 +08:00
daan
3526b09903
fix gcc warning
2019-06-23 18:37:54 -07:00
Daan Leijen
ef02104fd3
fix posix_memalign according to issue #27
2019-06-23 10:59:47 -07:00
Daan
fab7329c7a
Merge pull request #24 from jserv/clarify-license
...
Clarify top-level license file
2019-06-23 10:47:38 -07:00
Daan
902b8ba639
Merge pull request #31 from jserv/fix-typo-again
...
Fix typo in comments
2019-06-23 10:46:00 -07:00
Jim Huang
78c7a1f349
Fix typo in comments
2019-06-24 01:40:28 +08:00
Daan
f3cea2c22a
Merge pull request #19 from jserv/arm-aarch64-tls-register
...
Support ARM/Aarch64 TLS register fastpath
2019-06-23 10:39:28 -07:00
Daan
38d1aad9f7
Merge pull request #20 from jserv/arm-aarch64-atomic-yield
...
Implement ARM/Aarch64 atomic_yield fastpath
2019-06-23 10:25:36 -07:00
Jim Huang
b1d299b35b
Clarify top-level license file
...
To be consistent with other Microsoft open source projects, each source
file points to the file "LICENSE" in top-level directory.
2019-06-23 19:53:34 +08:00
Jim Huang
77991fccee
Implement ARM/Aarch64 atomic_yield fastpath
2019-06-23 16:53:49 +08:00
Jim Huang
3841b32f9d
Support ARM/Aarch64 TLS register fastpath
...
Tested with Ubuntu Linux 18.04 LTS running on Marvell/Cavium ThunderX,
which consists of Armv8 based processors.
2019-06-23 16:30:20 +08:00
Daan
06f8da4218
Merge pull request #15 from krytarowski/netbsd-1
...
Fix build on NetBSD
2019-06-22 21:04:15 -07:00
Daan
52ba2d69a0
Merge pull request #13 from tmcclintock/master
...
Fixed a small typo in the readme.
2019-06-22 21:03:47 -07:00
Daan
f704d56a62
Merge pull request #12 from jedisct1/fix-mi_process_info-placeholder
...
Fix mi_process_info placeholder prototype
2019-06-22 21:03:29 -07:00
Kamil Rytarowski
b0b1b43dba
Fix build on NetBSD
...
Add missing argument in mi_mmap()
2019-06-23 00:06:41 +02:00
Tom McClintock
aad7a9b083
Fixed a small typo in the readme.
2019-06-22 17:16:54 -04:00
Frank Denis
4d67e58e0f
Fix mi_process_info placeholder prototype
2019-06-22 22:43:14 +02:00
Daan
8a81a6c68a
Update readme.md
...
Fix links to citeseer
2019-06-22 12:00:18 -07:00
Daan
7d1d449e89
Update readme.md
...
Fixed link to Crundal's presentation
2019-06-22 11:57:43 -07:00
Daan Leijen
65e29fa5d9
Merge branch 'master' of https://github.com/microsoft/mimalloc
2019-06-22 11:50:19 -07:00
Daan Leijen
79bfe52255
fix accidental delete
2019-06-22 11:50:03 -07:00
Daan
cf21592182
Update readme.md
...
Remove invisible spaces breaking urls
2019-06-22 11:41:18 -07:00
Daan Leijen
e52ca3bfa9
possible fix for ARM linux compilation
2019-06-22 11:33:18 -07:00
Daan
9d55a356ba
Add link to the API documentation
2019-06-22 10:40:24 -07:00
Daan
6e6dd1a20e
Update index.html
2019-06-22 10:37:28 -07:00
Daan Leijen
a94521e9e1
Add full documentation
2019-06-22 10:30:09 -07:00
Daan Leijen
9d272c064c
start on github documentation
2019-06-22 10:28:41 -07:00
Daan
8ba50d63f2
Merge pull request #1 from chosungmann/fix-spelling-errors
...
Fix spelling errors
2019-06-22 08:20:07 -07:00