Skip to content

Commit

Permalink
Auto merge of #2116 - carbotaniuman:minimal-miri-changes, r=RalfJung
Browse files Browse the repository at this point in the history
Minimal miri changes for rustc permissive provenance

Simple no-op changes to adapt to new API surface.
  • Loading branch information
bors committed May 15, 2022
2 parents 98c8c8f + f8478df commit 90d28ea
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 6 deletions.
2 changes: 1 addition & 1 deletion rust-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
481db40311cdd241ae4d33f34f2f75732e44d8e8
2d691170885b32502b391b8b1a0d54d2419a5653
26 changes: 21 additions & 5 deletions src/machine.rs
Original file line number Diff line number Diff line change
Expand Up @@ -159,8 +159,8 @@ impl Provenance for Tag {
write!(f, "{:?}", tag.sb)
}

fn get_alloc_id(self) -> AllocId {
self.alloc_id
fn get_alloc_id(self) -> Option<AllocId> {
Some(self.alloc_id)
}
}

Expand Down Expand Up @@ -608,21 +608,37 @@ impl<'mir, 'tcx> Machine<'mir, 'tcx> for Evaluator<'mir, 'tcx> {
}

#[inline(always)]
fn ptr_from_addr(
fn ptr_from_addr_cast(
ecx: &MiriEvalContext<'mir, 'tcx>,
addr: u64,
) -> Pointer<Option<Self::PointerTag>> {
intptrcast::GlobalStateInner::ptr_from_addr(addr, ecx)
}

#[inline(always)]
fn ptr_from_addr_transmute(
ecx: &MiriEvalContext<'mir, 'tcx>,
addr: u64,
) -> Pointer<Option<Self::PointerTag>> {
Self::ptr_from_addr_cast(ecx, addr)
}

#[inline(always)]
fn expose_ptr(
_ecx: &mut InterpCx<'mir, 'tcx, Self>,
_ptr: Pointer<Self::PointerTag>,
) -> InterpResult<'tcx> {
Ok(())
}

/// Convert a pointer with provenance into an allocation-offset pair,
/// or a `None` with an absolute address if that conversion is not possible.
fn ptr_get_alloc(
ecx: &MiriEvalContext<'mir, 'tcx>,
ptr: Pointer<Self::PointerTag>,
) -> (AllocId, Size, Self::TagExtra) {
) -> Option<(AllocId, Size, Self::TagExtra)> {
let rel = intptrcast::GlobalStateInner::abs_ptr_to_rel(ecx, ptr);
(ptr.provenance.alloc_id, rel, ptr.provenance.sb)
Some((ptr.provenance.alloc_id, rel, ptr.provenance.sb))
}

#[inline(always)]
Expand Down

0 comments on commit 90d28ea

Please sign in to comment.