Daan Leijen
b803095b83
merge from dev
2020-12-10 13:17:56 -08:00
unknown
745cf1e2f5
fix build on ghc4.8 (issue #330 )
2020-12-10 12:33:35 -08:00
Anton Korobeynikov
765fc9c0ca
Unify statistic collection:
...
- For MI_STAT == 0 no allocation stats are collected
- For MI_STAT == 1 only aggregated values (across normal, large and huge heaps) are collected
- For MI_STAT == 1 separate per-bin collection for normal heap is done as well
2020-11-11 11:41:39 +03:00
Anton Korobeynikov
00fb89f771
Rename the field
2020-11-11 11:41:33 +03:00
daan
10aca1cfb9
merge from dev
2020-10-15 20:01:38 -07:00
daan
ca13e9cd59
better instruction scheduling for alloc
2020-10-15 19:46:33 -07:00
daan
7e96634da4
merge from dev
2020-10-11 13:38:12 -07:00
daan
6279835976
fix unused parameter warning
2020-10-11 13:22:14 -07:00
daan
7114d5424a
fix statistics to include padding correctly (issue #301 )
2020-10-11 13:14:43 -07:00
daan
2822e5c1f3
Merge branch 'dev' into dev-slice
2020-09-24 16:33:22 -07:00
daan
44d030ba9d
fuse used decrement with test for slightly better codegen
2020-09-24 16:28:25 -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
b4825372ab
small compilation warning fixes (extra semicolon etc)
2020-08-29 19:30:38 -07:00
daan
2cffc3b851
merge from dev
2020-08-27 22:43:57 -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
a468430772
strengthen memory order of bit operations; insert memory fences
2020-07-26 14:19:30 -07:00
daan
09ade02429
bring inline with C11 atomics; no volatile and cas order of expected/desired
2020-07-25 22:52:27 -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
Haneef Mubarak
429025634e
resolve #201 with a platform-selective REP MOVSB implementation
2020-05-26 16:04:28 -07:00
daan
dcb3574cf0
fix assertions for huge segment free
2020-05-01 21:14:41 -07:00
daan
1b0de9b4cf
merge from dev
2020-04-28 16:22:38 -07:00
daan
e31298bdc3
fix compiler warning in secure mode
2020-04-20 18:04:09 -07:00
daan
1116c0df2e
fix strnlen do not search beyond n characters, issue #228
2020-04-14 17:42:30 -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
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
0047b271f7
Call mi_page_usable_size_of with unaligned block rather than start of aligned memory
2020-04-06 22:50:21 +10:00
daan
1f396e64a0
merge from dev
2020-03-16 16:41:21 -07: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
f42b8526d0
fix wrong __declspec(restrict) and __attribute__((malloc)) attributes on reallocation functions
2020-02-13 10:36:39 -08:00
daan
f3c47c7c91
improved malloc zone handling on macOSX (not working yet)
2020-02-02 21:03:09 -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
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
a7c69ccbea
fix stat accounting of segments with huge blocks
2020-01-30 06:25:42 -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
b50bec463d
merge from dev-exp; better abandoned reclamation
2020-01-27 22:12:23 -08:00
daan
0316859e06
improve codegen for mi_free
2020-01-23 10:03:03 -08:00
daan
e226ebcc97
Merge branch 'dev' into dev-arena
2020-01-22 20:39:33 -08:00
daan
e3b16fe4ef
reduce type casts in atomic operations
2020-01-22 19:44:54 -08:00
daan
0028272cf4
small fixes, reduced segment size, fix merge conflicts
2020-01-20 22:33:29 -08:00
daan
394a7a92ab
merge from dev
2020-01-20 19:06:08 -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
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