use rustc_middle::mir;
use rustc_middle::ty::{self, Ty};
use rustc_span::def_id::DefId;
+use rustc_target::abi::Size;
use super::{
AllocId, Allocation, AllocationExtra, CheckInAllocMsg, Frame, ImmTy, InterpCx, InterpResult,
Ok(())
}
+ /// Called after initializing static memory using the interpreter.
+ fn after_static_mem_initialized(
+ _ecx: &mut InterpCx<'mir, 'tcx, Self>,
+ _ptr: Pointer<Self::PointerTag>,
+ _size: Size,
+ ) -> InterpResult<'tcx> {
+ Ok(())
+ }
+
/// Executes a retagging operation
#[inline]
fn retag(
type PointerTag = ();
type ExtraFnVal = !;
- type MemoryKind = !;
- type MemoryMap = rustc_data_structures::fx::FxHashMap<AllocId, (MemoryKind<!>, Allocation)>;
- const GLOBAL_KIND: Option<!> = None; // no copying of globals from `tcx` to machine memory
+ type MemoryMap =
+ rustc_data_structures::fx::FxHashMap<AllocId, (MemoryKind<Self::MemoryKind>, Allocation)>;
+ const GLOBAL_KIND: Option<Self::MemoryKind> = None; // no copying of globals from `tcx` to machine memory
type AllocExtra = ();
type FrameExtra = ();
_memory_extra: &Self::MemoryExtra,
_id: AllocId,
alloc: Cow<'b, Allocation>,
- _kind: Option<MemoryKind<!>>,
+ _kind: Option<MemoryKind<Self::MemoryKind>>,
) -> (Cow<'b, Allocation<Self::PointerTag>>, Self::PointerTag) {
// We do not use a tag so we can just cheaply forward the allocation
(alloc, ())