File tree 7 files changed +28
-0
lines changed
7 files changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -479,6 +479,7 @@ coredump = ["wasmtime-cli-flags/coredump"]
479
479
addr2line = [" wasmtime/addr2line" ]
480
480
debug-builtins = [" wasmtime/debug-builtins" ]
481
481
threads = [" wasmtime-cli-flags/threads" ]
482
+ shared-everything-threads = [" wasmtime-cli-flags/shared-everything-threads" ]
482
483
gc = [" wasmtime-cli-flags/gc" , " wasmtime/gc" ]
483
484
gc-drc = [" gc" , " wasmtime/gc-drc" , " wasmtime-cli-flags/gc-drc" ]
484
485
gc-null = [" gc" , " wasmtime/gc-null" , " wasmtime-cli-flags/gc-null" ]
Original file line number Diff line number Diff line change @@ -38,5 +38,6 @@ gc = ["wasmtime/gc"]
38
38
gc-drc = [" gc" , " wasmtime/gc-drc" ]
39
39
gc-null = [" gc" , " wasmtime/gc-null" ]
40
40
threads = [" wasmtime/threads" ]
41
+ shared-everything-threads = [" wasmtime/shared-everything-threads" ]
41
42
memory-protection-keys = [" wasmtime/memory-protection-keys" ]
42
43
pulley = [" wasmtime/pulley" ]
Original file line number Diff line number Diff line change @@ -358,6 +358,8 @@ wasmtime_option_group! {
358
358
pub tail_call: Option <bool >,
359
359
/// Configure support for the threads proposal.
360
360
pub threads: Option <bool >,
361
+ /// Configure support for the shared-everything-threads proposal.
362
+ pub shared_everything_threads: Option <bool >,
361
363
/// Configure support for the memory64 proposal.
362
364
pub memory64: Option <bool >,
363
365
/// Configure support for the component-model proposal.
@@ -995,6 +997,7 @@ impl CommonOptions {
995
997
( "component-model" , component_model_multiple_returns, wasm_component_model_multiple_returns)
996
998
( "component-model-async" , component_model_async, wasm_component_model_async)
997
999
( "threads" , threads, wasm_threads)
1000
+ ( "shared-everything-threads" , shared_everything_threads, wasm_shared_everything_threads)
998
1001
( "gc" , gc, wasm_gc)
999
1002
( "gc" , reference_types, wasm_reference_types)
1000
1003
( "gc" , function_references, wasm_function_references)
Original file line number Diff line number Diff line change @@ -46,3 +46,4 @@ gc = ["wasmtime-environ/gc"]
46
46
gc-drc = [" gc" , " wasmtime-environ/gc-drc" ]
47
47
gc-null = [" gc" , " wasmtime-environ/gc-null" ]
48
48
threads = [" wasmtime-environ/threads" ]
49
+ shared-everything-threads = [" wasmtime-environ/shared-everything-threads" ]
Original file line number Diff line number Diff line change @@ -65,6 +65,7 @@ compile = [
65
65
" dep:wasmprinter" ,
66
66
]
67
67
threads = [' std' ]
68
+ shared-everything-threads = [' std' ]
68
69
wmemcheck = [' std' ]
69
70
std = [
70
71
' anyhow/std' ,
Original file line number Diff line number Diff line change @@ -309,6 +309,12 @@ threads = [
309
309
" std" ,
310
310
]
311
311
312
+ # Enable runtime support for the WebAssembly shared-everything-threads proposal.
313
+ shared-everything-threads = [
314
+ " wasmtime-cranelift?/shared-everything-threads" ,
315
+ " std" ,
316
+ ]
317
+
312
318
# Controls whether backtraces will attempt to parse DWARF information in
313
319
# WebAssembly modules and components to provide filenames and line numbers in
314
320
# stack traces.
Original file line number Diff line number Diff line change @@ -849,6 +849,21 @@ impl Config {
849
849
self
850
850
}
851
851
852
+ /// Configures whether the WebAssembly [shared-everything-threads] proposal
853
+ /// will be enabled for compilation.
854
+ ///
855
+ /// This feature gates extended use of the `shared` attribute on items other
856
+ /// than memories, extra atomic instructions, and new component model
857
+ /// intrinsics for spawning threads. It depends on the
858
+ /// [`wasm_threads`][Self::wasm_threads] being enabled.
859
+ ///
860
+ /// [shared-everything-threads]:
861
+ /// https://github.com/webassembly/shared-everything-threads
862
+ pub fn wasm_shared_everything_threads ( & mut self , enable : bool ) -> & mut Self {
863
+ self . wasm_feature ( WasmFeatures :: SHARED_EVERYTHING_THREADS , enable) ;
864
+ self
865
+ }
866
+
852
867
/// Configures whether the [WebAssembly reference types proposal][proposal]
853
868
/// will be enabled for compilation.
854
869
///
You can’t perform that action at this time.
0 commit comments