(&mut self, base: u64, offset: u64, bytes: [u8; 4])
| 377 | |
| 378 | #[inline(always)] |
| 379 | fn write_32(&mut self, base: u64, offset: u64, bytes: [u8; 4]) -> core::result::Result<(), crate::Trap> { |
| 380 | let addr = checked_effective_addr::<4>(self.len, base, offset)?; |
| 381 | let chunk_idx = addr >> self.chunk_shift; |
| 382 | let chunk_offset = addr & self.chunk_mask; |
| 383 | if chunk_offset + 4 <= self.chunk_size { |
| 384 | self.chunk_mut(chunk_idx)?[chunk_offset..chunk_offset + 4].copy_from_slice(&bytes); |
| 385 | } else { |
| 386 | if self.write_all(addr, &bytes).is_none() { |
| 387 | cold_path(); |
| 388 | return Err(crate::Trap::OutOfMemory); |
| 389 | } |
| 390 | } |
| 391 | Ok(()) |
| 392 | } |
| 393 | |
| 394 | #[inline(always)] |
| 395 | fn write_64(&mut self, base: u64, offset: u64, bytes: [u8; 8]) -> core::result::Result<(), crate::Trap> { |
nothing calls this directly
no test coverage detected