gingerBill
3bc7c51325
Merge pull request #3283 from laytan/darwin-new-wait-on-address-api
...
darwin: use new wait on address API if possible
2024-03-27 11:20:32 +00:00
gingerBill
600ca83386
Merge pull request #3326 from rick-masters/fix_fields_wait_signal
...
Fix fields_wait_signal futex.
2024-03-25 13:29:08 +00:00
gingerBill
e5629dafd0
Potentially fix a race condition with parapoly types (related to #3328 )
2024-03-25 13:23:43 +00:00
rick-masters
6d4f30de1a
Fix fields_wait_signal futex.
2024-03-24 16:28:55 +00:00
Laytan Laats
9c455b2213
darwin: use new wait on address API if possible
2024-03-15 21:43:16 +01:00
avanspector
d4d9f55556
Update threading.cpp
2024-03-01 00:41:28 +01:00
avanspector
24c8b15409
small fixes
2024-02-25 02:38:35 +01:00
avanspector
028a79e66c
Update threading.cpp
2024-02-25 02:34:41 +01:00
avanspector
824c831190
Implement futex
2024-02-24 23:46:55 +01:00
Slendi
c178f7199d
Get Odin to compile on Haiku
...
This patch makes Odin to compile on Haiku which is a good first step.
Now, all that's needed to do is to figure out how to do futexes, which
I am blaming for the program crashing.
2024-02-15 15:51:28 +02:00
gingerBill
c5c2a4d09d
Fix typo
2024-02-13 17:13:39 +00:00
gingerBill
d496dbf3a0
Fix race condition with #soa
2024-02-13 16:54:41 +00:00
gingerBill
cbfb32c34c
Fix race condition with regards to #soa arrays by using the fields mutex
2024-02-13 16:21:41 +00:00
Stan Irvin-Wilmot
7b53dbeb8a
fix loop condition on compare_exhange_strong result in semaphore_wait - it was backwards so would loop on success and bail on fail
2024-01-10 15:53:00 +00:00
Paco Pascal
d9fab5e824
Return value of _umtx_op on FreeBSD wasn't checked correctly
2023-11-18 20:56:22 -05:00
gingerBill
8b4c530062
Disable HAS_VALGRIND logic for BlockingMutex ( fixes #2703 )
2023-08-16 11:02:09 +01:00
gingerBill
6909e0d774
Minor changes to Semaphore to make it trivially copyable
2023-01-18 15:41:39 +00:00
gingerBill
4a8564aff7
Update threading.cpp to have helgrind annotations
2023-01-16 19:23:13 +00:00
gingerBill
15469758de
Merge branch 'master' into compiler-improvements-2023-01
2023-01-10 16:25:38 +00:00
Colin Davidson
a58650728e
fix futex error handling
2023-01-05 01:27:37 -08:00
gingerBill
d06a0e7093
Improve the PtrSet to be as simple and small as possible
2023-01-04 13:30:27 +00:00
gingerBill
c7a704d345
Use RwMutex for the Scope
2023-01-03 15:26:47 +00:00
gingerBill
0fb3032b73
General improves to alloc_ast_node and other unnecessary checks
2023-01-03 14:45:09 +00:00
gingerBill
bc9ee8e1a4
Remove loops within futex signals on Linux
2023-01-02 22:13:49 +00:00
gingerBill
52b319dbfd
Fix darwin's futex implementation in the compiler
2023-01-02 21:53:41 +00:00
gingerBill
0e040be941
Add define for darwin
2023-01-02 17:49:16 +00:00
gingerBill
9737b65d9c
Explicitly call store for futex
2023-01-02 17:18:59 +00:00
gingerBill
c293f5b7eb
Remove unneeded mutex
2023-01-02 16:56:05 +00:00
gingerBill
da479c7628
Minor style change
2023-01-02 00:35:12 +00:00
gingerBill
3c90a05957
Replace condition+mutex with futex
2023-01-02 00:26:17 +00:00
gingerBill
5c519f0e8d
Remove the synchronization primitive init/destroy calls
2023-01-01 16:19:21 +00:00
gingerBill
74e6d9144e
Get around the std::atomic issue
2023-01-01 16:15:35 +00:00
gingerBill
20d451396d
Begin work on futex-ifying the threading primitives
2023-01-01 15:06:57 +00:00
gingerBill
60d0390ef8
Unify compiler Futex interface
2023-01-01 14:48:31 +00:00
Colin Davidson
27ba1d596c
rework openbsd futexes a little
2022-12-29 12:00:16 -08:00
Colin Davidson
98e5523f2f
cover openbsd too
2022-12-29 11:46:43 -08:00
Colin Davidson
223b66f422
oops if->elif
2022-12-29 11:06:35 -08:00
Colin Davidson
04a4dbcdaf
add freebsd support
2022-12-29 11:05:31 -08:00
Colin Davidson
ef9e31cb31
fix ulock/uwait imports
2022-12-28 22:08:39 -08:00
Colin Davidson
e019673a18
fix build
2022-12-28 21:52:41 -08:00
Colin Davidson
5f27f2dd7f
move to work-stealing threadpool
2022-12-28 21:44:17 -08:00
gingerBill
134c7db4d2
Combine join and destroy for threads
2022-12-20 14:08:24 +00:00
gingerBill
a0e3a99dd1
Remove need for semaphore in Thread
2022-12-20 14:07:14 +00:00
gingerBill
c1f5be24e2
Remove dead code in the compiler
2022-12-18 22:49:10 +00:00
gingerBill
ac5f5a33e9
gb_internal a lot
2022-12-18 21:17:07 +00:00
Sébastien Marie
5676c9e7eb
initial OpenBSD support
2022-02-25 08:49:25 +00:00
gingerBill
32ec1162bf
Use more {} ctor
2022-01-10 14:52:47 +00:00
gingerBill
7cc265e14c
Add mutex guards for signature scopes
2022-01-10 14:50:28 +00:00
Yawning Angel
dce120258f
src: Add preliminary support for Linux AArch64
...
Tested via `tests/core`, on a Raspberry Pi 4 running the latest
64-bit Raspberry Pi OS image (LLVM 11).
2021-12-23 02:46:32 +00:00
gingerBill
2f34f1283a
Make thread_join be more correct
2021-08-26 22:42:56 +01:00