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

Method grow_to

crates/tinywasm/src/store/memory/vec.rs:43–56  ·  view source on GitHub ↗
(&mut self, new_len: usize)

Source from the content-addressed store, hash-verified

41
42 #[inline(always)]
43 fn grow_to(&mut self, new_len: usize) -> Result<(), crate::Trap> {
44 if new_len < self.data.len() {
45 return Err(crate::Trap::MemoryOutOfBounds { offset: new_len, len: 0, max: self.data.len() });
46 }
47 match self.data.try_reserve_exact(new_len.saturating_sub(self.data.len())) {
48 Ok(()) => {}
49 Err(_) => {
50 cold_path();
51 return Err(crate::Trap::OutOfMemory);
52 }
53 }
54 self.data.resize(new_len, 0);
55 Ok(())
56 }
57
58 #[inline(always)]
59 fn read(&self, addr: usize, dst: &mut [u8]) -> usize {

Callers 2

bench_growFunction · 0.45
growMethod · 0.45

Calls 1

lenMethod · 0.45

Tested by

no test coverage detected