182 Commits

Author SHA1 Message Date
daan
fa01875eb2 merge from dev (with is_pinned/is_large separation) 2020-09-08 17:54:58 -07:00
daan
14b8d27386 track pinned memory separately from large os pages 2020-09-08 16:46:03 -07:00
daan
037285ac09 refactor segment cache and map in a separate source file 2020-09-08 13:27:34 -07:00
daan
a948724340 merge from dev (bitmap split) 2020-09-08 10:33:30 -07:00
daan
c86459afef split bitmap code into separate header and source file 2020-09-08 10:14:13 -07:00
daan
30b993ecf3 consolidate bit scan operations 2020-09-08 09:27:57 -07:00
daan
953bbde089 fix is_in_same_page check 2020-09-06 15:09:51 -07:00
daan
f7dc4847f2 keep commit_mask live in the cache for better reuse 2020-09-05 21:58:32 -07:00
daan
63a9f45ba6 add initial mi_commit_mask abstraction 2020-09-05 19:39:10 -07:00
daan
03071dec0f merge from dev-atomic with new atomic interface 2020-09-03 12:13:09 -07:00
daan
900c97664a merge from dev-atomic 2020-09-03 09:47:01 -07:00
daan
2cffc3b851 merge from dev 2020-08-27 22:43:57 -07:00
daan
5805c39916 enable --std=c99 compilation; fix mingw compilation 2020-08-09 17:55:17 -07:00
daan
ef8e5d18a6 replace atomics with C11/C++ atomics with explicit memory order; passes tsan. Issue #130 2020-07-26 18:01:33 -07:00
daan
afe29cb8f5 fix ub on shift, issue #279 2020-07-25 19:33:02 -07:00
daan
c5406f327e move include 'limits.h' outside of definition 2020-07-21 18:51:25 -07:00
David Carlier
0c550d1626 illumos support/build fix and large page support 2020-07-10 03:26:14 +01:00
daan
cb05ef9f2c merge from dev 2020-05-19 10:43:46 -07:00
daan
a7d2bc8ad6 edit warning messages to be more consistent 2020-05-19 10:16:28 -07:00
daan
dcb3574cf0 fix assertions for huge segment free 2020-05-01 21:14:41 -07:00
daan
1f396e64a0 merge from dev 2020-03-16 16:41:21 -07:00
daan
f2ac272baa strengthen alignment check for memalign and aligned_alloc 2020-02-17 09:59:11 -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
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
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
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
b50bec463d merge from dev-exp; better abandoned reclamation 2020-01-27 22:12:23 -08:00
daan
e628fc7067 cleanup reclaim logic 2020-01-26 12:39:11 -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
394a7a92ab merge from dev 2020-01-20 19:06:08 -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
6b7356a10a make mimalloc compile with the highest warning level on msvc 2020-01-16 18:12:01 -08:00