pub struct BackendConfig {
pub opt_level: OptimizationLevel,
pub is_dumping: bool,
pub debug_assertions: bool,
pub debug_support: bool,
pub profiling_support: bool,
pub simple_perf: bool,
pub debug_file: Option<PathBuf>,
}Expand description
Backend configuration.
Collects all tuneable settings that EvmCompiler forwards to the backend.
Backends receive a full snapshot via Backend::apply_config whenever the compiler
changes a setting, so they can apply side-effects (e.g. toggling ASM verbosity) in one place.
Fields§
§opt_level: OptimizationLevelOptimization level.
is_dumping: boolWhether IR output is being dumped (enables verbose names, asm comments, etc.).
debug_assertions: boolWhether to enable debug assertions in generated code.
debug_support: boolWhether to enable JIT debug support (GDB/LLDB registration).
Applied once per process on first JIT compilation.
profiling_support: boolWhether to enable JIT profiling support (perf jitdump).
Applied once per process on first JIT compilation.
simple_perf: boolWhether to enable the simple perf map plugin.
Writes /tmp/perf-<pid>.map in the perf map format so that profilers
can resolve JIT-compiled symbols without the jitdump machinery.
Not suitable for long-running programs. The map file is append-only
and never cleaned up, so entries for freed JIT code accumulate
indefinitely. Prefer profiling_support
(jitdump) for long-lived processes.
Applied once per process on first JIT compilation.
debug_file: Option<PathBuf>Debug info source file path. Some enables debug info emission.
Trait Implementations§
Source§impl Clone for BackendConfig
impl Clone for BackendConfig
Source§fn clone(&self) -> BackendConfig
fn clone(&self) -> BackendConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BackendConfig
impl Debug for BackendConfig
Source§impl Default for BackendConfig
impl Default for BackendConfig
Source§impl PartialEq for BackendConfig
impl PartialEq for BackendConfig
impl Eq for BackendConfig
impl StructuralPartialEq for BackendConfig
Auto Trait Implementations§
impl Freeze for BackendConfig
impl RefUnwindSafe for BackendConfig
impl Send for BackendConfig
impl Sync for BackendConfig
impl Unpin for BackendConfig
impl UnsafeUnpin for BackendConfig
impl UnwindSafe for BackendConfig
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,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes