Writes exactly 16 bytes at the effective address `base + offset`.
(&mut self, base: u64, offset: u64, bytes: [u8; 16])
| 247 | |
| 248 | /// Writes exactly 16 bytes at the effective address `base + offset`. |
| 249 | fn write_128(&mut self, base: u64, offset: u64, bytes: [u8; 16]) -> core::result::Result<(), crate::Trap> { |
| 250 | let addr = checked_effective_addr::<16>(self.len(), base, offset)?; |
| 251 | self.write_all(addr, &bytes).ok_or_else(|| { |
| 252 | cold_path(); |
| 253 | memory_oob(addr, 16, self.len()) |
| 254 | }) |
| 255 | } |
| 256 | } |
| 257 | |
| 258 | type MemoryFactory = dyn Fn(MemoryType) -> Result<Box<dyn LinearMemory>> + Send + Sync; |