daanx
3c3600f85f
add atomic_cas_ptr_strong_acq_rel
2025-04-02 10:36:01 -07:00
Daan
1052c30f03
fix parenthesis in #if condition
2025-03-28 13:09:24 -07:00
Vincent Fazio
23fbee7ec6
atomic: fix mi_atomic_yield for big-endian arm32
...
Previously, `mi_atomic_yield` would not be defined on ARM32 big-endian
architectures if they were pre-ARMv7.
Rework the #ifdef guard to be more readable and collapse the ARM guards
so both little and big endian are handled via the same mechanism.
Now, ARMv7+ will utilize `yield` while older targets will use `nop`
regardless of endianness.
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
2025-03-28 08:04:07 -05:00
Daan
632eab958b
fix for atomic_yield on arm 32-bit, issue #1046
2025-03-25 16:02:29 -07:00
daanx
4aae566191
fix link error with msvc in C mode (issue #1030 )
2025-03-10 12:17:46 -07:00
Daan
9eac969ea5
improve atomic stat merging
2025-03-06 20:14:33 -08:00
Daan
71c61c4b91
fix multi-threaded access in stats merging
2025-03-06 19:52:06 -08:00
Daan Leijen
5764845c4d
fix build on msvc in C compilation; fix build with clang-cl on Windows
2025-01-06 10:27:46 -08:00
Daan
f33aa58d88
Merge branch 'dev' into dev
2024-12-30 12:27:46 -08:00
Daan Leijen
9561ae4286
rename segment_map_destroy to segment_map_unsafe_destroy
2024-12-30 11:00:54 -08:00
daanx
825dd41769
fix build error
2024-12-21 15:29:39 -08:00
daanx
476d4699ff
limit purgeing to one purge cycle per purge delay
2024-12-21 15:24:46 -08:00
daanx
e3ebebb990
update lock primitive; fix arena exclusive allocation
2024-12-21 14:39:17 -08:00
daanx
93e14344c7
use srw lock on windows
2024-12-20 17:32:26 -08:00
QuarticCat
632421da3a
fix typos
2024-06-19 10:49:03 +08:00
Daan
6b15342709
fix pthread initalization of mutexes
2024-06-02 16:41:07 -07:00
daanx
8f874555d5
add initial support for visiting abandoned segments per subprocess, upstream for python/cpython#114133
2024-06-02 07:47:08 -07:00
Daan Leijen
f93fb900b7
move lock code to atomic.h
2024-06-01 17:25:45 -07:00
Daan Leijen
0b3cd51249
add initial primitive api for locks
2024-06-01 16:45:20 -07:00
daanx
c48a21215b
fix arm64 windows compilation, upstream of python/cpython#111527
2024-05-18 16:41:39 -07:00
daanx
937fd19338
comment
2024-05-18 16:32:10 -07:00
Daan
204348e468
only define WIN32_LEAN_AND_MEAN if needed
2024-04-20 16:58:58 -07:00
Daan Leijen
36ee5f9024
avoid warning on newer clang
2023-06-30 12:21:01 -07:00
Daan Leijen
1325ee640a
avoid warning on newer clang
2023-06-30 12:16:38 -07:00
daanx
67dcbbfa43
refine c17 check for ATOMIC_VAR_INIT
2023-04-23 12:46:38 -07:00
Trout Zhang
e68010573f
Fix ATOMIC_VAR_INIT deprecation warnings for C17
2023-04-23 21:39:20 +08:00
daanx
63ddc31d3f
fix 32-bit compile warnings
2023-04-17 12:05:33 -07:00
daanx
e03f26b035
fix atomic signature
2023-04-17 11:39:55 -07:00
daanx
a8c581059b
Merge branch 'dev' into dev-reset
2023-04-17 09:48:58 -07:00
daanx
a52ba65f65
further fix for atomic build error suggested by Davide Di Gennaro (issue #729 , pr #724 )
2023-04-17 09:13:08 -07:00
daanx
8027fcfecd
Merge branch 'dev' into dev-reset
2023-04-15 17:59:01 -07:00
Sergey Fedorov
cd915900a2
atomic.h: unbreak build on Darwin PPC
2023-04-15 07:06:47 +08:00
Daan
5a866ca7e1
fix build error on Android/Linux for an atomic signature (pr #724 , issue #729 )
2023-04-14 09:44:36 -07:00
Daan Leijen
7cf60deb12
wip: initial delayed purging of arenas
2023-03-31 14:07:59 -07:00
Daan Leijen
0b4c3da2e9
make process init race free (issue #701 )
2023-03-20 13:55:39 -07:00
Daan Leijen
65402836ae
comments
2023-03-20 11:30:52 -07:00
Daan Leijen
f58357548c
restructure header files
2023-03-20 10:37:39 -07:00