pub(crate) argv: Option<Pointer<Tag>>,
pub(crate) cmd_line: Option<Pointer<Tag>>,
- /// Last OS error.
- pub(crate) last_error: Option<Pointer<Tag>>,
+ /// Last OS error location in memory. It is a 32-bit integer.
+ pub(crate) last_error: Option<MPlaceTy<'tcx, Tag>>,
/// TLS state.
pub(crate) tls: TlsData<'tcx>,
#[inline(always)]
fn enforce_validity(ecx: &InterpCx<'mir, 'tcx, Self>) -> bool {
- ecx.memory().extra.validate
+ ecx.memory.extra.validate
}
#[inline(always)]
ecx.write_scalar(Scalar::from_uint(align, arg.layout.size), arg)?;
// No more arguments.
- assert!(
- args.next().is_none(),
- "`exchange_malloc` lang item has more arguments than expected"
- );
+ args.next().expect_none("`exchange_malloc` lang item has more arguments than expected");
Ok(())
}
fn stack_push(
ecx: &mut InterpCx<'mir, 'tcx, Self>,
) -> InterpResult<'tcx, stacked_borrows::CallId> {
- Ok(ecx.memory().extra.stacked_borrows.borrow_mut().new_call())
+ Ok(ecx.memory.extra.stacked_borrows.borrow_mut().new_call())
}
#[inline(always)]
extra: stacked_borrows::CallId,
) -> InterpResult<'tcx> {
Ok(ecx
- .memory()
+ .memory
.extra
.stacked_borrows
.borrow_mut()