daan
2066e2797d
don't allow allocations larger than PTRDIFF_MAX, issue #121
2019-08-19 19:29:27 -07:00
daan
74299646bb
fix heap cookie and random order on initialization (issue #131 )
2019-08-19 19:22:13 -07:00
daan
b46bacc180
fix absorb heap (issue #132 )
2019-08-19 19:19:09 -07:00
daan
82e1b40166
Merge branch 'master' into dev
2019-08-19 19:13:25 -07:00
daan
a8b24472cb
use 1GiB huge pages on windows when reserving upfront
2019-08-19 18:16:12 -07:00
daan
0e639addb0
add environment option to reserve huge pages upfront
2019-08-19 14:14:50 -07:00
daan
5b2f4184b3
Merge branch 'dev' into dev-exp
2019-08-19 11:37:39 -07:00
daan
741f37e1f0
always check large_os_pages enabled option so it can be changed during the running of the program
2019-08-19 11:17:00 -07:00
daan
42dedb00ec
initial implementation of mi_os_reserve_huge_pages
2019-08-19 11:10:06 -07:00
daan
61ebaaa403
Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev
2019-08-19 08:10:11 -07:00
Daan Leijen
fb12f298ca
merge from dev-win, fix small object size check
2019-08-16 19:14:08 -07:00
Daan Leijen
367fb046ec
Merge branch 'dev' into dev-win
2019-08-16 18:40:56 -07:00
Daan Leijen
069c26dbab
fix small object size check in mi_segment_page_alloc
2019-08-16 18:40:30 -07:00
Daan Leijen
91497e8d2d
whitespace and warning fix
2019-08-16 17:49:49 -07:00
daan
a0b4ac2f66
new segment allocation; good results with Qas service
2019-08-15 23:19:52 -07:00
daan
f2ba95bc64
first working version of new segment allocation
2019-08-15 22:00:42 -07:00
daan
6ee248b012
wip: fixing bugs in new segment allocation
2019-08-15 14:40:15 -07:00
daan
f2bafbc57f
wip: new segment allocation
2019-08-15 11:49:56 -07:00
daan
bbd81bbbd1
wip: new segment allocation with flexible large objects
2019-08-15 00:46:45 -07:00
daan
6d11e59250
fix to avoid potential linear behavior in page collect
2019-08-14 07:46:38 -07:00
David Carlier
b0003cb101
linux build correction
...
MAP_HUGE_2MB is linux specific and the related header
is not automatically included.
2019-08-14 15:07:13 +01:00
daan
d3375f2bac
fix assertion in mi_free_size
2019-08-12 13:50:41 -07:00
daan
ab53da679e
Merge branch 'dev' into dev-exp
2019-08-12 13:43:29 -07:00
daan
178ea0840c
roll back commit #72d8608 to avoid spin lock contention on region allocation
2019-08-12 13:40:19 -07:00
daan
113a3cc1a2
Merge branch 'dev' into dev-exp
2019-08-12 09:20:16 -07:00
daan
8ca79b5359
Hide MEM_EXTENDED_PARAMETER to compile on older SDK's
2019-08-12 08:58:22 -07:00
daan
8b2194c160
merge from master
2019-08-12 15:50:21 -07:00
JeanMiK
3f43cbe6a1
Fix C++ signature of function mi_is_in_heap_region
...
Original code did not compile with MI_USE_CXX=ON as function
mi_is_in_heap_region was declared noexcept through macro mi_attr_noexcept
but defined without specification, i.e. implicitly with noexception(false)
Just adding the macro in the definition is enough to fix the issue
(tested with gcc 8.3.5)
2019-08-12 12:43:01 +02:00
daan
63d4d2ad9c
Merge branch 'dev' into dev-exp
2019-08-12 01:59:31 -07:00
daan
648f535c80
improve support for transparent huge pages on Linux (pr #115 )
2019-08-11 18:23:31 -07:00
daan
f35c2c5201
improve message printing from redirection module
2019-08-11 16:38:58 -07:00
daan
0c912445c4
Merge branch 'dev' into dev-exp
2019-08-11 14:46:53 -07:00
daan
feb7b2c160
improve bit range skipping in region search
2019-08-11 13:49:12 -07:00
daan
3a75a9d5be
use bit-scan instruction to speed up region search
2019-08-11 13:03:00 -07:00
daan
0fd898315c
per thread region search index
2019-08-11 12:15:13 -07:00
daan
2e924150ae
further layout improvement for msvc code generation
2019-08-11 11:30:24 -07:00
daan
7b105c4810
improve layout of page for x64
2019-08-11 10:31:00 -07:00
daan
2c1da9d194
fix scalar initialization of page flags
2019-08-11 09:03:52 -07:00
daan
d71e67b689
Merge branch 'dev' into dev-exp
2019-08-11 09:00:39 -07:00
daan
3a171624bd
Merge branch 'master' into dev
2019-08-11 08:59:38 -07:00
daan
a73daf1804
avoid mod operation in region allocation and limit extension
2019-08-11 08:54:32 -07:00
daan
756f4b2724
improve bit scanning code in region allocation
2019-08-11 08:48:19 -07:00
daan
6435887657
add comment on wait strategy in region allocation
2019-08-11 08:18:51 -07:00
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
74a5c17178
update order of options; make eager_region_commit 0 on windows by default
2019-08-10 15:44:55 -07:00
daan
2fee6f98d7
Merge branch 'master' into dev
2019-08-10 15:23:43 -07:00