Commit Graph

37 Commits

Author SHA1 Message Date
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 a9f46dc86f reduce memory order constraints for better efficiency on ARM etc 2020-07-26 11:58:02 -07:00
daan ebf951e851 extra checks for atomic ptr exchange; extend mi_atomic_yield for win32 2020-07-26 00:15:57 -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 e27422adca switch to using C++ atomics in MSVC as well 2020-07-25 20:55:45 -07:00
daan a9a21f39d8 fix memory order for CAS failure, issue #130 2020-07-23 15:52:02 -07:00
daan b74caddcc1 fix memory order to acq_rel for atomic and/or, issue #130, thanks @mpoeter! 2020-07-23 15:00:49 -07:00
daan 8aa18d3661 fix TSAN warning for statistics maximum, issue #130 2020-07-22 14:16:18 -07:00
daan 444afa934f fix memory order for weak CAS, issue #130, thanks @mary3000! 2020-07-22 13:58:00 -07:00
daan 2e1b4f512d make max update in the stats atomic 2020-07-22 13:45:04 -07:00
daan e3b16fe4ef reduce type casts in atomic operations 2020-01-22 19:44:54 -08:00
daan 9d7ac76d93 fix compilation under Intel C compiler (icc) 2020-01-19 18:35:45 -08:00
daan 17ade3fca5 merge from dev 2019-11-13 17:52:20 -08:00
Marco Wang 29919a938d Avoid the use of variable argument list function 2019-11-13 13:19:21 +08:00
daan 00e19cad9a refactor region code, split out atomic bitmap 2019-11-06 21:37:23 -08:00
daan fdfa6ed260 fix warnings at high warning level in msvc 2019-10-17 16:56:57 -07:00
daan f0a12699c2 remove atomic_iread 2019-08-26 12:42:25 -07:00
daan a654732d99 merge from dev new atomics 2019-08-26 12:30:03 -07:00
daan 7ce9c02fd4 make cas weak use release memory order; improve free assembly 2019-08-26 08:20:26 -07:00
daan 5c7c106d62 strengthen some atomic operations for weak memory models 2019-08-26 08:11:58 -07:00
daan e8664001f7 Use standard _Atomic declarations and clean up atomic operations 2019-08-25 22:59:12 -07:00
daan 42dedb00ec initial implementation of mi_os_reserve_huge_pages 2019-08-19 11:10:06 -07:00
daan 72d8608333 avoid thread over-allocation on initial region allocations 2019-07-15 17:35:43 -07:00
Frank Denis 9129ab0f64 Port to WebAssembly 2019-07-15 02:22:41 +02:00