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

Method get_wasm_val

crates/tinywasm/src/store/table.rs:31–39  ·  view source on GitHub ↗
(&self, addr: TableAddr)

Source from the content-addressed store, hash-verified

29 }
30
31 pub(crate) fn get_wasm_val(&self, addr: TableAddr) -> Result<WasmValue, Trap> {
32 let val = self.get(addr)?.addr();
33
34 Ok(match self.kind.element_type {
35 WasmType::RefFunc => WasmValue::RefFunc(FuncRef::new(val)),
36 WasmType::RefExtern => WasmValue::RefExtern(ExternRef::new(val)),
37 _ => Err(Trap::Other("non-ref table"))?,
38 })
39 }
40
41 pub(crate) fn fill(&mut self, func_addrs: &[u32], addr: usize, len: usize, val: TableElement) -> Result<(), Trap> {
42 let val = val.map(|addr| self.resolve_func_ref(func_addrs, addr));

Callers 3

getMethod · 0.80
exec_table_getMethod · 0.80
test_get_wasm_valFunction · 0.80

Calls 2

addrMethod · 0.45
getMethod · 0.45

Tested by 1

test_get_wasm_valFunction · 0.64