MCPcopy Create free account
hub / github.com/explodingcamera/tinywasm / write_64

Method write_64

crates/tinywasm/src/store/memory/paged.rs:395–408  ·  view source on GitHub ↗
(&mut self, base: u64, offset: u64, bytes: [u8; 8])

Source from the content-addressed store, hash-verified

393
394 #[inline(always)]
395 fn write_64(&mut self, base: u64, offset: u64, bytes: [u8; 8]) -> core::result::Result<(), crate::Trap> {
396 let addr = checked_effective_addr::<8>(self.len, base, offset)?;
397 let chunk_idx = addr >> self.chunk_shift;
398 let chunk_offset = addr & self.chunk_mask;
399 if chunk_offset + 8 <= self.chunk_size {
400 self.chunk_mut(chunk_idx)?[chunk_offset..chunk_offset + 8].copy_from_slice(&bytes);
401 } else {
402 if self.write_all(addr, &bytes).is_none() {
403 cold_path();
404 return Err(crate::Trap::OutOfMemory);
405 }
406 }
407 Ok(())
408 }
409
410 #[inline(always)]
411 fn write_128(&mut self, base: u64, offset: u64, bytes: [u8; 16]) -> core::result::Result<(), crate::Trap> {

Callers

nothing calls this directly

Calls 3

chunk_mutMethod · 0.80
copy_from_sliceMethod · 0.45
write_allMethod · 0.45

Tested by

no test coverage detected