Expand description
Manages the low-level pushing and popping of stack frames and the (de)allocation of local variables.
For handling of argument passing and return values, see the call module.
Re-exportsยง
use std::cell::Cell;๐use std::fmt;๐use std::mem;๐use either::Either;๐use either::Left;๐use either::Right;๐use rustc_hir as hir;๐use rustc_hir::definitions::DefPathData;๐use rustc_index::IndexVec;๐use rustc_middle::mir;๐use rustc_middle::ty::layout::TyAndLayout;๐use rustc_middle::ty;๐use rustc_middle::ty::Ty;๐use rustc_middle::ty::TyCtxt;๐use rustc_mir_dataflow::impls::always_storage_live_locals;๐use rustc_span::Span;๐use rustc_span::bug;๐use rustc_target::callconv::ArgAbi;๐use tracing::field::Empty;๐use tracing::info_span;๐use tracing::instrument;๐use tracing::instrument;๐use tracing::trace;๐use super::AllocId;๐use super::CtfeProvenance;๐use super::FnArg;๐use super::Immediate;๐use super::InterpCx;๐use super::InterpResult;๐use super::MPlaceTy;๐use super::Machine;๐use super::MemPlace;๐use super::MemPlaceMeta;๐use super::MemoryKind;๐use super::Operand;๐use super::PlaceTy;๐use super::Pointer;๐use super::Provenance;๐use super::ReturnAction;๐use super::Scalar;๐use super::from_known_layout;๐use super::interp_ok;๐use super::throw_ub;๐use super::throw_unsup;๐use crate::diagnostics;๐use crate::enter_trace_span;๐
Structsยง
- Frame
- A stack frame.
- Frame
Info - What we store about a frame in an interpreter backtrace.
- Local
State - State of a local variable including a memoized layout
- Span
Guard ๐
Enumsยง
- Local
Value ๐ - Current value of a local variable
- Return
Continuation - Where and how to continue when returning/unwinding from the current function.