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

Method read_128

crates/tinywasm/src/store/memory/paged.rs:337–351  ·  view source on GitHub ↗
(&self, base: u64, offset: u64)

Source from the content-addressed store, hash-verified

335
336 #[inline(always)]
337 fn read_128(&self, base: u64, offset: u64) -> core::result::Result<[u8; 16], crate::Trap> {
338 let addr = checked_effective_addr::<16>(self.len, base, offset)?;
339 let chunk_idx = addr >> self.chunk_shift;
340 let chunk_offset = addr & self.chunk_mask;
341 if chunk_offset + 16 <= self.chunk_size {
342 return Ok(match self.chunk_slice(chunk_idx) {
343 Some(chunk) => chunk[chunk_offset..chunk_offset + 16].try_into().unwrap_or_else(|_| unreachable!()),
344 None => [0; 16],
345 });
346 }
347
348 let mut bytes = [0; 16];
349 self.read_exact(addr, &mut bytes).unwrap();
350 Ok(bytes)
351 }
352
353 #[inline(always)]
354 fn write_8(&mut self, base: u64, offset: u64, byte: u8) -> core::result::Result<(), crate::Trap> {

Callers

nothing calls this directly

Calls 2

chunk_sliceMethod · 0.80
read_exactMethod · 0.45

Tested by

no test coverage detected