[][src]Struct wasmer_runtime::CompilerConfig

pub struct CompilerConfig {
    pub symbol_map: Option<HashMap<u32, String, RandomState>>,
    pub memory_bound_check_mode: MemoryBoundCheckMode,
    pub enforce_stack_check: bool,
    pub track_state: bool,
    pub full_preemption: bool,
    pub features: Features,
    pub triple: Option<String>,
    pub cpu_name: Option<String>,
    pub cpu_features: Option<String>,
    pub backend_specific_config: Option<BackendCompilerConfig>,
    pub generate_debug_info: bool,
}

Configuration data for the compiler

Fields

symbol_map: Option<HashMap<u32, String, RandomState>>

Symbol information generated from emscripten; used for more detailed debug messages

memory_bound_check_mode: MemoryBoundCheckMode

How to make the decision whether to emit bounds checks for memory accesses.

enforce_stack_check: bool

Whether to generate explicit native stack checks against stack_lower_bound in InternalCtx.

Usually it's adequate to use hardware memory protection mechanisms such as mprotect on Unix to prevent stack overflow. But for low-level environments, e.g. the kernel, faults are generally not expected and relying on hardware memory protection would add too much complexity.

track_state: bool

Whether to enable state tracking. Necessary for managed mode.

full_preemption: bool

Whether to enable full preemption checkpoint generation.

This inserts checkpoints at critical locations such as loop backedges and function calls, allowing preemptive unwinding/task switching.

When enabled there can be a small amount of runtime performance overhead.

features: Featurestriple: Option<String>cpu_name: Option<String>cpu_features: Option<String>backend_specific_config: Option<BackendCompilerConfig>generate_debug_info: bool

Trait Implementations

impl Debug for CompilerConfig[src]

impl Default for CompilerConfig[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.