diff --git a/lib/runtime-core/src/backend.rs b/lib/runtime-core/src/backend.rs index 607e72ee3..4bfb25c15 100644 --- a/lib/runtime-core/src/backend.rs +++ b/lib/runtime-core/src/backend.rs @@ -76,9 +76,18 @@ impl Default for MemoryBoundCheckMode { } /// Controls which experimental features will be enabled. +/// Features usually have a corresponding [WebAssembly proposal][wasm-props]. +/// +/// [wasm-props]: https://github.com/WebAssembly/proposals #[derive(Debug, Default)] pub struct Features { + /// Whether support for the [SIMD proposal][simd-prop] is enabled. + /// + /// [simd-prop]: https://github.com/webassembly/simd pub simd: bool, + /// Whether support for the [threads proposal][threads-prop] is enabled. + /// + /// [threads-prop]: https://github.com/webassembly/threads pub threads: bool, } diff --git a/lib/runtime-core/src/lib.rs b/lib/runtime-core/src/lib.rs index 4e7cdcee3..f211e80db 100644 --- a/lib/runtime-core/src/lib.rs +++ b/lib/runtime-core/src/lib.rs @@ -173,7 +173,7 @@ pub fn validate_and_report_errors_with_features( } } -/// Creates a new module from the given cache `Artifact` for the specified compiler backend +/// Creates a new module from the given cache [`Artifact`] for the specified compiler backend pub unsafe fn load_cache_with( cache: Artifact, compiler: &dyn backend::Compiler, diff --git a/lib/runtime-core/src/vm.rs b/lib/runtime-core/src/vm.rs index 2864bf8ed..ca7032c87 100644 --- a/lib/runtime-core/src/vm.rs +++ b/lib/runtime-core/src/vm.rs @@ -54,11 +54,14 @@ pub struct Ctx { /// This is intended to be user-supplied, per-instance /// contextual data. There are currently some issue with it, /// notably that it cannot be set before running the `start` - /// function in a WebAssembly module. + /// function in a WebAssembly module. Additionally, the `data` + /// field may be taken by another ABI implementation that the user + /// wishes to use in addition to their own, such as WASI. This issue is + /// being discussed at [#1111](https://github.com/wasmerio/wasmer/pull/1111). /// - /// [#219](https://github.com/wasmerio/wasmer/pull/219) fixes that - /// issue, as well as allowing the user to have *per-function* - /// context, instead of just per-instance. + /// Alternatively, per-function data can be used if the function in the + /// [`ImportObject`] is a closure. This cannot duplicate data though, + /// so if data may be shared if the [`ImportObject`] is reused. pub data: *mut c_void, /// If there's a function set in this field, it gets called