Skip to content

Commit da6f015

Browse files
Merge pull request #74171 from kateinoigakukun/yt/fix-mutex-wasm-test
[Synchronization] Fix wasm atomic intrinsic declarations
2 parents d33011a + 2dbbbcf commit da6f015

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

stdlib/public/Synchronization/Mutex/WasmImpl.swift

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,30 +13,34 @@
1313
// Note: All atomic accesses on WASM are sequentially consistent regardless of
1414
// what ordering we tell LLVM to use.
1515

16-
@_extern(c, "llvm.wasm32.memory.atomic.wait32")
16+
@_extern(c, "llvm.wasm.memory.atomic.wait32")
1717
internal func _swift_stdlib_wait(
1818
on: UnsafePointer<UInt32>,
1919
expected: UInt32,
2020
timeout: Int64
2121
) -> UInt32
2222

23-
@_extern(c, "llvm.wasm32.memory.atomic.notify")
24-
internal func _swift_stdlib_wake(on: UnsafePointer<UInt32>, count: UInt32)
23+
@_extern(c, "llvm.wasm.memory.atomic.notify")
24+
internal func _swift_stdlib_wake(on: UnsafePointer<UInt32>, count: UInt32) -> UInt32
2525

2626
extension Atomic where Value == _MutexHandle.State {
2727
internal borrowing func _wait(expected: _MutexHandle.State) {
28-
_swift_stdlib_wait(
28+
#if _runtime(_multithreaded)
29+
_ = _swift_stdlib_wait(
2930
on: .init(_rawAddress),
3031
expected: expected.rawValue,
3132

3233
// A timeout of < 0 means indefinitely.
3334
timeout: -1
3435
)
36+
#endif
3537
}
3638

3739
internal borrowing func _wake() {
40+
#if _runtime(_multithreaded)
3841
// Only wake up 1 thread
39-
_swift_stdlib_wake(on: .init(_rawAddress), count: 1)
42+
_ = _swift_stdlib_wake(on: .init(_rawAddress), count: 1)
43+
#endif
4044
}
4145
}
4246

0 commit comments

Comments
 (0)