daan
f5902a7a82
ensure webassembly allocation sizes are page aligned
2019-08-11 08:06:17 -07:00
daan
a1384bff72
avoid atomic read on aligned allocation on Linux
2019-08-11 08:00:10 -07:00
daan
dbe010f2d4
add huge and giant stats; increase bins
2019-08-10 20:51:37 -07:00
daan
737b05cc25
remove unused fields from OS thread local data
2019-08-10 17:50:27 -07:00
daan
ed785253bf
restructure the page flags to use explicit masks
2019-08-10 17:48:00 -07:00
daan
78a70ada2e
Fix option reading even when preloading on Windows
2019-08-10 15:17:40 -07:00
daan
6f3bc87dcd
merge from dev
2019-08-10 10:26:46 -07:00
daan
8ae2492eee
fix arguments for the heap visitor function, issue #124
2019-08-10 10:14:01 -07:00
Daan
5b4c4ac959
Merge pull request #117 from devnexen/darwin_anon_monitor
...
darwin, tracking anonymous page lifetime.
2019-08-10 09:58:35 -07:00
daan
ccc78302bf
fix double assignment ( #125 , by @ebudai)
2019-08-10 09:53:00 -07:00
daan
7b16aa9302
remove accidental commit of different size bins experiment
2019-08-09 11:22:38 -07:00
daan
442bad9190
add good-fit for allowing larger blocks in smaller segments
2019-08-09 11:18:38 -07:00
daan
5e56b40fe6
improve page flags handling
2019-08-08 17:18:49 -07:00
daan
de57686dac
Merge branch 'dev-win' of https://github.com/microsoft/mimalloc into dev-win
2019-08-08 15:23:27 -07:00
daan
6596e970a5
move in_full and has_aligned into page threadid for a single test in mi_free
2019-08-08 15:23:18 -07:00
daan
55778d2fe4
improved stats
2019-08-08 11:36:13 -07:00
daan
56778fe7d2
split normal and secure extend in a separate routine
2019-08-06 18:57:53 -07:00
Jakub Szymanski
0e8241c140
change from MIMALLOC_OVERRIDE to MIMALLOC_DISABLE_OVERRIDE
2019-07-30 10:36:00 -07:00
David Carlier
82ab9b4bd6
tracking anonymous page lifetime on macOS.
...
this platform allows to tag them per application up to 255.
2019-07-27 23:05:05 +01:00
daan
bbf97fa02d
merge from 'dev-exp'; add support for MIMALLOC_OVERRIDE environment variable
2019-07-26 12:06:15 -07:00
daan
613d0c1993
merge 095a87b
2019-07-23 18:00:07 -07:00
daan
095a87be2e
add recursion guard for overriding in windows
2019-07-23 17:57:27 -07:00
daan
3d6feead60
add heap region check to cfree
2019-07-23 15:54:47 -07:00
daan
dd79b662f8
restore to old-style windows override; fix debug mode
2019-07-23 15:51:08 -07:00
daan
fa5dc17621
fix merge conflicts
2019-07-23 15:09:54 -07:00
daan
a022049705
remove old comment
2019-07-23 15:00:13 -07:00
daan
189ad0f81d
small optimizations, use bitwise aligne
2019-07-23 15:00:13 -07:00
daan
66b8c37ab3
ensure C++ compilation on windows
2019-07-23 15:00:13 -07:00
daan
0b4d74a566
merge
2019-07-23 15:00:13 -07:00
daan
b611c7fb34
use atomic ops to guard large page tries on windows
2019-07-23 15:00:13 -07:00
daan
7b7c36c8c7
use hinted address to mmap to reduce mmap calls
2019-07-23 14:59:57 -07:00
Jim Huang
b5e26bedb1
Enforce strict include-what-you-use policy
...
The include-what-you-use (IWYU) policy is beneficial to faster
compilation and fewer recompilations. Many build tools, such as GNU make,
provide a mechanism for automatically figuring out what .h files a .cc
file depends on. These mechanisms typically look at #include lines. When
unnecessary #includes are listed, the build system is more likely to
recompile in cases where it is not necessary.
With the enforcement, header file <include/mimalloc.h> no longer
includes <stdlib.h>.
Reference:
https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/WhyIWYU.md
2019-07-23 14:59:57 -07:00
daan
65037d051b
improved debug warning for freeing invalid pointers
2019-07-23 14:59:57 -07:00
daan
2eb607d03f
re-add missing thread_init needed when running in debug mode
2019-07-23 14:59:57 -07:00
Jim Huang
28b874129a
Avoid using strlen function in loop
2019-07-23 14:59:57 -07:00
Jim Huang
3e9c953eea
Add branch prediction hint for mi_option_get
...
mi_option_get is called frequently in stress tests, and the patch adds
extra hint to the compiler to emit instructions that will cause branch
prediction to favour the "likely" side of a jump instruction.
2019-07-23 14:59:49 -07:00
caixiangyue
7266e7006a
fix typo
2019-07-23 14:59:49 -07:00
daan
46b11fa0a4
add comment about large pages
2019-07-23 14:59:49 -07:00
daan
6ca8b3fd89
remove old comment
2019-07-22 21:25:57 -07:00
daan
f0530b6a83
small optimizations, use bitwise aligne
2019-07-22 20:51:12 -07:00
daan
7c26ce9280
ensure C++ compilation on windows
2019-07-22 10:27:14 -07:00
daan
80e09ef44e
merge from dev
2019-07-22 10:16:59 -07:00
daan
e90938fb4b
merge
2019-07-22 10:10:45 -07:00
daan
7555260759
Merge branch 'jserv-include-what-you-use' into dev
2019-07-22 10:07:03 -07:00
daan
959d9289b1
merge and improve to upper case in options
2019-07-22 10:06:45 -07:00
Daan
80400c9946
Merge pull request #111 from jserv/avoid-strlen-in-loop
...
Avoid using strlen function in loop
2019-07-22 09:51:02 -07:00
Daan
cf8f46c263
Merge pull request #110 from jserv/options-branch-predict-hints
...
Add branch prediction hint for mi_option_get
2019-07-22 09:49:44 -07:00
daan
272a8e03e4
use atomic ops to guard large page tries on windows
2019-07-21 17:13:36 -07:00
daan
069f52523f
use hinted address to mmap to reduce mmap calls
2019-07-21 17:08:09 -07:00
Jim Huang
1e27cef873
Enforce strict include-what-you-use policy
...
The include-what-you-use (IWYU) policy is beneficial to faster
compilation and fewer recompilations. Many build tools, such as GNU make,
provide a mechanism for automatically figuring out what .h files a .cc
file depends on. These mechanisms typically look at #include lines. When
unnecessary #includes are listed, the build system is more likely to
recompile in cases where it is not necessary.
With the enforcement, header file <include/mimalloc.h> no longer
includes <stdlib.h>.
Reference:
https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/WhyIWYU.md
2019-07-22 04:54:14 +08:00