daan
82e29f47b3
weaken assertion, #245
2020-05-18 18:51:06 -07:00
daan
53aa46890a
merge from dev
2020-05-05 10:54:59 -07:00
daan
29cb8f369a
slight cleanup of f10ba4fa
, #239
2020-05-05 10:24:16 -07:00
Daan
f10ba4fa44
Merge pull request #239 from asl/oom-collect
...
In OOM case try to force collect memory and retry the allocation
2020-05-05 10:16:28 -07:00
daan
a278db940b
improve thread-id check for thread local FLS callbacks on Windows with static linking
2020-05-05 10:10:46 -07:00
daan
7c24edfeb0
add thread-id check for thread local FLS callbacks on Windows with static linking; found by @jasongibson
2020-05-04 14:31:32 -07:00
daan
74ea69b784
increase default arena reset delay (behaves better on 36+ core systems)
2020-05-03 16:33:29 -07:00
daan
9c0da9776d
fix assertion for huge block size
2020-05-03 11:43:57 -07:00
daan
cce998a835
fix assertion for huge blocks
2020-05-03 11:42:49 -07:00
daan
30799bce73
fix assertion for huge segments
2020-05-03 11:42:38 -07:00
daan
28f4f1ce04
nice cache initialization
2020-05-03 10:45:46 -07:00
daan
e5b72cdfe7
reduce segment size and increase cache
2020-05-02 22:22:35 -07:00
daan
ea92fb2fe4
lower arena reset delay
2020-05-02 21:40:14 -07:00
daan
69158f2c76
roll back again to new arena cache: previous perf regression was caused due to accidentally making secure mode default
2020-05-02 12:04:36 -07:00
daan
18d697a1e6
roll back to old arena cache as it seems to do better on AMD
2020-05-02 11:57:33 -07:00
daan
66e5484c1c
fix assertions for huge pages in secure mode
2020-05-02 11:23:25 -07:00
daan
b8846f7a27
fix unprotect of guard pages
2020-05-02 10:51:10 -07:00
daan
37b43e4cea
improved arena cache
2020-05-02 10:37:33 -07:00
daan
1b158d8e80
set max retire size to MAX_MEDIUM_OBJ_SIZE
2020-05-02 10:37:07 -07:00
daan
84e1f7c92e
merge from dev
2020-05-02 00:23:22 -07:00
daan
097c007ba3
reduce page retire cycles based on object size
2020-05-02 00:19:20 -07:00
daan
dd18852946
reduce page retire cycles
2020-05-02 00:13:40 -07:00
daan
01ad553978
set default reset delay to 250ms
2020-05-02 00:13:03 -07:00
daan
79da2728c4
reduce cache
2020-05-02 00:12:45 -07:00
daan
8bfd5ec865
improve arena cache to avoid full scans
2020-05-01 23:00:17 -07:00
daan
dcb3574cf0
fix assertions for huge segment free
2020-05-01 21:14:41 -07:00
Daan
81bd1b70b0
Merge pull request #238 from asl/gcc-6-aligned-dealloc
...
Fix override condition for sized dealloc with gcc 6
2020-05-01 14:16:20 -07:00
daan
5cfdc39ff1
remove on-demand page commit option
2020-04-30 18:23:33 -07:00
daan
0af9dd6fd2
fix initialization of union padding; issue found through valgrind by @jasongibson
2020-04-30 17:40:00 -07:00
daan
dad3be3c64
update comments
2020-04-30 17:21:36 -07:00
daan
c609248f0e
do delayed decommit if not reclaiming abandoned blocks
2020-04-30 13:30:19 -07:00
daan
f86519bca6
make lazy commit default; add commit check on segment allocation
2020-04-28 16:46:00 -07:00
daan
1b0de9b4cf
merge from dev
2020-04-28 16:22:38 -07:00
Anton Korobeynikov
fdd1cd821a
In OOM case try to force collect memory and retry the allocation.
2020-04-29 02:10:11 +03:00
daan
9a33f23b5f
fix MI_SHOW_ERRORS on msvc
2020-04-28 11:11:23 -07:00
daan
8f5710abcc
Merge branch 'master' into dev
2020-04-28 11:07:55 -07:00
Daan
07e80aebb7
Merge branch 'dev' into xmalloc
2020-04-28 10:53:34 -07:00
Daan
9ba16f2df9
Merge pull request #232 from asl/cmake-err-warn-default
...
Add cmake option to specify whether warnings / errors are enabled by default
2020-04-28 10:51:30 -07:00
Anton Korobeynikov
0b440d9543
Apparently gcc 6 defines __cpp_aligned_new in C++14 mode, however no std::align_val_t is available there
...
for obvious reasons
2020-04-28 19:09:54 +03:00
Anton Korobeynikov
079b886feb
Add cmake option to specify whether warnings / errors are enabled by default.
...
Currently warnings / errors are enabled by default in debug build.
Otherwise they could be enabled only via environmental variable or
API option call. Add possibility to specify the default during the
build time. This simplifies e.g. integration of the library into
bigger projects as no source changes would be required.
2020-04-28 16:44:44 +03:00
Anton Korobeynikov
2f1fc1df5c
Add xmalloc()-like functionality.
...
xmalloc is a non-standard extension forcing malloc() to
abort should the memory allocation failed instead of returning a
null pointer. Such functionality is quite useful as it provides one
single point of error handling if the caller of malloc() does not
check the result (as it often does!) and segfault is ocurring somewhere
else. If more fine-grained control is necessary one could register a custom
error handler, however, this might not be an option while interposing.
2020-04-28 16:38:47 +03:00
Nicolas
f40aaad876
Fix typo in comment
...
Usuelly->Usually
2020-04-24 23:20:28 -03:00
Daan Leijen
798cd6647d
use line-buffered output for statistics (issue #235
2020-04-24 07:43:21 -07:00
daan
a5bf45cd1e
add commit check on page reclaim
2020-04-23 21:01:06 -07:00
daan
74a01d05af
check commit/protect if eager_commit is disabled
2020-04-23 20:48:55 -07:00
daan
7123efb397
pass full commit flag to free, possible fix for issue #218
2020-04-23 20:19:48 -07:00
daan
0d3c141243
add check for if commit fails in segment allocation
2020-04-23 17:28:44 -07:00
Anton Korobeynikov
fe976caaea
Provide zone_size function: free() uses it to find the zone pointer belongs to in order to call the corresponding zone_free function
2020-04-21 15:10:49 +03:00
Anton Korobeynikov
07d72f4fba
Do not forget to include malloc zone implementation in the static object
2020-04-21 15:08:27 +03:00
Anton Korobeynikov
4a0c53ba5a
Fix the prototype of malloc_size. Otherwise we'll end with invalid
...
redeclaration if malloc/malloc.h is pulled on Darwin
2020-04-21 15:07:32 +03:00