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

Method write_16

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

Source from the content-addressed store, hash-verified

361
362 #[inline(always)]
363 fn write_16(&mut self, base: u64, offset: u64, bytes: [u8; 2]) -> core::result::Result<(), crate::Trap> {
364 let addr = checked_effective_addr::<2>(self.len, base, offset)?;
365 let chunk_idx = addr >> self.chunk_shift;
366 let chunk_offset = addr & self.chunk_mask;
367 if chunk_offset + 2 <= self.chunk_size {
368 self.chunk_mut(chunk_idx)?[chunk_offset..chunk_offset + 2].copy_from_slice(&bytes);
369 } else {
370 if self.write_all(addr, &bytes).is_none() {
371 cold_path();
372 return Err(crate::Trap::OutOfMemory);
373 }
374 }
375 Ok(())
376 }
377
378 #[inline(always)]
379 fn write_32(&mut self, base: u64, offset: u64, bytes: [u8; 4]) -> 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