Laytan Laats
ccc94f6832
add wait group to wait proc group
2023-08-11 20:21:42 +02:00
Zac Nowicki
46f408cc9f
Fixup link format
2023-07-11 07:43:36 -04:00
Zac Nowicki
363b701925
Improve Mutex struct documentation
2023-07-09 08:30:16 -04:00
gingerBill
4a75a1e839
Merge branch 'master' into separate-int-word-sizes
2023-06-06 22:42:04 +01:00
gingerBill
2fda3cf988
Remove os dependency in primitives_openbsd.odin
2023-05-25 12:17:39 +01:00
gingerBill
03b7194c97
Remove os dependency for futex_openbsd.odin
2023-05-25 12:05:58 +01:00
gingerBill
f5d9ca64f9
Begin work on new pseudo-architecture: wasm64p32
2023-04-20 12:02:32 +01:00
gingerBill
e79883e4fd
Add #no_copy to sync primitives
2023-04-15 15:41:30 +01:00
Colin Davidson
edd78ae129
cleanup of os/linux
2023-02-28 01:17:43 -08:00
gingerBill
f438153b81
Change to use ODIN_VALGRIND_SUPPORT
2023-01-23 09:29:39 +00:00
gingerBill
117c0cceb1
Add helgrind markers to package sync
2023-01-23 09:24:21 +00:00
gingerBill
f8452bf1fc
Add different variants for once_do
2022-12-08 15:58:39 +00:00
gingerBill
20943a81c1
Make sync calls contextless where possible
2022-12-08 15:55:53 +00:00
Jeroen van Rijn
52475b1761
Use __ulock_wait macOS; fix #1959
2022-09-04 13:11:06 +02:00
gingerBill
82765ca96e
Fix RtlWaitOnAddress behaviour with SetLastError(RtlNtStatusToDosError(status)) if an error occurred
2022-08-17 13:12:45 +01:00
gingerBill
9eb3da0474
Remove import cycle on FreeBSD
2022-07-18 15:20:28 +01:00
gingerBill
dfbe68bcfe
Begin to add support for experimental wasm64
2022-05-21 13:30:43 +01:00
gingerBill
e48f41165c
Begin work on Atomics for wasm32 (wait and notify intrinsics)
2022-05-21 12:58:48 +01:00
gingerBill
223897d224
Fix typo
2022-05-18 12:30:44 +01:00
gingerBill
a86574da84
Use RtlWaitOnAddress to allow for a i64 sized duration rather than u32
2022-05-17 22:24:18 +01:00
gingerBill
2720f64c06
Remove unused imports
2022-04-30 13:28:45 +01:00
gingerBill
4e39629a9a
Unify implementation for *nix platforms
2022-04-30 13:09:24 +01:00
gingerBill
78a8da5fea
Add sync.Parker
2022-04-30 12:37:39 +01:00
gingerBill
d5886c1572
Remove the wait group based semaphore implementation
...
It was a misuse of the data structure
2022-04-30 12:37:14 +01:00
gingerBill
dd6337224f
Correct explicit atomic orderings
2022-04-30 11:42:28 +01:00
gingerBill
10cd294cf2
Use Acquire semantics for the futex_wait load shortcut
2022-04-27 15:57:47 +01:00
gingerBill
d6cfb60506
Remove prev from Atomic_Cond
2022-04-27 15:29:21 +01:00
gingerBill
beb698f31d
Merge branch 'master' into sync-cond-futex
2022-04-27 15:21:18 +01:00
gingerBill
bd73b2845b
Unify default Sema and Atomic_Sema behaviour
2022-04-27 15:03:48 +01:00
gingerBill
9cf7a31068
Implement _Sema with Atomic_Sema
2022-04-26 13:44:32 +01:00
gingerBill
07d1a42768
Simplify Atomic_Sema implementation
2022-04-26 13:11:34 +01:00
gingerBill
ec8221cb5d
Simplify Atomic_Cond implementation
2022-04-26 13:04:50 +01:00
gingerBill
2bc89260f1
Add explicit memory ordering for the internal Sema implementation
2022-04-01 15:08:58 +01:00
gingerBill
c78b83f142
Fix _Sema
2022-04-01 14:51:51 +01:00
gingerBill
77de7ebde5
Remove code deduplication
2022-03-31 13:26:10 +01:00
gingerBill
2ec3fa93b4
Remove pthreads dependency
2022-03-31 13:10:15 +01:00
gingerBill
9f2d710c35
Change intrinsics.Atomic_Memory_Order fields to use Ada_Case rather than snake_case
2022-03-31 12:57:24 +01:00
gingerBill
06e8476efc
Correct ordering in auto_reset_event_signal
2022-03-31 10:55:18 +01:00
gingerBill
b2f5b73532
Rename package name to sync
2022-03-31 01:05:50 +01:00
gingerBill
6bc0c611ab
Enforce success failure pairings of compare_exchange_*_explicit at compile time
2022-03-31 00:49:53 +01:00
gingerBill
ba1930eb01
Update core to use new atomic intrinsics
2022-03-31 00:22:54 +01:00
gingerBill
4eb4ae6305
Replace sync with sync2
2022-03-30 17:42:44 +01:00
gingerBill
561b725b0e
Improve spin lock for atomic_mutex_lock
2022-03-30 16:15:48 +01:00
Sébastien Marie
ca67cf032c
freebsd_amd64 support
2022-03-13 11:42:42 +00:00
gingerBill
c12c7d5370
Remove tag
2022-03-12 10:47:52 +00:00
Sébastien Marie
5676c9e7eb
initial OpenBSD support
2022-02-25 08:49:25 +00:00
gingerBill
3d7d347192
Convert ODIN_OS and ODIN_ARCH to use enums rather than use strings
2022-01-20 19:56:05 +00:00
gingerBill
2b918ada4b
Add .Private information to doc-format
2022-01-19 17:15:10 +00:00
gingerBill
b5754b6ed9
Print examples correctly
2022-01-19 16:35:50 +00:00
Yawning Angel
61c581baeb
core/sys/unix: Add syscalls_linux.odin
...
Linux is in the unfortunate situation where the system call number is
architecture specific. This consolidates the system call number
definitions in a single location, adds some wrappers, and hopefully
fixes the existing non-portable invocations of the syscall intrinsic.
2021-11-17 14:00:00 +00:00