File tree Expand file tree Collapse file tree 7 files changed +28
-0
lines changed Expand file tree Collapse file tree 7 files changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -493,6 +493,7 @@ coredump = ["wasmtime-cli-flags/coredump"]
493
493
addr2line = [" wasmtime/addr2line" ]
494
494
debug-builtins = [" wasmtime/debug-builtins" ]
495
495
threads = [" wasmtime-cli-flags/threads" ]
496
+ shared-everything-threads = [" wasmtime-cli-flags/shared-everything-threads" ]
496
497
gc = [" wasmtime-cli-flags/gc" , " wasmtime/gc" ]
497
498
gc-drc = [" gc" , " wasmtime/gc-drc" , " wasmtime-cli-flags/gc-drc" ]
498
499
gc-null = [" gc" , " wasmtime/gc-null" , " wasmtime-cli-flags/gc-null" ]
Original file line number Diff line number Diff line change @@ -37,5 +37,6 @@ gc = ["wasmtime/gc"]
37
37
gc-drc = [" gc" , " wasmtime/gc-drc" ]
38
38
gc-null = [" gc" , " wasmtime/gc-null" ]
39
39
threads = [" wasmtime/threads" ]
40
+ shared-everything-threads = [" wasmtime/shared-everything-threads" ]
40
41
memory-protection-keys = [" wasmtime/memory-protection-keys" ]
41
42
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.
@@ -1014,6 +1016,7 @@ impl CommonOptions {
1014
1016
( "component-model-async" , component_model_async_builtins, wasm_component_model_async_builtins)
1015
1017
( "component-model-async" , component_model_async_stackful, wasm_component_model_async_stackful)
1016
1018
( "threads" , threads, wasm_threads)
1019
+ ( "shared-everything-threads" , shared_everything_threads, wasm_shared_everything_threads)
1017
1020
( "gc" , gc, wasm_gc)
1018
1021
( "gc" , reference_types, wasm_reference_types)
1019
1022
( "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 @@ -70,6 +70,7 @@ compile = [
70
70
" dep:wasmprinter" ,
71
71
]
72
72
threads = [' std' ]
73
+ shared-everything-threads = [' std' ]
73
74
wmemcheck = [' std' ]
74
75
std = [
75
76
' 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 @@ -848,6 +848,21 @@ impl Config {
848
848
self
849
849
}
850
850
851
+ /// Configures whether the WebAssembly [shared-everything-threads] proposal
852
+ /// will be enabled for compilation.
853
+ ///
854
+ /// This feature gates extended use of the `shared` attribute on items other
855
+ /// than memories, extra atomic instructions, and new component model
856
+ /// intrinsics for spawning threads. It depends on the
857
+ /// [`wasm_threads`][Self::wasm_threads] being enabled.
858
+ ///
859
+ /// [shared-everything-threads]:
860
+ /// https://github.com/webassembly/shared-everything-threads
861
+ pub fn wasm_shared_everything_threads ( & mut self , enable : bool ) -> & mut Self {
862
+ self . wasm_feature ( WasmFeatures :: SHARED_EVERYTHING_THREADS , enable) ;
863
+ self
864
+ }
865
+
851
866
/// Configures whether the [WebAssembly reference types proposal][proposal]
852
867
/// will be enabled for compilation.
853
868
///
You can’t perform that action at this time.
0 commit comments