Struct wasmer_runtime_fl::CompilerConfig [−][src]
pub struct CompilerConfig {}Show 13 fields
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 nan_canonicalization: bool, pub enable_verification: 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,
Expand description
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.
nan_canonicalization: bool
Always choose a unique bit representation for NaN. Enabling this makes execution deterministic but increases runtime overhead.
enable_verification: bool
Turns on verification that is done by default when debug_assertions
are enabled
(for example in ‘debug’ builds). Disabling this flag will make compilation faster
in debug mode at the cost of not detecting bugs in the compiler.
These verifications are disabled by default in ‘release’ builds.
features: Features
triple: Option<String>
cpu_name: Option<String>
cpu_features: Option<String>
backend_specific_config: Option<BackendCompilerConfig>
generate_debug_info: bool
Trait Implementations
Returns the “default value” for a type. Read more