Daan
ee92b337b9
do not reclaim segments if free-ing from a thread with an already abandoned heap (issue #944 )
2024-10-24 00:13:07 -07:00
Daan
2b0d039cf3
fix assertion check
2024-10-23 01:21:41 -07:00
Daan
925efaeac9
improve windows static library initialization to account for thread local destructors (issue #944 )
2024-10-23 01:10:00 -07:00
Daan
d951b4dd23
add missing mi_thread_done definition
2024-10-23 00:53:17 -07:00
Daan
6e9b38ac12
fix issue where searching for abandoned blocks would skip the first one
2024-10-22 18:58:55 -07:00
Daan
dfdb9cb877
cleanup process init/done
2024-10-22 06:52:34 -07:00
Daan
104e821709
fix fast divisor for 32-bit platforms
2024-10-22 06:08:56 -07:00
Daan
46e9e7fdd0
fix win32 compilation
2024-10-22 06:06:15 -07:00
Daan
e55ae0aeb7
fix duplicate definition on windows
2024-10-21 23:09:14 -07:00
Daan
f971bd6d74
fix build on windows
2024-10-21 23:05:51 -07:00
Daan
4377abe017
add cmake option to fall back on the fiber api do detect thread termination on windows
2024-10-21 22:59:41 -07:00
Daan
aa881733d7
reorganize primitives for process initialization; use special data segment on Windows for thread termination by default on Windows now (issue #869 )
2024-10-21 22:56:59 -07:00
Daan
164bd8c06c
Merge branch 'dev' into dev-slice
2024-10-21 05:10:21 -07:00
Daan
34e66778ec
fix MI_EXTRA_CPPDEFS setting
2024-10-21 05:10:09 -07:00
Daan
e58e41c8da
merge from dev
2024-10-21 05:07:12 -07:00
Daan
50d3525a8c
add test for issue #944
2024-10-21 05:04:27 -07:00
Daan
638ea539de
allow certain options to have defaults set via the pre-processor at build time -- see issue #945
2024-10-21 05:04:01 -07:00
Daan
394e8c27d8
add cmake option to add C pre processor definitions more easily
2024-10-21 05:02:24 -07:00
ArtSin
bf251b27b1
Fix int and long handling and the use of (u)intptr_t in _mi_vsnprintf
...
'va_arg' with type 'long' was used for both 'int' and 'long' arguments, but x86_64 Linux has 64-bit 'long', so passing an 'int' argument to '_mi_vsnprintf` results in undefined behaviour.
'intptr_t' was used as the largest integer type, but on 32-bit systems it is 32-bit wide, while 'long long' is 64-bit. 'intmax_t' can be used instead.
2024-10-15 13:39:28 +04:00
Daan
81da26d7d3
make target test for stealing one less since we are about to reclaim_or_alloc a fresh segment
2024-10-11 10:52:35 -07:00
Daan
19ce2c6461
restore randomization when trying to reclaim abandoned segments
2024-10-11 10:44:43 -07:00
daanx
723869014f
add ability to abandon segments after a threshold
2024-10-09 21:24:20 -07:00
Daan Leijen
4913c2c65b
Merge branch 'dev-steal' into dev-slice-steal
2024-10-09 15:16:13 -07:00
Daan Leijen
a7e7cbac89
use enqueue_from_full, and keep inserting at the end
2024-10-09 15:15:57 -07:00
daanx
428e3b9ee0
Merge branch 'dev-steal' into dev-slice-steal
2024-10-09 15:05:48 -07:00
daanx
0316cb1d88
reduce page search to 8
2024-10-09 15:05:35 -07:00
daanx
933ac5c14c
Merge branch 'dev-steal' into dev-slice-steal
2024-10-09 14:41:25 -07:00
daanx
cbc0e19809
revert back to unfull at the end of queues as it slows down some benchmarks (like alloc-test1)
2024-10-09 14:41:12 -07:00
daanx
03fbaedec5
Merge branch 'dev-steal' into dev-slice-steal
2024-10-09 14:35:49 -07:00
daanx
96877159c2
insert full pages that became unfull, at the start of the page queue to increase potential reuse
2024-10-09 14:35:33 -07:00
daanx
a05b5ab0a1
search N pages for a best fit
2024-10-09 14:21:50 -07:00
daanx
b3d502179a
Merge branch 'dev-steal' into dev-slice-steal
2024-10-09 11:28:33 -07:00
daanx
ffa8bce581
prefer pages that do not expand
2024-10-09 11:27:57 -07:00
Philip Brown
f38816d4ed
Musl needs __libc* functions too
2024-10-06 15:42:46 -05:00
Daan
db3d8485d2
increase TSAN test to 400 iterations
2024-08-21 17:13:51 -07:00
Daan
ad02086d3b
remove default MI_DEBUG_GUARDED
2024-08-21 17:07:01 -07:00
Daan
60206ec075
merge from dev
2024-08-21 17:01:46 -07:00
Daan
d8e0cb1a37
increase test timeout for azure pipeline
2024-08-21 17:01:05 -07:00
Daan
532141fda2
Merge branch 'dev' into dev-slice
2024-08-21 15:39:31 -07:00
Daan
bb3976760f
add guarded build to test pipeline
2024-08-21 15:34:22 -07:00
Daan
51025f1ac2
set lower parameters for guarded test
2024-08-21 15:29:32 -07:00
Daan Leijen
3ec3aaf858
merge from dev
2024-08-21 11:33:11 -07:00
Daan Leijen
6a21db1017
Merge branch 'dev-guarded' into dev-slice-guarded
2024-08-21 11:31:10 -07:00
Daan Leijen
4234a9bd9d
Merge branch 'dev-guarded' into dev
2024-08-21 11:30:33 -07:00
Daan Leijen
58e743b83f
fix use_guarded signature
2024-08-21 11:30:00 -07:00
Daan Leijen
cc4dc1bb53
add comments
2024-08-21 11:26:12 -07:00
Daan Leijen
96f7cc4ef2
clean up guarded allocation
2024-08-21 11:21:25 -07:00
Daan Leijen
631ff581af
set compile as C++ in VS IDE
2024-08-21 10:47:38 -07:00
Daan Leijen
b9b529de28
shuffle for 128 bit
2024-08-21 10:45:19 -07:00
daanx
b5c6495f69
don't consider memory as large OS pages if only madvise'd
2024-08-20 15:58:36 -07:00