Jubilee
9498d5cf2f
Rollup merge of #126787 - Strophox:get-bytes, r=RalfJung
Add direct accessors for memory addresses in `Machine` (for Miri)
The purpose of this PR is to enable direct (immutable) access to memory addresses in `Machine`, which will be needed for further extension of Miri.
This is done by adding (/completing missings pairs of) accessor functions, with the relevant signatures as follows:
```rust
/* rust/compiler/rustc_middle/src/mir/interpret/allocation.rs */
pub trait AllocBytes {
// ..
fn as_ptr(&self) -> *const u8;
/*fn as_mut_ptr(&mut self) -> *mut u8; -- Already in the compiler*/
}
impl<Prov: Provenance, Extra, Bytes: AllocBytes> Allocation<Prov, Extra, Bytes> {
// ..
pub fn get_bytes_unchecked_raw(&self) -> *const u8;
/*pub fn get_bytes_unchecked_raw_mut(&mut self) -> *mut u8; -- Already in the compiler*/
}
```
```rust
/* rust/compiler/rustc_const_eval/src/interpret/memory.rs */
impl<'tcx, M: Machine<'tcx>> InterpCx<'tcx, M> {
// ..
pub fn get_alloc_bytes_unchecked_raw(&self, id: AllocId) -> InterpResult<'tcx, *const u8>;
pub fn get_alloc_bytes_unchecked_raw_mut(&mut self, id: AllocId) -> InterpResult<'tcx, *mut u8>;
}
```
r? ``@RalfJung``
2024-06-21 21:02:27 -07:00
..
2024-06-19 07:45:47 -04:00
2024-06-07 08:33:58 +00:00
2024-05-23 18:02:40 +10:00
2024-06-01 10:31:32 -04:00
2024-06-20 09:23:20 +10:00
2024-06-21 12:50:24 +02:00
2024-06-20 09:06:16 +00:00
2024-04-20 15:59:54 +02:00
2024-06-21 12:32:05 -04:00
2024-06-21 12:32:05 -04:00
2024-06-14 16:54:29 -04:00
2024-06-18 10:40:30 -04:00
2024-04-29 11:19:16 +10:00
2024-06-05 18:21:09 +02:00
2024-05-27 08:44:12 +00:00
2024-06-18 15:42:11 +00:00
2024-04-29 11:19:16 +10:00
2024-04-30 22:27:19 +02:00
2024-06-10 13:43:16 +02:00
2024-06-12 16:25:45 -04:00