Reads exactly 16 bytes at the effective address `base + offset`.
(&self, base: u64, offset: u64)
| 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> { |
| 205 | let addr = checked_effective_addr::<16>(self.len(), base, offset)?; |
| 206 | let mut bytes = [0; 16]; |
| 207 | self.read_exact(addr, &mut bytes).ok_or_else(|| { |
| 208 | cold_path(); |
| 209 | memory_oob(addr, 16, self.len()) |
| 210 | })?; |
| 211 | Ok(bytes) |
| 212 | } |
| 213 | |
| 214 | /// Writes exactly 1 byte at the effective address `base + offset`. |
| 215 | fn write_8(&mut self, base: u64, offset: u64, byte: u8) -> core::result::Result<(), crate::Trap> { |