daan
bb6e8616ff
Merge branch 'dev' into dev-debug
2020-05-19 10:43:58 -07:00
daan
a7d2bc8ad6
edit warning messages to be more consistent
2020-05-19 10:16:28 -07:00
daan
e3744fa3fe
merge from dev
2020-05-05 11:00:36 -07:00
daan
cefc930f72
bump version to 1.6.4 for further development
2020-05-05 10:47:46 -07:00
daan
8e4e8c93a7
merge from dev
2020-04-30 20:40:48 -07:00
daan
5cfdc39ff1
remove on-demand page commit option
2020-04-30 18:23:33 -07: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
daan
7f7fbd54e9
Merge branch 'dev' into dev-debug
2020-04-20 18:07:38 -07:00
daan
3484cda169
bump version to 1.6.3 for further development
2020-04-20 18:01:39 -07:00
daan
d102882bdf
bump version to 1.6.2
2020-04-20 17:59:13 -07:00
daan
9ebb94fe17
set extra debug padding per-heap
2020-04-20 17:09:28 -07:00
daan
a0d7a9d94d
small fixes
2020-04-07 10:40:19 -07:00
daan
6b6a8a2315
fix padding check and set default extra padding to 0
2020-04-07 10:35:51 -07:00
daan
2e175c1221
merge from dev
2020-04-07 10:29:14 -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
40385c528b
add heap leak check method
2020-04-07 09:04:20 -07:00
daan
aa47541ee5
add mi_heap_print_json
2020-04-07 08:51:02 -07:00
daan
173978c122
add more detailed block info for heap visiting
2020-04-06 23:39:09 -07:00
daan
120af372ab
add support for extra debug padding in every block
2020-04-06 22:05:10 -07:00
daan
a38abae0a1
comments and improved error message on buffer overflow
2020-04-06 13:30:17 -07:00
daan
19cae48556
merge from dev
2020-04-06 12:59:29 -07:00
daan
0a3e5bb699
further fixes to compile on mingw without warnings (issue #217 )
2020-04-06 10:56:53 -07:00
daan
50bfacdb71
fix mingw compilation by using export definitions (issue #217 )
2020-04-06 09:53:29 -07:00
daan
cfeee53389
remove accidental include file
2020-03-16 16:44:29 -07:00
daan
2d52b967bc
merge from dev
2020-03-16 16:07:52 -07:00
daan
7745dde8d2
allow retirement for all object sizes (issue #212 )
2020-03-16 15:31:37 -07:00
daan
6527819eaf
merge from dev
2020-02-17 10:24:03 -08:00
daan
82684042be
bump version to 1.6.1
2020-02-17 10:10:22 -08:00
daan
f2ac272baa
strengthen alignment check for memalign and aligned_alloc
2020-02-17 09:59:11 -08:00
daan
e3043b9c1b
allow new-delete to be included after mimalloc-override
2020-02-14 13:58:32 -08:00
daan
e9c5b31b1c
keep dbg entries in release build to allow linking with both
2020-02-14 11:08:25 -08:00
daan
ae6491f201
clean up export macros
2020-02-14 10:59:23 -08:00
daan
38a0f53ef7
merge from dev
2020-02-14 09:44:27 -08:00
daan
67de2549cf
fix build with clang-cl due to _Check_return_ (issue #200 )
2020-02-14 09:40:56 -08:00
daan
f0aca8abcd
fix build with clang 8
2020-02-13 20:34:35 -08:00
daan
cc019fd145
improve inlining and codegen for mi_new
2020-02-13 18:57:12 -08:00
daan
c04881ef8a
add getcwd and fullpath wrappers
2020-02-13 17:59:43 -08:00
daan
ff2fe673e5
merge with dev
2020-02-13 14:32:54 -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
f42b8526d0
fix wrong __declspec(restrict) and __attribute__((malloc)) attributes on reallocation functions
2020-02-13 10:36:39 -08:00
daan
7d098836eb
wip: basic tracking of allocation locations is working
2020-02-13 00:43:34 -08:00
daan
2fbe0e8842
wip: improving tracking of allocation locations
2020-02-11 20:27:09 -08:00
Daan Leijen
21a95c7449
wip: track allocation locations in debug mode
2020-02-11 12:19:22 -08:00
daan
4090561975
wip: initial work on tracking source of an allocation in debug mode
2020-02-11 09:37:26 -08:00
daan
04f1c3b1e2
bump version to v1.6.0
2020-02-09 18:53:39 -08:00
daan
a96e94f940
change TLS slot on OpenBSD
2020-02-02 22:46:38 -08:00
daan
3560e0a867
fix TLS slot number on OSX
2020-02-02 22:15:09 -08:00
daan
1c2e0a47ca
fix noexcept attribute on array delete operators
2020-02-02 22:04:53 -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
12c4108abe
update comments
2020-02-02 16:09:09 -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
d2db9f1fc2
update thread local storage
2020-02-02 13:12:22 -08:00
daan
bb64634e4e
Merge branch 'dev-exp' into dev-exp-tls
2020-02-01 17:48:57 -08:00
daan
bf2eb55ed1
reformatting
2020-02-01 17:48:26 -08:00
daan
8aba40a972
use default declaration for the STL allocator class
2020-02-01 17:41:04 -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
fea903900d
use __thread locals on linux
2020-02-01 14:33:34 -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
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
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
e628fc7067
cleanup reclaim logic
2020-01-26 12:39:11 -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
4a2a0c2d50
initial abandon based on fine-grained reclamation
2020-01-23 19:50:35 -08:00
daan
c9106e74a8
remove __thread attribute from mimalloc.h
2020-01-23 11:06:25 -08:00
daan
6fb434a99b
use -fvisibility=hidden on clang as well
2020-01-23 10:31:47 -08:00
daan
e3b16fe4ef
reduce type casts in atomic operations
2020-01-22 19:44:54 -08:00
daan
0f14f431c5
bump version to 1.5 for further development
2020-01-22 18:33:07 -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
146899af8a
add missing members to stl allocator ( #193 )
2020-01-20 15:27:05 -08:00
daan
a33ebb8625
add alloc_align attribute to aligned allocation functions
2020-01-19 22:14:35 -08:00
daan
514b315283
add max_size member to STL allocator
2020-01-19 21:27:46 -08:00
daan
9d7ac76d93
fix compilation under Intel C compiler (icc)
2020-01-19 18:35:45 -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
3e982a3813
fix STL deallocate passing count (instead of size) to mi_free_size
2020-01-17 15:58:43 -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
a0bee081dd
use proper C++11 check for noexcept attribute
2020-01-16 15:58:48 -08:00
daan
7a9502973d
rearrange STL allocator code: remove pragma, ifdef for C++11
2020-01-16 15:57:11 -08:00
Daan
97bd204c42
Merge branch 'dev' into kile/stl
2020-01-16 15:33:13 -08:00
Kirsten Lee
526bee6843
merge stl and main header
2020-01-16 15:17:15 -08:00
Kirsten Lee
1b2b7404f7
flip the order of includes for ease of use
2020-01-16 14:54:13 -08:00
daan
24f8bcbc8f
add explicit calling convention to registered functions
2020-01-16 14:25:09 -08:00
daan
8d8f355ed0
add option to reset eagerly when a segment is abandoned
2020-01-16 11:25:02 -08:00
daan
7a1e86fc20
merge from dev
2020-01-15 18:03:37 -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
202246425b
bump version to 1.4 for further development
2020-01-15 12:16:53 -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