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

Method read_64

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

Source from the content-addressed store, hash-verified

318
319 #[inline(always)]
320 fn read_64(&self, base: u64, offset: u64) -> core::result::Result<[u8; 8], crate::Trap> {
321 let addr = checked_effective_addr::<8>(self.len, base, offset)?;
322 let chunk_idx = addr >> self.chunk_shift;
323 let chunk_offset = addr & self.chunk_mask;
324 if chunk_offset + 8 <= self.chunk_size {
325 return Ok(match self.chunk_slice(chunk_idx) {
326 Some(chunk) => chunk[chunk_offset..chunk_offset + 8].try_into().unwrap_or_else(|_| unreachable!()),
327 None => [0; 8],
328 });
329 }
330
331 let mut bytes = [0; 8];
332 self.read_exact(addr, &mut bytes).unwrap();
333 Ok(bytes)
334 }
335
336 #[inline(always)]
337 fn read_128(&self, base: u64, offset: u64) -> core::result::Result<[u8; 16], crate::Trap> {

Callers

nothing calls this directly

Calls 2

chunk_sliceMethod · 0.80
read_exactMethod · 0.45

Tested by

no test coverage detected