gingerBill
|
f3b0b82461
|
Fix futex
|
2024-02-22 14:04:31 +00:00 |
|
gingerBill
|
fea38f6910
|
Minor changes to futex implementation on Linux
|
2024-02-22 14:01:39 +00:00 |
|
gingerBill
|
21d1c0e5a4
|
Revert change since it is not needed
|
2024-02-21 12:58:26 +00:00 |
|
gingerBill
|
d7b7804215
|
if -> while in wait_signal_until_available to check for spurious wake-ups
|
2024-02-21 12:55:26 +00: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 |
|
gingerBill
|
4625b25287
|
Wrap linux specific code for internal_thread_proc
|
2021-08-26 22:26:51 +01:00 |
|
gingerBill
|
8d8b3fd071
|
Add missing header
|
2021-08-26 22:24:26 +01:00 |
|
gingerBill
|
a852c17614
|
Don't permit any signal delivery to threads on Linux
|
2021-08-26 22:20:10 +01:00 |
|
gingerBill
|
ad3a3547d6
|
Unify thread pool logic across the rest of the compiler, using a global thread pool
|
2021-08-26 21:22:30 +01:00 |
|
gingerBill
|
aba14c43ac
|
Fix typo
|
2021-08-26 17:57:29 +01:00 |
|
gingerBill
|
25c3fd48f0
|
Improved ThreadPool implementation
|
2021-08-26 17:56:28 +01:00 |
|