Commit Graph

64 Commits

Author SHA1 Message Date
Andreas T Jonsson
58f07698e8 Added arm64 support for NetBSD 2024-06-05 10:18:47 +02:00
Andreas T Jonsson
b72c2edabb Merge branch 'master' into netbsd 2024-05-10 09:04:52 +02:00
Feoramund
1165d65c94 Minimally support compiling Odin on FreeBSD arm64
This is enough to get Odin itself compiling and the demo running.
2024-05-05 07:26:45 -04:00
Andreas T Jonsson
3000508c02 Switched to native futex on NetBSD 2024-04-25 21:50:34 +02:00
Andreas T Jonsson
80067a959b Added thread name
Call pthread_setname_np with the correct number of arguments on NetBSD.
2024-04-17 09:42:41 +02:00
Andreas T Jonsson
4558f3992a Initial commit of NetBSD port 2024-04-16 14:27:29 +02:00
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