Struct mozjs::jsapi::WasmModule
source · #[repr(C)]pub struct WasmModule {
pub vtable_: *const WasmModule__bindgen_vtable,
pub _base: AtomicRefCounted,
}
Expand description
The WasmModule interface allows the embedding to hold a reference to the underying C++ implementation of a JS WebAssembly.Module object for purposes of efficient postMessage() and (de)serialization from a random thread.
In particular, this allows postMessage() of a WebAssembly.Module: GetWasmModule() is called when making a structured clone of a payload containing a WebAssembly.Module object. The structured clone buffer holds a refcount of the JS::WasmModule until createObject() is called in the target agent’s JSContext. The new WebAssembly.Module object continues to hold the JS::WasmModule and thus the final reference of a JS::WasmModule may be dropped from any thread and so the virtual destructor (and all internal methods of the C++ module) must be thread-safe.
Fields§
§vtable_: *const WasmModule__bindgen_vtable
§_base: AtomicRefCounted
Trait Implementations§
source§impl Debug for WasmModule
impl Debug for WasmModule
source§impl PartialEq<WasmModule> for WasmModule
impl PartialEq<WasmModule> for WasmModule
source§fn eq(&self, other: &WasmModule) -> bool
fn eq(&self, other: &WasmModule) -> bool
self
and other
values to be equal, and is used
by ==
.