Struct wasmtime_environ::Tunables
source · pub struct Tunables {Show 16 fields
pub static_memory_reservation: u64,
pub static_memory_offset_guard_size: u64,
pub dynamic_memory_offset_guard_size: u64,
pub dynamic_memory_growth_reserve: u64,
pub generate_native_debuginfo: bool,
pub parse_wasm_debuginfo: bool,
pub consume_fuel: bool,
pub epoch_interruption: bool,
pub static_memory_bound_is_maximum: bool,
pub guard_before_linear_memory: bool,
pub table_lazy_init: bool,
pub generate_address_map: bool,
pub debug_adapter_modules: bool,
pub relaxed_simd_deterministic: bool,
pub winch_callable: bool,
pub signals_based_traps: bool,
}
Expand description
Tunable parameters for WebAssembly compilation.
Fields§
§static_memory_reservation: u64
For static heaps, the size in bytes of virtual memory reservation for the heap.
static_memory_offset_guard_size: u64
The size in bytes of the offset guard for static heaps.
dynamic_memory_offset_guard_size: u64
The size in bytes of the offset guard for dynamic heaps.
dynamic_memory_growth_reserve: u64
The size, in bytes, of reserved memory at the end of a “dynamic” memory,
before the guard page, that memory can grow into. This is intended to
amortize the cost of memory.grow
in the same manner that Vec<T>
has
space not in use to grow into.
generate_native_debuginfo: bool
Whether or not to generate native DWARF debug information.
parse_wasm_debuginfo: bool
Whether or not to retain DWARF sections in compiled modules.
consume_fuel: bool
Whether or not fuel is enabled for generated code, meaning that fuel will be consumed every time a wasm instruction is executed.
epoch_interruption: bool
Whether or not we use epoch-based interruption.
static_memory_bound_is_maximum: bool
Whether or not to treat the static memory bound as the maximum for unbounded heaps.
guard_before_linear_memory: bool
Whether or not linear memory allocations will have a guard region at the beginning of the allocation in addition to the end.
table_lazy_init: bool
Whether to initialize tables lazily, so that instantiation is fast but indirect calls are a little slower. If false, tables are initialized eagerly from any active element segments that apply to them during instantiation.
generate_address_map: bool
Indicates whether an address map from compiled native code back to wasm offsets in the original file is generated.
debug_adapter_modules: bool
Flag for the component module whether adapter modules have debug assertions baked into them.
relaxed_simd_deterministic: bool
Whether or not lowerings for relaxed simd instructions are forced to be deterministic.
winch_callable: bool
Whether or not Wasm functions target the winch abi.
signals_based_traps: bool
Whether or not the host will be using native signals (e.g. SIGILL, SIGSEGV, etc) to implement traps.
Implementations§
source§impl Tunables
impl Tunables
sourcepub fn default_host() -> Self
pub fn default_host() -> Self
Returns a Tunables
configuration assumed for running code on the host.
sourcepub fn default_for_target(target: &Triple) -> Result<Self>
pub fn default_for_target(target: &Triple) -> Result<Self>
Returns the default set of tunables for the given target triple.
sourcepub fn default_miri() -> Tunables
pub fn default_miri() -> Tunables
Returns the default set of tunables for running under MIRI.
sourcepub fn default_u32() -> Tunables
pub fn default_u32() -> Tunables
Returns the default set of tunables for running under a 32-bit host.
sourcepub fn default_u64() -> Tunables
pub fn default_u64() -> Tunables
Returns the default set of tunables for running under a 64-bit host.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Tunables
impl<'de> Deserialize<'de> for Tunables
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for Tunables
impl RefUnwindSafe for Tunables
impl Send for Tunables
impl Sync for Tunables
impl Unpin for Tunables
impl UnwindSafe for Tunables
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)