pub struct VMConfig {
pub max_stack_size: usize,
pub max_call_depth: usize,
pub debug_mode: bool,
pub trace_execution: bool,
pub gc_config: GCConfig,
pub auto_gc: bool,
pub gc_trigger_threshold: usize,
pub metrics_enabled: bool,
pub use_tracing_gc: bool,
}Expand description
VM configuration
Fields§
§max_stack_size: usizeMaximum stack size
max_call_depth: usizeMaximum call depth
debug_mode: boolEnable debug mode
trace_execution: boolEnable instruction tracing
gc_config: GCConfigGarbage collection configuration
auto_gc: boolEnable automatic garbage collection
gc_trigger_threshold: usizeGC trigger threshold (instructions between collections)
metrics_enabled: boolEnable VM metrics collection (counters, tier/GC event ring buffers, histograms).
When false (default), VirtualMachine.metrics is None for zero overhead.
use_tracing_gc: boolWhen true, automatically initialise the tracing GC heap (shape-gc) on
VM creation instead of relying on Arc reference counting.
Requires the gc crate feature to be compiled in; otherwise this flag
is silently ignored.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for VMConfig
impl RefUnwindSafe for VMConfig
impl Send for VMConfig
impl Sync for VMConfig
impl Unpin for VMConfig
impl UnsafeUnpin for VMConfig
impl UnwindSafe for VMConfig
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more