| /wasmtime-44.0.1/docs/ |
| H A D | examples-multithreaded-embedding.md | 6 * [Rust](https://github.com/bytecodealliance/wasmtime/blob/main/examples/threads.rs) 7 * [C](https://github.com/bytecodealliance/wasmtime/blob/main/examples/threads.c) 8 * [C++](https://github.com/bytecodealliance/wasmtime/blob/main/examples/threads.cc) 15 {{#include ../examples/threads.wat}} 23 {{#include ../examples/threads.rs}} 27 {{#include ../examples/threads.c}} 31 {{#include ../examples/threads.cc}}
|
| H A D | stability-wasm-proposals.md | 53 | [`threads`] | ✅ | ✅ | [^8] | ❌[^4] | ✅ | ✅ | 56 [^4]: Fuzzing with threads is an open implementation question that is expected 57 to get fleshed out as the [`shared-everything-threads`] proposal advances. 94 | [`shared-everything-threads`] | [#9466](https://github.com/bytecodealliance/wasmtime/issues/9466)… 110 [`shared-everything-threads`]: https://github.com/WebAssembly/shared-everything-threads 113 [`threads`]: https://github.com/WebAssembly/threads
|
| H A D | stability-tiers.md | 87 | WebAssembly Proposal | [`threads`] | fuzzing, API quality | 95 [`threads`]: https://github.com/WebAssembly/threads 132 [`wasi-threads`]: https://github.com/WebAssembly/wasi-threads 161 Wasmtime. For example the `threads` Cargo feature requires the standard library. 163 targets are sound in the presence of multiple threads but will panic on 227 | [`threads`] | ✅ | ✅ | 252 | [`threads`] | ✅ | ❌ | 277 | [`threads`] | ✅ | ❌ | 302 | [`threads`] | ✅ | ❌ | 332 | [`threads`] | ❌[^b] | ❌ | [all …]
|
| /wasmtime-44.0.1/crates/wasmtime/src/runtime/vm/ |
| H A D | parking_spot.rs | 380 threads: $threads:expr, 400 repeats: 10000, latches: 1, delay: 0, threads: 1, single_unparks: 0 406 repeats: 1000, latches: 1, delay: 0, threads: 1, single_unparks: 1 450 let mut threads = Vec::with_capacity(num_threads as _); in run_parking_test() localVariable 453 threads.push(s.spawn(move || test.run())); in run_parking_test() 455 tests.push((test, threads)); in run_parking_test() 465 for (test, threads) in tests { in run_parking_test() 467 for thread in threads { in run_parking_test() 614 let mut threads = vec![thread]; in wait_with_timeout() localVariable 616 threads.push(s.spawn(|| { in wait_with_timeout() [all …]
|
| /wasmtime-44.0.1/crates/wasi-threads/ |
| H A D | README.md | 1 # wasmtime-wasi-threads 3 Implement the `wasi-threads` [specification] in Wasmtime. 5 [specification]: https://github.com/WebAssembly/wasi-threads 9 > for all threads. Due to the complexity of stopping threads, however, this
|
| H A D | Cargo.toml | 2 name = "wasmtime-wasi-threads" 5 description = "Wasmtime implementation of the wasi-threads API" 22 wasmtime = { workspace = true, features = ['threads'] }
|
| /wasmtime-44.0.1/ |
| H A D | .gitmodules | 4 [submodule "tests/wasi_testsuite/wasi-threads"] 5 path = tests/wasi_testsuite/wasi-threads 6 url = https://github.com/WebAssembly/wasi-threads
|
| /wasmtime-44.0.1/examples/ |
| H A D | threads.cc | 97 std::vector<std::thread> threads; in main() local 98 threads.reserve(N_THREADS); in main() 100 threads.emplace_back(run_worker, engine, module); in main() 101 for (auto &t : threads) in main()
|
| H A D | CMakeLists.txt | 88 create_target(threads threads.c) 89 create_target(threads-cpp threads.cc) 109 create_rust_test(threads)
|
| H A D | threads.c | 166 pthread_t threads[N_THREADS]; in main() local 178 pthread_create(&threads[i], &attrs, &run, args); in main() 184 pthread_join(threads[i], NULL); in main()
|
| /wasmtime-44.0.1/cranelift/filetests/src/ |
| H A D | runner.rs | 80 threads: Option<ConcurrentRunner>, field 95 threads: None, in new() 119 assert!(self.threads.is_none()); in start_threads() 120 self.threads = Some(ConcurrentRunner::new()); in start_threads() 207 if let Some(ref mut conc) = self.threads { in schedule_jobs() 221 while let Some(reply) = self.threads.as_mut().and_then(ConcurrentRunner::try_get) { in schedule_jobs() 292 if let Some(mut conc) = self.threads.take() { in drain_threads()
|
| /wasmtime-44.0.1/crates/test-util/src/ |
| H A D | wasmtime_wast.rs | 32 threads, in apply_test_config() 67 let threads = threads.unwrap_or(false); in apply_test_config() localVariable 103 .wasm_threads(threads) in apply_test_config()
|
| H A D | wast.rs | 121 ret.threads = Some(true); in spec_test_config() 200 ret.threads = Some(true); in component_test_config() 256 threads 393 || config.threads(); in should_fail() 400 config.threads() || config.legacy_exceptions() || config.stack_switching() in should_fail()
|
| /wasmtime-44.0.1/tests/misc_testsuite/component-model-threading/ |
| H A D | many-threads-indexed.wast | 4 ;; Spawns 5 threads, makes them write their indices into a buffer out-of-order, then yields to them… 15 ;; After all threads have spawned and written their indices to the byte position given by their ass… 19 ;; The main thread will then yield to these threads in the order that they are stored in the buffer, 21 ;; After all threads have been yielded to, the buffer contents will be: 42 ;; A memory block that threads will write their thread indexes and assigned values into 46 ;; We initialize this to 20 (threads * 4 bytes of storage per thread) 71 ;; Spawn 5 new threads with assigned numbers 78 ;; Yield to all threads in ascending order of assigned number
|
| /wasmtime-44.0.1/benches/ |
| H A D | instantiation.rs | 94 for threads in 1..=num_cpus::get_physical().min(16) { in bench_parallel() 98 threads, in bench_parallel() 99 if threads == 1 { "" } else { "s" } in bench_parallel() 108 let workers = (0..threads - 1) in bench_parallel() 126 while count.load(SeqCst) != threads - 1 { in bench_parallel()
|
| /wasmtime-44.0.1/tests/all/cli_tests/ |
| H A D | threads.wat | 18 ;; Print "Running wasi_thread_start" in several threads. 23 ;; Wait for all the threads to notify us that they are done. 28 ;; wait value and to check if all three threads are complete. This wait is 39 ;; A threads-enabled module must export this spec-designated entry point.
|
| /wasmtime-44.0.1/crates/c-api/artifact/ |
| H A D | Cargo.toml | 36 'threads', 62 threads = ["wasmtime-c-api/threads"]
|
| /wasmtime-44.0.1/crates/winch/ |
| H A D | Cargo.toml | 35 threads = ['winch-codegen/threads']
|
| /wasmtime-44.0.1/winch/codegen/ |
| H A D | Cargo.toml | 42 threads = ['wasmtime-environ/threads']
|
| /wasmtime-44.0.1/crates/cli-flags/ |
| H A D | Cargo.toml | 38 threads = ["wasmtime/threads"]
|
| /wasmtime-44.0.1/crates/cranelift/ |
| H A D | Cargo.toml | 50 threads = ["wasmtime-environ/threads"]
|
| /wasmtime-44.0.1/tests/all/ |
| H A D | module.rs | 482 let mut threads = Vec::new(); in concurrent_type_modifications_and_checks() localVariable 488 threads.push(std::thread::spawn({ in concurrent_type_modifications_and_checks() 531 threads.push(std::thread::spawn({ in concurrent_type_modifications_and_checks() 541 threads.push(std::thread::spawn({ in concurrent_type_modifications_and_checks() 555 for thread in threads { in concurrent_type_modifications_and_checks()
|
| /wasmtime-44.0.1/crates/c-api/ |
| H A D | Cargo.toml | 57 threads = ["wasmtime/threads"]
|
| /wasmtime-44.0.1/cranelift/filetests/filetests/runtests/ |
| H A D | fence.clif | 10 ; require multiple threads, which requires a runtime like Wasmtime.
|
| /wasmtime-44.0.1/tests/misc_testsuite/threads/ |
| H A D | atomics_notify.wast | 1 ;;! threads = true
|