Alejandro Alonso
fcfbf068a5
Add a special file for mutex on unavailable platforms
2024-06-05 13:51:55 -07:00
Michael Gottesman
5db3b70c65
[concurrency] Update withUnsafe{,Throwing}Continuation to have a sending result.
...
rdar://129299180
2024-06-05 12:50:59 -07:00
Michael Gottesman
7e8daa80cd
[concurrency] Mark the global _emptyDequeStorage as nonisolated(unsafe).
...
We just use it as a way to initialize values. We will always just read from it
and copy from it.
2024-06-05 12:03:57 -07:00
Alex Lorenz
743a501d1b
comment cleanup
2024-06-05 10:53:15 -07:00
Tim Kientzle
40eb3c084d
Expand the work from #73491 to support more MPE layouts. This also switches the
...
MPE layout code to exclusively use the new code. The key observation: existing
reflection metadata seems to already provide enough information in all cases, so
we can abandon an earlier effort to add spare bitmask data.
Resolves rdar://129281368
2024-06-05 10:15:58 -07:00
Yuta Saito
3b1791a638
[Synchronization] Fix Wasm mutex build
...
This change fixes the following build error happening on Wasm:
```
error: referencing instance method '_wait(expected:)' on 'Atomic' requires the types '_MutexHandle.State' and 'UInt32' be equivalent
```
2024-06-05 17:15:43 +00:00
Alejandro Alonso
bc0e6ab392
Conditionalize Mutex.swift
2024-06-05 09:20:59 -07:00
Alejandro Alonso
643c2771e2
Merge pull request #71383 from Azoy/mutex
...
[stdlib] Implement Mutex in Synchronization
2024-06-04 18:38:50 -07:00
Alex Lorenz
273edcf2a2
build CxxStdlib for Android too
2024-06-04 15:46:39 -07:00
Konrad `ktoso` Malawski
4fc0f3ab61
Merge pull request #73634 from ktoso/wip-document-exexecutors-apidoc
2024-06-05 06:27:46 +09:00
Alejandro Alonso
676b8e7bae
Update stdlib/public/core/DictionaryBuilder.swift
...
Co-authored-by: Karoy Lorentey <klorentey@apple.com >
2024-06-04 20:46:11 +00:00
Alejandro Alonso
551acb3d4b
Guard for empty singleton in dictionary builder
2024-06-04 13:30:03 -07:00
Alex Lorenz
e9739d7787
remove additional glibc android check from cmake
2024-06-04 12:37:59 -07:00
Alex Lorenz
9c31f98f6f
[cmake] fix android header name targets
2024-06-04 12:37:51 -07:00
Alex Lorenz
8b8c72acd8
[stdlib] add a _math module overlay for Android for deprecated constants
2024-06-04 12:37:43 -07:00
Alejandro Alonso
cb3fc4b451
Adopt sending and movesAsLike
2024-06-04 09:49:21 -07:00
Alejandro Alonso
6b29e779e4
Support visionOS for Mutex
2024-06-04 09:06:37 -07:00
Alejandro Alonso
66ec7abd54
Underscore some things, add explicit internal
...
Fix some compile issues
2024-06-04 09:06:37 -07:00
Alejandro Alonso
fbfb218d11
Update LinuxImpl.swift
2024-06-04 09:06:37 -07:00
Alejandro Alonso
3a115fc290
Properly handle the syscalls on Linux and do some spins
...
fix some stuff
2024-06-04 09:06:37 -07:00
Alejandro Alonso
9b389a3df5
Fix tests and toolchain build
2024-06-04 09:06:37 -07:00
Alejandro Alonso
e99268864c
Use Builtin.addressOfRawLayout
2024-06-04 09:06:37 -07:00
Alejandro Alonso
6d6e518c38
It is WASI, not WASM
2024-06-04 09:06:37 -07:00
Alejandro Alonso
97072e5b79
Adopt transferring for Mutex init
2024-06-04 09:06:37 -07:00
Alejandro Alonso
ba1787c1d5
Move atomic sources into a folder
2024-06-04 09:06:37 -07:00
Alejandro Alonso
89748d4229
Actually implement the API now
2024-06-04 09:06:36 -07:00
Alejandro Alonso
92e6a989b2
Cache TID in TLS on Linux
2024-06-04 09:06:36 -07:00
Alejandro Alonso
5b7e3d8ca2
Add a WasmMutex
2024-06-04 09:06:36 -07:00
Alejandro Alonso
1146b41d14
Add the underscored unsafe locking primitives
2024-06-04 09:06:36 -07:00
Alejandro Alonso
882568ca4d
Directly call gettid syscall instead of library function
2024-06-04 09:06:36 -07:00
Alejandro Alonso
1f206ec58e
Attempt to release the lock and wake when we can't
2024-06-04 09:06:36 -07:00
Alejandro Alonso
2a60c88457
Implement Mutex in Synchronization
2024-06-04 09:06:34 -07:00
Konrad `ktoso` Malawski
89adc8293c
[Docs] Minor rewording of Task docs, easier to read
2024-06-04 15:42:04 +09:00
Konrad `ktoso` Malawski
2182dce8b7
[Concurrency] Document custom executors in API docs a bit
...
Include review feedback and show how to customize a single actor by
passing an executor through initializer
2024-06-04 15:42:02 +09:00
Konrad `ktoso` Malawski
083fdaa0de
Merge pull request #73998 from nickolas-pohilets/mpokhylets/fix-32-build
2024-06-04 13:49:19 +09:00
Konrad `ktoso` Malawski
228e42528e
Merge pull request #74089 from ktoso/wip-tasklocal-copy-dont-add-runtime-method
2024-06-04 07:02:43 +09:00
Guillaume Lessard
dabd99d798
Revert "[stdlib] Mark some UnsafePointer APIs as transparent"
2024-06-03 09:40:37 -07:00
Konrad `ktoso` Malawski
14b8546392
[Concurrency] Don't add new task locals copy runtime func
2024-06-03 13:55:02 +09:00
Michael Gottesman
ce1dd43395
[sending] Change CheckedContinuation/AsyncThrowingStream.Continuation APIs to use sending parameters and results.
...
Specifically:
1. CheckedContinuation.resume now takes a sending parameter.
2. Async{Throwing,}Stream.yield takes a sending parameter.
3. withCheckedContinuation returns a transferring parameter.
Importantly due to the previous changes around mangling, this is a mangling
neutral change.
rdar://120420024
2024-06-01 23:25:16 -07:00
Alejandro Alonso
1ec03e133b
Merge pull request #74017 from Azoy/pointer-transparent
...
[stdlib] Mark some UnsafePointer APIs as transparent
2024-05-31 12:59:05 -07:00
Saleem Abdulrasool
c3d825144c
Merge pull request #74040 from STREGA/main
...
Revert remove cplusplus requirement on XAudio29
2024-05-31 14:33:20 -04:00
Konrad `ktoso` Malawski
0c44645832
[Concurrency] Implement defensive copying in task groups, rather than crashing ( #73978 )
2024-05-31 11:27:03 -07:00
Rintaro Ishizaki
5824d88362
Merge pull request #74032 from rintaro/stdlib-plugin-path
...
[stdlib] Use -plugin-path for building the standard library
2024-05-31 09:42:05 -07:00
Karl
7a57bd8ae4
[stdlib] Refactor Unicode normalization ( #73590 )
...
* [stdlib] Refactor Unicode normalization
* Tweak inlining
2024-05-31 08:22:37 -06:00
STREGA
d69790bde2
Revert remove cplusplus requirement on XAudio29
2024-05-30 22:48:07 -04:00
Rintaro Ishizaki
299167420a
[stdlib] Use -plugin-path for building the standard library
...
`-external-plugin-path` requires `swift-plugin-server` exectuable, but
there was no dependency. Instead of adding the dependency, use
`-plugin-path` that doesn't require the plugin-server.
2024-05-30 14:02:12 -07:00
Mykola Pokhylets
987b641a7c
Updated HeaderFooterLayout to correctly handle empty Header or Footer
2024-05-30 21:56:28 +02:00
Mykola Pokhylets
a891b8f0fb
Move isDistributedRemoteActor outside #if
2024-05-30 21:55:58 +02:00
Alejandro Alonso
d5f67eb479
Mark some UnsafePointer APIs as transparent
2024-05-30 10:32:14 -07:00
Mike Ash
7427aa5f48
[Concurrency] Remove SWIFT_ENABLE_ASYNC_JOB_DISPATCH_INTEGRATION environment variable.
...
This option serves no purpose anymore and this dispatch integration should always be enabled.
2024-05-30 12:43:19 -04:00