Reads exactly 8 bytes at the effective address `base + offset`.
(&self, base: u64, offset: u64)
| 191 | |
| 192 | /// Reads exactly 8 bytes at the effective address `base + offset`. |
| 193 | fn read_64(&self, base: u64, offset: u64) -> core::result::Result<[u8; 8], crate::Trap> { |
| 194 | let addr = checked_effective_addr::<8>(self.len(), base, offset)?; |
| 195 | let mut bytes = [0; 8]; |
| 196 | self.read_exact(addr, &mut bytes).ok_or_else(|| { |
| 197 | cold_path(); |
| 198 | memory_oob(addr, 8, self.len()) |
| 199 | })?; |
| 200 | Ok(bytes) |
| 201 | } |
| 202 | |
| 203 | /// Reads exactly 16 bytes at the effective address `base + offset`. |
| 204 | fn read_128(&self, base: u64, offset: u64) -> core::result::Result<[u8; 16], crate::Trap> { |