1
Fork 0

remove unnecessary frame parameter from after_local_allocated

This commit is contained in:
Ralf Jung 2024-03-09 18:28:29 +01:00
parent 4497990dff
commit c3342b41b5
4 changed files with 5 additions and 6 deletions

View file

@ -1,5 +1,4 @@
use std::cell::Cell;
use std::ptr;
use std::{fmt, mem};
use either::{Either, Left, Right};
@ -278,9 +277,11 @@ impl<'mir, 'tcx, Prov: Provenance, Extra> Frame<'mir, 'tcx, Prov, Extra> {
})
}
/// Returns the address of the buffer where the locals are stored. This is used by `Place` as a
/// sanity check to detect bugs where we mix up which stack frame a place refers to.
#[inline(always)]
pub(super) fn locals_addr(&self) -> usize {
ptr::addr_of!(self.locals).addr()
self.locals.raw.as_ptr().addr()
}
}

View file

@ -508,7 +508,6 @@ pub trait Machine<'mir, 'tcx: 'mir>: Sized {
#[inline(always)]
fn after_local_allocated(
_ecx: &mut InterpCx<'mir, 'tcx, Self>,
_frame: usize,
_local: mir::Local,
_mplace: &MPlaceTy<'tcx, Self::Provenance>,
) -> InterpResult<'tcx> {

View file

@ -940,7 +940,7 @@ where
mplace.mplace,
)?;
}
M::after_local_allocated(self, self.frame_idx(), local, &mplace)?;
M::after_local_allocated(self, local, &mplace)?;
// Now we can call `access_mut` again, asserting it goes well, and actually
// overwrite things. This points to the entire allocation, not just the part
// the place refers to, i.e. we do this before we apply `offset`.