Expand description
Global machine state as well as implementation of the interpreter engine
Machine trait.
Re-exportsΒ§
use std::borrow::Cow;πuse std::cell::RefCell;πuse std::path::Path;πuse std::path::PathBuf;πuse std::rc::Rc;πuse std::fmt;πuse std::process;πuse rand::rngs::StdRng;πuse rand::RngExt;πuse rand::SeedableRng;πuse rustc_abi::Align;πuse rustc_abi::ExternAbi;πuse rustc_abi::Size;πuse rustc_apfloat::Float;πuse rustc_apfloat::FloatConvert;πuse rustc_ast::Mutability;πuse rustc_ast::expand::allocator;πuse rustc_ast::expand::allocator::SpecialAllocatorMethod;πuse rustc_attr_ir::InlineAttr;πuse rustc_attr_ir::Linkage;πuse rustc_data_structures::either::Either;πuse rustc_data_structures::fx::FxHashMap;πuse rustc_data_structures::fx::FxHashSet;πuse rustc_data_structures::static_assert_size;πuse rustc_hir::def::DefKind;πuse rustc_log::tracing;πuse rustc_middle::middle::codegen_fn_attrs::TargetFeatureKind;πuse rustc_middle::mir;πuse rustc_middle::query::TyCtxtAt;πuse rustc_middle::ty::layout::HasTyCtxt;πuse rustc_middle::ty::layout::HasTypingEnv;πuse rustc_middle::ty::layout::LayoutCx;πuse rustc_middle::ty::layout::LayoutError;πuse rustc_middle::ty::layout::LayoutOf;πuse rustc_middle::ty::layout::TyAndLayout;πuse rustc_middle::ty;πuse rustc_middle::ty::AtomicOrdering;πuse rustc_middle::ty::Instance;πuse rustc_middle::ty::Ty;πuse rustc_middle::ty::TyCtxt;πuse rustc_session::config::InliningThreshold;πuse rustc_span::def_id::CrateNum;πuse rustc_span::def_id::DefId;πuse rustc_span::Span;πuse rustc_span::Symbol;πuse rustc_symbol_mangling::mangle_internal_symbol;πuse rustc_target::callconv::FnAbi;πuse rustc_target::spec::Arch;πuse rustc_target::spec::Os;πuse crate::alloc_addresses::EvalContextExt;πuse crate::concurrency::data_race;πuse crate::concurrency::data_race::NaReadType;πuse crate::concurrency::data_race::NaWriteType;πuse crate::concurrency::scheduler::DelayedCallbacks;πuse crate::concurrency::AllocDataRaceHandler;πuse crate::concurrency::GenmcCtx;πuse crate::concurrency::GenmcEvalContextExt as _;πuse crate::concurrency::GlobalDataRaceHandler;πuse crate::concurrency::weak_memory;πuse crate::data_structures::range_object_map::RangeObjectMap;πuse crate::helpers::is_no_core;πuse crate::*;π
StructsΒ§
- Alloc
Extra - Extra per-allocation data
- Frame
Extra - Extra data stored with each stack frame
- Miri
Machine - The machine itself.
- Primitive
Layouts - Precomputed layouts of primitive types
EnumsΒ§
- Alignment
Check - Backtrace
Style - Float
Rounding Error Mode - Isolated
Op - Miri
Memory Kind - Extra memory kinds
- Provenance
- Pointer provenance.
- Provenance
Extra - The βextraβ information a pointer has over a regular AllocId.
- Reject
OpWith - Validation
Mode
ConstantsΒ§
- ADDRS_
PER_ πANON_ GLOBAL - Each anonymous global (constant, vtable, function pointer, β¦) has multiple addresses, but only
this many. Since const allocations are never deallocated, choosing a new [
AllocId] and thus base address for each evaluation would produce unbounded memory usage. - SIGRTMAX
- Last real-time signal.
signal(7)says it must be between 32 and 64 and specifiesSIGRTMAX-SIGRTMIN>= 8 (which is the value of_POSIX_RTSIG_MAX) - SIGRTMIN
- First real-time signal.
signal(7)says this must be between 32 and 64 and specifies 34 or 35 as typical values.
TraitsΒ§
- Machine
Callback - Trait for callbacks handling asynchronous machine operations.
- Miri
Interp CxExt - A little trait thatβs useful to be inherited by extension traits.
Type AliasesΒ§
- DynMachine
Callback - Type alias for boxed machine callbacks with generic argument type.
- Memory
Kind - Miri
Interp Cx - A rustc InterpCx for Miri.