(&mut self, base: u64, offset: u64, bytes: [u8; 16])
| 409 | |
| 410 | #[inline(always)] |
| 411 | fn write_128(&mut self, base: u64, offset: u64, bytes: [u8; 16]) -> core::result::Result<(), crate::Trap> { |
| 412 | let addr = checked_effective_addr::<16>(self.len, base, offset)?; |
| 413 | let chunk_idx = addr >> self.chunk_shift; |
| 414 | let chunk_offset = addr & self.chunk_mask; |
| 415 | if chunk_offset + 16 <= self.chunk_size { |
| 416 | self.chunk_mut(chunk_idx)?[chunk_offset..chunk_offset + 16].copy_from_slice(&bytes); |
| 417 | } else { |
| 418 | if self.write_all(addr, &bytes).is_none() { |
| 419 | cold_path(); |
| 420 | return Err(crate::Trap::OutOfMemory); |
| 421 | } |
| 422 | } |
| 423 | Ok(()) |
| 424 | } |
| 425 | } |
| 426 | |
| 427 | #[cfg(test)] |
nothing calls this directly
no test coverage detected