diff --git a/stdlib/public/Concurrency/CMakeLists.txt b/stdlib/public/Concurrency/CMakeLists.txt index 00241ebd257e6..2d044e421eb2f 100644 --- a/stdlib/public/Concurrency/CMakeLists.txt +++ b/stdlib/public/Concurrency/CMakeLists.txt @@ -76,12 +76,13 @@ set(SWIFT_RUNTIME_CONCURRENCY_C_SOURCES Actor.cpp AsyncLet.cpp Clock.cpp - GlobalExecutor.cpp ConcurrencyHooks.cpp + GlobalExecutor.cpp EmbeddedSupport.cpp Error.cpp ExecutorBridge.cpp ExecutorChecks.cpp + ExecutorImpl.cpp Setup.cpp Task.cpp TaskAlloc.cpp @@ -167,12 +168,10 @@ set(SWIFT_RUNTIME_CONCURRENCY_SWIFT_SOURCES PlatformExecutorFreeBSD.swift ) -set(SWIFT_RUNTIME_CONCURRENCY_NONEMBEDDED_C_SOURCES - ExecutorImpl.cpp -) - set(SWIFT_RUNTIME_CONCURRENCY_EXECUTOR_SOURCES) set(SWIFT_RUNTIME_CONCURRENCY_NONEMBEDDED_SWIFT_SOURCES) +set(SWIFT_RUNTIME_CONCURRENCY_NONEMBEDDED_C_SOURCES +) if("${SWIFT_CONCURRENCY_GLOBAL_EXECUTOR}" STREQUAL "dispatch") set(SWIFT_RUNTIME_CONCURRENCY_EXECUTOR_SOURCES @@ -195,10 +194,6 @@ else() ) endif() -set(SWIFT_RUNTIME_CONCURRENCY_EMBEDDED_SWIFT_SOURCES - PlatformExecutorNone.swift - ) - set(LLVM_OPTIONAL_SOURCES DispatchGlobalExecutor.cpp CooperativeGlobalExecutor.cpp @@ -314,6 +309,19 @@ if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB AND SWIFT_SHOULD_BUILD_EMBEDDED_CONCURRENC endif() endif() + if("${arch}" MATCHES "wasm32") + set(SWIFT_RUNTIME_CONCURRENCY_EMBEDDED_SWIFT_SOURCES + ExecutorImpl.swift + PlatformExecutorCooperative.swift + ) + else() + set(SWIFT_RUNTIME_CONCURRENCY_EMBEDDED_SWIFT_SOURCES + ExecutorImpl.swift + PlatformExecutorNone.swift + ) + endif() + + set(SWIFT_SDK_embedded_THREADING_PACKAGE none) set(SWIFT_SDK_embedded_ARCH_${arch}_MODULE "${mod}") set(SWIFT_SDK_embedded_ARCH_${mod}_MODULE "${mod}") diff --git a/stdlib/public/Concurrency/Executor.swift b/stdlib/public/Concurrency/Executor.swift index 6b380f7f6dd3c..e90880fb728f7 100644 --- a/stdlib/public/Concurrency/Executor.swift +++ b/stdlib/public/Concurrency/Executor.swift @@ -610,7 +610,7 @@ func _createDefaultExecutors() { } } -#if !$Embedded && !SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY +#if !SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY extension MainActor { @available(StdlibDeploymentTarget 6.2, *) static var _executor: (any MainExecutor)? = nil @@ -627,7 +627,7 @@ extension MainActor { return _executor! } } -#endif // !$Embedded && !SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY +#endif // !SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY extension Task where Success == Never, Failure == Never { @available(StdlibDeploymentTarget 6.2, *) diff --git a/stdlib/public/Concurrency/ExecutorBridge.swift b/stdlib/public/Concurrency/ExecutorBridge.swift index 6db9e63aa2188..38e8b09e7af12 100644 --- a/stdlib/public/Concurrency/ExecutorBridge.swift +++ b/stdlib/public/Concurrency/ExecutorBridge.swift @@ -87,7 +87,6 @@ internal func _jobGetExecutorPrivateData( _ job: Builtin.Job ) -> UnsafeMutableRawPointer -#if !$Embedded #if !SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY @available(StdlibDeploymentTarget 6.2, *) @_silgen_name("swift_getMainExecutor") @@ -100,7 +99,6 @@ internal func _getMainExecutor() -> any SerialExecutor { @_silgen_name("swift_getMainExecutor") internal func _getMainExecutor() -> any SerialExecutor #endif // SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY -#endif // !$Embedded @available(StdlibDeploymentTarget 6.2, *) @_silgen_name("swift_dispatchMain") diff --git a/stdlib/public/Concurrency/MainActor.swift b/stdlib/public/Concurrency/MainActor.swift index cddb4f83162b6..4acd3f2b543b0 100644 --- a/stdlib/public/Concurrency/MainActor.swift +++ b/stdlib/public/Concurrency/MainActor.swift @@ -12,8 +12,6 @@ import Swift -#if !$Embedded - #if SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY @available(SwiftStdlib 5.1, *) @available(*, unavailable, message: "Unavailable in task-to-thread concurrency model") @@ -164,4 +162,3 @@ extension MainActor { } #endif // !SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY -#endif // !$Embedded