daan
|
baf08e8d54
|
fix size check on overflow when padding is enabled in debug mode
|
2020-02-17 09:59:34 -08:00 |
|
daan
|
f2ac272baa
|
strengthen alignment check for memalign and aligned_alloc
|
2020-02-17 09:59:11 -08:00 |
|
daan
|
16ebb70e4c
|
strengthen aligment guarantee (issue #206) (reverse commit 4531367)
|
2020-02-17 09:15:48 -08:00 |
|
daan
|
3e198cc87d
|
fix too strict assertion (issue #204)
|
2020-02-14 11:11:57 -08:00 |
|
daan
|
e981e9227e
|
ensure thread delayed freeing is correct during heap_absorb; #204
|
2020-02-13 13:12:19 -08:00 |
|
daan
|
af37302e83
|
add assertions
|
2020-02-13 12:27:06 -08:00 |
|
daan
|
8a2a52843d
|
delete all thread owned heaps when a thread is terminated (issue #202)
|
2020-02-13 12:15:23 -08:00 |
|
daan
|
946a71c4a9
|
fix issue #204 (and #205) by doing thread delayed free after absorbing the pages
|
2020-02-13 11:37:48 -08:00 |
|
daan
|
f42b8526d0
|
fix wrong __declspec(restrict) and __attribute__((malloc)) attributes on reallocation functions
|
2020-02-13 10:36:39 -08:00 |
|
daan
|
9749c83ca0
|
fix build with debug and secure both enabled, issue #203
|
2020-02-13 09:16:41 -08:00 |
|
daan
|
afe434463a
|
add comments on overriding in macOSX
|
2020-02-09 18:26:50 -08:00 |
|
daan
|
9062f39764
|
enable interpose separate from zones on macOS
|
2020-02-08 20:08:52 -08:00 |
|
daan
|
e676062103
|
update mac zone code
|
2020-02-05 17:40:13 -08:00 |
|
daan
|
d516c9f99c
|
Merge branch 'dev-exp' into dev-exp-tls
|
2020-02-02 22:02:16 -08:00 |
|
daan
|
feb0699bcb
|
fix aligment check when padding is enabled
|
2020-02-02 22:01:04 -08:00 |
|
daan
|
f3c47c7c91
|
improved malloc zone handling on macOSX (not working yet)
|
2020-02-02 21:03:09 -08:00 |
|
daan
|
757dcc8411
|
extend interpose for macOSX
|
2020-02-02 19:07:26 -08:00 |
|
daan
|
f0dc6e7e42
|
add extra alignment test
|
2020-02-02 16:21:06 -08:00 |
|
daan
|
ff75c32d27
|
Merge branch 'dev-exp' into dev-exp-tls
|
2020-02-02 15:54:51 -08:00 |
|
daan
|
7d3d37e4dd
|
Merge branch 'dev' into dev-exp
|
2020-02-02 15:54:41 -08:00 |
|
daan
|
865965b8c0
|
fix warnings under clang-cl
|
2020-02-02 15:43:13 -08:00 |
|
daan
|
07fbe4f80f
|
fixes for dragonfly
|
2020-02-02 14:31:28 -08:00 |
|
daan
|
8bc20631e4
|
fixes for freeBSD
|
2020-02-02 13:25:26 -08:00 |
|
daan
|
2e56bf55c4
|
Merge branch 'dev' into dev-exp-tls
|
2020-02-02 13:12:26 -08:00 |
|
daan
|
d2db9f1fc2
|
update thread local storage
|
2020-02-02 13:12:22 -08:00 |
|
daan
|
4a5f3592c0
|
fix build warning on FreeBSD
|
2020-02-02 09:25:39 -08:00 |
|
daan
|
bb64634e4e
|
Merge branch 'dev-exp' into dev-exp-tls
|
2020-02-01 17:48:57 -08:00 |
|
daan
|
3f17ac287c
|
add 'nodiscard' attribute to mimalloc interface
|
2020-02-01 17:29:30 -08:00 |
|
daan
|
0989562c2d
|
add initial fast tls for macOSX
|
2020-02-01 16:57:00 -08:00 |
|
daan
|
10009490b8
|
Merge branch 'dev-exp' into dev-exp-tls
|
2020-02-01 14:30:34 -08:00 |
|
daan
|
60cfc623be
|
fix zero initialization of blocks under 8 bytes when padding check is active
|
2020-02-01 14:29:12 -08:00 |
|
daan
|
a169cf0e3f
|
merge dev-exp; add pthread TLS support for macOSX
|
2020-02-01 14:10:10 -08:00 |
|
daan
|
edff9d4fbb
|
merge from dev-win (padding)
|
2020-02-01 12:32:59 -08:00 |
|
daan
|
aa68b8cbc7
|
improve encoding of padding canary and buffer overflow detection
|
2020-02-01 12:16:37 -08:00 |
|
daan
|
40f1e1e07b
|
byte-precise heap block overflow checking with encoded padding
|
2020-01-31 23:39:51 -08:00 |
|
daan
|
68112a2751
|
better padding implementation, more precise statistics
|
2020-01-31 20:34:24 -08:00 |
|
daan
|
8422ab125d
|
improve messages; fix reset size calculation on large pages
|
2020-01-31 17:28:26 -08:00 |
|
daan
|
724602b78b
|
enable page-reset by default
|
2020-01-31 17:27:45 -08:00 |
|
daan
|
4531367de2
|
fix padding check for aligned allocation; improve perf for small aligned allocations
|
2020-01-31 13:20:02 -08:00 |
|
daan
|
f820fae858
|
merge from dev; add retired collect on abandon
|
2020-01-30 07:24:35 -08:00 |
|
daan
|
a7c69ccbea
|
fix stat accounting of segments with huge blocks
|
2020-01-30 06:25:42 -08:00 |
|
daan
|
ed1c8a203a
|
improve performance with tls recursion counter
|
2020-01-29 23:08:52 -08:00 |
|
daan
|
03b363a1c2
|
first working tls on macOS using interpose; still slow
|
2020-01-29 22:46:44 -08:00 |
|
daan
|
7ff3ec2bf7
|
use EFAULT for buffer overflow and call abort in debug mode (as well as secure mode)
|
2020-01-29 17:25:40 -08:00 |
|
daan
|
5d212d688f
|
add MI_PADDING build option to add padding to each block to detect heap block overflows
|
2020-01-29 17:10:57 -08:00 |
|
daan
|
b3dae128de
|
Merge branch 'dev' into dev-exp
|
2020-01-27 23:15:37 -08:00 |
|
daan
|
9c166d88f0
|
increase retire page size
|
2020-01-27 23:15:24 -08:00 |
|
daan
|
42586de104
|
fix is_zero setting in regions
|
2020-01-27 23:13:57 -08:00 |
|
daan
|
e628fc7067
|
cleanup reclaim logic
|
2020-01-26 12:39:11 -08:00 |
|
daan
|
d4927adddc
|
add extra assertion that all segments are free on thread termination
|
2020-01-25 14:30:02 -08:00 |
|
daan
|
394b796ea0
|
fix over-eager page reset in segment reclamation
|
2020-01-25 13:43:56 -08:00 |
|
daan
|
4faf412f53
|
move 'memory.c' to 'region.c'
|
2020-01-25 13:28:49 -08:00 |
|
daan
|
7785139201
|
fix warning on gcc on attribute ignore in templates
|
2020-01-25 13:28:24 -08:00 |
|
daan
|
62b8fb26b1
|
fix freeing of segments on forced reclaim
|
2020-01-25 13:27:47 -08:00 |
|
daan
|
cb433d272a
|
Merge branch 'dev' into dev-exp-abandon
|
2020-01-25 13:03:06 -08:00 |
|
daan
|
f4630d43a7
|
allow reset on large pages; check commit status before reset
|
2020-01-25 12:49:14 -08:00 |
|
daan
|
5e32d00aab
|
add visit count to abandoned to limit list length
|
2020-01-25 12:26:08 -08:00 |
|
daan
|
3ec691cfb4
|
Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev
|
2020-01-25 11:20:17 -08:00 |
|
David Carlier
|
2b667bd3ae
|
enable arc4random abi under apple
|
2020-01-25 14:47:09 +00:00 |
|
daan
|
072ceb2efe
|
Merge branch 'dev' into dev-exp-abandon
|
2020-01-24 20:20:55 -08:00 |
|
daan
|
ecece57284
|
fix bug in committed check in arena allocation
|
2020-01-24 20:20:43 -08:00 |
|
daan
|
47300eeda3
|
avoid memset
|
2020-01-24 20:17:33 -08:00 |
|
daan
|
b31bc52618
|
add cache alignment directives for contended variables
|
2020-01-24 19:02:13 -08:00 |
|
daan
|
e070eba112
|
fix tagged null encoding, search segment cache before reclaim
|
2020-01-24 16:31:18 -08:00 |
|
daan
|
9a400ecce9
|
Merge branch 'dev' into dev-exp-abandon
|
2020-01-24 15:48:34 -08:00 |
|
daan
|
4ae51096ec
|
add warning on region exhaustion
|
2020-01-24 15:45:03 -08:00 |
|
daan
|
28c14d99c3
|
clean up comments
|
2020-01-24 11:03:12 -08:00 |
|
daan
|
e68293741e
|
fix assertion, add check for page committed before doing reset
|
2020-01-23 21:44:32 -08:00 |
|
daan
|
58fdcbb0cd
|
fix bug in collect where has_page was not set on free pages
|
2020-01-23 21:37:14 -08:00 |
|
daan
|
4a2a0c2d50
|
initial abandon based on fine-grained reclamation
|
2020-01-23 19:50:35 -08:00 |
|
daan
|
12701b1aac
|
do not reclaim segments on collect
|
2020-01-23 15:48:51 -08:00 |
|
daan
|
76e727f7d1
|
fix assertion on page destroy
|
2020-01-23 15:39:38 -08:00 |
|
daan
|
0316859e06
|
improve codegen for mi_free
|
2020-01-23 10:03:03 -08:00 |
|
daan
|
66818bf632
|
use atomic yield on delayed-freeing; clarify code
|
2020-01-23 09:57:55 -08:00 |
|
daan
|
3bbbe6c686
|
enable atomic yield when delayed_freeing is encountered
|
2020-01-22 20:12:42 -08:00 |
|
daan
|
0193a15f7e
|
nicer message on huge OS page reservation
|
2020-01-22 19:46:43 -08:00 |
|
daan
|
e3b16fe4ef
|
reduce type casts in atomic operations
|
2020-01-22 19:44:54 -08:00 |
|
daan
|
3957b2fd28
|
add mi_new_realloc(n) to support C++ style reallocation that raises std::bad_alloc on out-of-memory
|
2020-01-20 15:41:56 -08:00 |
|
daan
|
b77be05e40
|
only collect retired at fresh page allocation
|
2020-01-20 12:14:34 -08:00 |
|
daan
|
e8d7c80c74
|
fix build warnings on linux
|
2020-01-19 17:33:36 -08:00 |
|
daan
|
41e717c2e0
|
fix assertion in mi_block_zero_init (issue #194)
|
2020-01-18 20:30:12 -08:00 |
|
daan
|
dc58388968
|
Add ability to register custom error function called on various error conditions; including ENOMEM
|
2020-01-17 19:59:55 -08:00 |
|
daan
|
6dd636d82d
|
improve STL allocator using mi_new_n and removing unused parameter names; follow up from pr #193 and #188
|
2020-01-17 15:41:52 -08:00 |
|
daan
|
6b7356a10a
|
make mimalloc compile with the highest warning level on msvc
|
2020-01-16 18:12:01 -08:00 |
|
daan
|
c6037ac8f2
|
fix assertion index
|
2020-01-16 16:56:02 -08:00 |
|
daan
|
3f8b8b7a55
|
initialize thread_delayed_free field atomically
|
2020-01-16 16:45:34 -08:00 |
|
daan
|
da709bcf11
|
test for gcc version for aligned new/delete overrides
|
2020-01-16 16:30:44 -08:00 |
|
daan
|
7a98a461a3
|
fix type of bitmap field to avoid C++ error on older gcc
|
2020-01-16 16:21:59 -08:00 |
|
daan
|
7a9502973d
|
rearrange STL allocator code: remove pragma, ifdef for C++11
|
2020-01-16 15:57:11 -08:00 |
|
daan
|
4e91eab8fc
|
specialize mi_mallocn for count=1
|
2020-01-16 14:12:37 -08:00 |
|
daan
|
8d8f355ed0
|
add option to reset eagerly when a segment is abandoned
|
2020-01-16 11:25:02 -08:00 |
|
daan
|
b8072aaacb
|
fix debug build
|
2020-01-16 03:54:51 -08:00 |
|
daan
|
9629d73188
|
fix options
|
2020-01-15 18:07:29 -08:00 |
|
daan
|
7a1e86fc20
|
merge from dev
|
2020-01-15 18:03:37 -08:00 |
|
daan
|
ad32eb1dfb
|
eager collect on page reclamation
|
2020-01-15 17:57:19 -08:00 |
|
daan
|
0099707af9
|
use delayed free for all pages; reduce size of the page structure for improved address calculation
|
2020-01-15 17:19:01 -08:00 |
|
daan
|
c9b5ac80b3
|
update page reset queue to just do delayed page resets
|
2020-01-15 12:00:44 -08:00 |
|
daan
|
783e3377f7
|
add output argument to stat printing
|
2020-01-15 10:53:54 -08:00 |
|
daan
|
0956a05bf6
|
add argument pointer to the register deferred free callback
|
2020-01-15 10:21:32 -08:00 |
|
daan
|
f92a2a7264
|
add argument pointer to the register output routine
|
2020-01-15 10:18:32 -08:00 |
|