diff options
| author | Ralf Jung <post@ralfj.de> | 2024-09-14 10:28:17 +0200 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2024-09-15 09:21:43 +0200 |
| commit | 268f6cf558fd689459648d702e67395908e7a6c5 (patch) | |
| tree | 7ce1d59da560c726ece546b9984efeaa55c28050 /compiler/rustc_const_eval/src/interpret/memory.rs | |
| parent | 3b806d337c0cb83bde42a7d4898ff183f888c488 (diff) | |
| download | rust-268f6cf558fd689459648d702e67395908e7a6c5.tar.gz rust-268f6cf558fd689459648d702e67395908e7a6c5.zip | |
also use compute_size_in_bytes for relevant multiplications in Miri
Diffstat (limited to 'compiler/rustc_const_eval/src/interpret/memory.rs')
| -rw-r--r-- | compiler/rustc_const_eval/src/interpret/memory.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/rustc_const_eval/src/interpret/memory.rs b/compiler/rustc_const_eval/src/interpret/memory.rs index d87588496c0..7b0b28a470d 100644 --- a/compiler/rustc_const_eval/src/interpret/memory.rs +++ b/compiler/rustc_const_eval/src/interpret/memory.rs @@ -222,7 +222,7 @@ impl<'tcx, M: Machine<'tcx>> InterpCx<'tcx, M> { } else { Allocation::try_uninit(size, align)? }; - self.allocate_raw_ptr(alloc, kind) + self.insert_allocation(alloc, kind) } pub fn allocate_bytes_ptr( @@ -233,14 +233,15 @@ impl<'tcx, M: Machine<'tcx>> InterpCx<'tcx, M> { mutability: Mutability, ) -> InterpResult<'tcx, Pointer<M::Provenance>> { let alloc = Allocation::from_bytes(bytes, align, mutability); - self.allocate_raw_ptr(alloc, kind) + self.insert_allocation(alloc, kind) } - pub fn allocate_raw_ptr( + pub fn insert_allocation( &mut self, alloc: Allocation<M::Provenance, (), M::Bytes>, kind: MemoryKind<M::MemoryKind>, ) -> InterpResult<'tcx, Pointer<M::Provenance>> { + assert!(alloc.size() <= self.max_size_of_val()); let id = self.tcx.reserve_alloc_id(); debug_assert_ne!( Some(kind), |
