daan
05a75758dd
fix tests
2022-10-30 14:07:41 -07:00
daan
84c706508c
fix false positives from valgrind in rptest
2022-10-30 10:45:51 -07:00
daan
a1f5a5d962
fix various false positives in test-stress from valgrind
2022-10-29 14:37:55 -07:00
daan
eee7c40da5
updates to run valgrind on test-api
2022-10-29 11:43:09 -07:00
daan
093724bdef
add test file for valgrind integration
2022-10-28 20:07:31 -07:00
daan
6eeb81ee05
initial progress on valgrind integration
2022-10-28 19:54:56 -07:00
Daan Leijen
d69d4c861f
add zero parameter to primitive allocation to improve codegen for calloc etc
2022-04-19 18:32:35 -07:00
Daan Leijen
d6f3e74684
fix test macros
2022-04-19 10:49:39 -07:00
Daan Leijen
a158aef235
fix for realloc with size 0: returning NULL from realloc now always indicates an error (issue #574 )
2022-04-19 10:31:55 -07:00
Daan Leijen
8713959498
update test macros; add realloc tests
2022-04-19 10:21:41 -07:00
Daan Leijen
5b172280b0
add nodiscard annotations to fix warnings in msvc
2022-04-19 10:10:10 -07:00
Daan Leijen
016b2ad535
nicer heap walk test
2022-04-09 14:08:27 -07:00
Daan Leijen
e18a8cd72e
add heap walk test
2022-04-08 16:58:32 -07:00
daan
ccbc8ae0bb
add huge allocation test (see #544 by @Tiran)
2022-02-10 11:46:28 -08:00
Daan Leijen
320f95f6cd
further fixes to allow statically linking mimalloc in DLL modules (issue #508 )
2022-01-10 16:07:22 -08:00
Frank Richter
691eb0d8ed
Add tests to check "freed memory fill" behaviour in debug mode
2021-12-21 16:20:59 +01:00
Frank Richter
1cf7ca021d
Add tests for debug mode "uninit fill" behaviour
2021-12-21 16:20:59 +01:00
Frank Richter
969f3a6998
Add tests for zero-initialization functions
2021-12-21 16:20:56 +01:00
Frank Richter
d7105c20a9
Move test macros/helpers to a separate header
2021-12-21 12:48:51 +01:00
daan
f16435447c
fix bug in freeing huge OS page allocation spanning multiple huge OS pages
2021-12-18 11:37:00 -08:00
Daan Leijen
89090510bd
update alignment tests
2021-12-18 11:11:44 -08:00
daan
faf2a7020c
add extra alignment tests
2021-12-17 13:25:38 -08:00
daan
89f583a69b
improve aligned allocation performance
2021-12-17 13:18:05 -08:00
Daan
1b09877bc4
Merge branch 'dev' into netbsd_reallocarr
2021-12-15 16:27:26 -08:00
daan
2d9b8aa6b5
rename VER_DIR to VERSION_DIR
2021-12-15 08:33:14 -08:00
Daan
69b6b24688
further improvements to installation directories
2021-12-14 18:29:14 -08:00
David Carlier
d6a56dd99d
introduces netbsd's reallocarr overriding.
...
and couple of tests.
2021-12-01 22:43:13 +00:00
Daan
4ce6821c09
update cmake install for MI_INSTALL_TOPLEVEL
2021-11-14 15:32:21 -08:00
daan
09e59e0610
use size_t instead of uintptr_t where appropiate
2021-11-13 15:13:16 -08:00
David CARLIER
5834751ca6
api test conceal gcc pragma
2021-10-20 16:17:13 +01:00
Daan Leijen
10c31f9b41
fix warnings
2021-10-19 15:13:01 -07:00
Daan
9769cd4103
Merge pull request #428 from Logarithmus/fix-test-i686
...
Fix 'malloc-nomem1' test for 32-bit architectures
2021-10-19 10:51:17 -07:00
Daan
1917fbd847
Merge pull request #467 from tiran/strict_prototypes
...
Fix strict function prototype warnings
2021-10-19 09:35:40 -07:00
Christian Heimes
7c73e3996d
Fix strict function prototype warnings
...
Fix warning ``warning: function declaration isn’t a prototype`` when
building mimalloc with ``-Wstrict-prototypes`` flag. In C argumentless
functions should be declared as ``func(void)``.
Reproducer:
```shell
$ cmake ../.. -DCMAKE_C_FLAGS="-Wstrict-prototypes"
$ make VERBOSE=1
```
Co-authored-by: Sam Gross <colesbury@gmail.com>
Co-authored-by: Neil Schemenauer <nas@arctrix.com>
Signed-off-by: Christian Heimes <christian@python.org>
2021-10-19 10:48:26 +02:00
Daan Leijen
32c5e4774f
update tests with static
2021-07-26 19:14:29 -07:00
Daan Leijen
a3cf23c19f
add test for #445
2021-07-26 19:10:21 -07:00
Artur Sinila
edb0b93c6f
Fix 'malloc-nomem1' test for 32-bit architectures
2021-06-29 22:38:43 +03:00
Daan Leijen
752594e764
add test for #414
2021-06-17 19:47:41 -07:00
Daan Leijen
a83bca72b3
fixes for M1; disable interpose use zones; fix pedantic warnings
2021-06-17 19:15:09 -07:00
Daan Leijen
e2c095fad2
fix installation directories on unix to use /lib, /include, /share; fix issues #399 , #223 , and #89
2021-05-21 15:15:50 -07:00
Daan Leijen
73c339235c
collect in debug mode in stress test
2021-04-28 16:12:32 -07:00
Jim Huang
5940d3bcce
Bump copyright date
...
Each source file has been changed according to relevant Git activities.
2021-04-24 16:35:11 +00:00
Daan Leijen
5f596056c9
use 2-6TiB area for hints to accommodate pre-windows8 better
2021-02-24 15:49:43 -08:00
Daan Leijen
9317256a4f
improved ASLR (issue #372 )
2021-02-24 15:14:17 -08:00
Daan Leijen
92ead2d880
bump version to 1.7.0
2021-01-31 13:51:19 -08:00
Daan Leijen
bb386025b5
update override on macOS with interpose of malloc_default_zone (issues #313 )
2020-12-15 16:03:54 -08:00
David Carlier
e6c2fd44fc
DragonFly support fix (for 5.8.x and forward).
...
The pthread slot approach is somewhat buggy (pretty visible
with the stress unit test which segfault more or less randomly,
but the stats never show up).
Using the default approach instead, the test passes eventough
it s relatively slow (e.g 1.5 sec on FreeBSD vs 4.5 on DragonFly with same
machine).
2020-10-22 11:15:37 +01:00
daan
7114d5424a
fix statistics to include padding correctly (issue #301 )
2020-10-11 13:14:43 -07:00
daan
9d5098c705
bump version to 1.6.7 for further development
2020-09-24 10:16:40 -07:00
daan
f88b4b4c27
extend mi_process_info to include elapsed time
2020-09-24 10:13:25 -07:00
daan
364674185e
add option to limit OS allocation and only allow allocation from arenas
2020-09-08 16:56:51 -07:00
daan
c7272afa9a
add mi_reserve_os_memory/mi_manage_os_memory; allow arena allocations to cross multiple bitmap fields
2020-09-07 21:34:34 -07:00
daan
46ee8952eb
update mi_process_info to not use doubles
2020-09-06 13:53:02 -07:00
daan
ee286919d9
add mi_process_info api call
2020-09-06 13:21:19 -07:00
daan
f09549c98f
use main stats for thread count
2020-09-05 18:00:36 -07:00
daan
0d0b5e3fad
restore stress workload for windows pipeline
2020-09-05 11:19:35 -07:00
daan
78f1f9bd5e
reduce stress workload for windows pipeline
2020-09-05 11:16:40 -07:00
daan
d73d6beb71
add aslr test (issue #289 )
2020-09-04 10:41:10 -07:00
daan
900c97664a
merge from dev-atomic
2020-09-03 09:47:01 -07:00
daan
b4825372ab
small compilation warning fixes (extra semicolon etc)
2020-08-29 19:30:38 -07:00
daan
a9686d6ecf
avoid link error on non-windows
2020-08-06 13:37:11 -07:00
daan
a468430772
strengthen memory order of bit operations; insert memory fences
2020-07-26 14:19:30 -07:00
daan
8769082d63
add pointer validity check in debug mode for mi_usable_size/mi_realloc/mi_expand. Issue #269
2020-07-20 14:33:03 -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
69a0846478
add MI_PADDING flag to cmake to supress use of padding in debug mode
2020-04-07 10:01:18 -07:00
daan
afc4f79a69
fix for ensuring heap initialization with static linking on windows on huge allocations (issues #221 )
2020-04-06 12:15:12 -07:00
daan
0a3e5bb699
further fixes to compile on mingw without warnings (issue #217 )
2020-04-06 10:56:53 -07:00
daan
faa83a1c47
fix issue number: 212 to #221
2020-04-06 09:19:26 -07:00
daan
c7e9cfd3ed
add test case for issue #212
2020-04-06 08:32:25 -07:00
Daan
1ece3ff6aa
Merge pull request #220 from cormacrelf/usable_size
...
Don't call mi_page_usable_size_of with an aligned pointer
2020-04-06 08:05:34 -07:00
Cormac Relf
414acd49ab
Add test to exercise mi_usable_size on aligned allocations
2020-04-06 22:50:21 +10:00
daan
ec61224db0
fix padding issue with zero sized allocation (issue #209 )
2020-02-18 20:05:30 -08:00
daan
baf08e8d54
fix size check on overflow when padding is enabled in debug mode
2020-02-17 09:59:34 -08:00
daan
e981e9227e
ensure thread delayed freeing is correct during heap_absorb; #204
2020-02-13 13:12:19 -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
04f1c3b1e2
bump version to v1.6.0
2020-02-09 18:53:39 -08:00
daan
b241be7075
reenable mimalloc in the stress test
2020-02-02 22:08:33 -08:00
daan
d516c9f99c
Merge branch 'dev-exp' into dev-exp-tls
2020-02-02 22:02:16 -08:00
daan
f3c47c7c91
improved malloc zone handling on macOSX (not working yet)
2020-02-02 21:03:09 -08:00
daan
f0dc6e7e42
add extra alignment test
2020-02-02 16:21:06 -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
a169cf0e3f
merge dev-exp; add pthread TLS support for macOSX
2020-02-01 14:10:10 -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
03b363a1c2
first working tls on macOS using interpose; still slow
2020-01-29 22:46:44 -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
19a0d9dfa0
clean up stress test
2020-01-25 12:51:56 -08:00
daan
5e32d00aab
add visit count to abandoned to limit list length
2020-01-25 12:26:08 -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
8cf4882a85
fix linux build
2020-01-24 10:38:25 -08:00
daan
8b1520f5c1
make stress test deterministic
2020-01-23 21:53:28 -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
f8ab4bd7dc
add leak test
2020-01-23 19:49:32 -08:00
daan
66818bf632
use atomic yield on delayed-freeing; clarify code
2020-01-23 09:57:55 -08:00
daan
0f14f431c5
bump version to 1.5 for further development
2020-01-22 18:33:07 -08:00