Skip to main content

Module stack

Module stack 

Source
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.
FrameInfo
What we store about a frame in an interpreter backtrace.
LocalState
State of a local variable including a memoized layout
SpanGuard ๐Ÿ”’

Enumsยง

LocalValue ๐Ÿ”’
Current value of a local variable
ReturnContinuation
Where and how to continue when returning/unwinding from the current function.