54 Commits

Author SHA1 Message Date
Daan c914c438d5 fix atomic warnings on clang14 (issue #571) 2022-04-08 14:09:38 -07:00
Daan 533e964d50 add space after _Atomic to prevent errors on msvc without /TP (see PR #452) 2021-10-19 10:17:30 -07:00
Daan Leijen 6d6542c332 fixes for M1; disable interpose use zones; fix pedantic warnings 2021-06-17 19:15:09 -07:00
Jim Huang c90e7c25a6 Bump copyright date
Each source file has been changed according to relevant Git activities.
2021-04-24 16:35:11 +00:00
Daan Leijen 6eedf000bf rename <Windows.h> include to <windows.h> for mingw compatibility (see pr #367) 2021-02-22 13:04:11 -08:00
Daan Leijen 7120867c64 remove spurious parenthesis (#350) 2021-01-28 17:36:35 -08:00
Michael R. Crusoe 58cdf3748d add/improve atomic yields for SSE2, ARM*, PowerPC 2021-01-23 16:45:47 +01:00
David Carlier bb36e56cb1 Restricts cpu yield instructions a little.
adding clobber for ARM and preventing older 32 bits chips not supporting this instruction.
2020-12-12 12:19:04 +00:00
daan 80c3a157e2 add i64 atomics 2020-09-06 13:21:02 -07:00
daan 20d8f1f909 roll back previous commit (use standard C++ atomics on msvc 2020-09-05 11:29:38 -07:00
daan d259d71a31 experiment with using non-c++ atomics on msvc 2020-09-05 11:27:06 -07:00
daan ba75c631f9 fix msvc compilation in C mode 2020-09-05 09:37:09 -07:00
daan d582a99e0b fix C++ compilation with new atomics 2020-09-05 09:17:42 -07:00
daan 16fdc12116 merge from dev-atomic 2020-09-03 09:47:01 -07:00
daan bae456e082 bump version to 1.6.6 with new atomics 2020-09-03 09:45:53 -07:00
daan fcc275bffb small compilation warning fixes (extra semicolon etc) 2020-08-29 19:30:38 -07:00
daan 1c23031de3 enable --std=c99 compilation; fix mingw compilation 2020-08-09 17:55:17 -07:00
daan c873f3a376 replace atomics with C11/C++ atomics with explicit memory order; passes tsan. Issue #130 2020-07-26 18:01:33 -07:00
daan 7c5d2cf84b strengthen memory order of bit operations; insert memory fences 2020-07-26 14:19:30 -07:00
daan 3c498d1cbc reduce memory order constraints for better efficiency on ARM etc 2020-07-26 11:58:02 -07:00
daan 7a1a4529b4 extra checks for atomic ptr exchange; extend mi_atomic_yield for win32 2020-07-26 00:15:57 -07:00
daan 6cd03d4fee bring inline with C11 atomics; no volatile and cas order of expected/desired 2020-07-25 22:52:27 -07:00
daan 6432405bc0 switch to using C++ atomics in MSVC as well 2020-07-25 20:55:45 -07:00
daan afb2c6069b fix memory order for CAS failure, issue #130 2020-07-23 15:52:02 -07:00
daan 6ca6b21067 fix memory order to acq_rel for atomic and/or, issue #130, thanks @mpoeter! 2020-07-23 15:00:49 -07:00
daan 2fdd158d86 fix TSAN warning for statistics maximum, issue #130 2020-07-22 14:16:18 -07:00
daan 4676c087a4 fix memory order for weak CAS, issue #130, thanks @mary3000! 2020-07-22 13:58:00 -07:00
daan d03c52d8e4 make max update in the stats atomic 2020-07-22 13:45:04 -07:00
daan 5d6772c916 reduce type casts in atomic operations 2020-01-22 19:44:54 -08:00
daan c22835cb4f fix compilation under Intel C compiler (icc) 2020-01-19 18:35:45 -08:00
daan 72c67f65a3 merge from dev 2019-11-13 17:52:20 -08:00
Marco Wang 8b77a6e33b Avoid the use of variable argument list function 2019-11-13 13:19:21 +08:00
daan 5f46f2b9c4 refactor region code, split out atomic bitmap 2019-11-06 21:37:23 -08:00
daan 193db56e4a fix warnings at high warning level in msvc 2019-10-17 16:56:57 -07:00
daan 2c679b02ff remove atomic_iread 2019-08-26 12:42:25 -07:00
daan 4008874b39 merge from dev new atomics 2019-08-26 12:30:03 -07:00
daan ea0a78338e make cas weak use release memory order; improve free assembly 2019-08-26 08:20:26 -07:00
daan 57e245f6c1 strengthen some atomic operations for weak memory models 2019-08-26 08:11:58 -07:00
daan ae1caeca00 Use standard _Atomic declarations and clean up atomic operations 2019-08-25 22:59:12 -07:00
daan 62a5b25b3a initial implementation of mi_os_reserve_huge_pages 2019-08-19 11:10:06 -07:00
daan ab570952a7 avoid thread over-allocation on initial region allocations 2019-07-15 17:35:43 -07:00
Frank Denis c4ded66185 Port to WebAssembly 2019-07-15 02:22:41 +02:00
daan b67720b614 Merge branch 'dev' into dev-exp 2019-07-09 15:12:18 -07:00
daan ed6f7bc380 update atomic exchange memory model annotations for unix 2019-07-09 14:56:43 -07:00
daan a931f70235 merge with dev 2019-07-08 15:42:42 -07:00
daan 405a3bff8b Fix compilation error with MSVC C++ 2019-07-07 21:59:53 -07:00
daan 4d57b876cc Initial commit of separate memory region layer and improved large OS pages support, see 'memory.c' 2019-07-02 07:23:24 -07:00
Julian Fang 289166a5dd Remove underscore prefixes to match c lanuguage standard 2019-06-26 12:57:13 +08:00
Frank Denis 7792065aec fn() is not a valid C prototype 2019-06-25 12:16:36 +02:00
daan 8ad7e51a4f remove lock code from atomics (as it is unused) 2019-06-24 17:54:41 -07:00