Commit Graph

406 Commits

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