MCPcopy Index your code
hub / github.com/explodingcamera/tinywasm / exec_table_grow

Method exec_table_grow

crates/tinywasm/src/interpreter/executor.rs:1529–1538  ·  view source on GitHub ↗
(&mut self, table_index: u32)

Source from the content-addressed store, hash-verified

1527 }
1528
1529 fn exec_table_grow(&mut self, table_index: u32) -> Result<(), Trap> {
1530 let table = self.store.state.get_table_mut(self.module.resolve_table_addr(table_index));
1531 let sz = table.size();
1532 let n = <i32>::stack_pop(&mut self.store.value_stack);
1533 let val = <ValueRef>::stack_pop(&mut self.store.value_stack);
1534 match table.grow(n, val.addr().into()) {
1535 Ok(()) => self.store.value_stack.push(sz),
1536 Err(_) => self.store.value_stack.push(-1_i32),
1537 }
1538 }
1539
1540 fn exec_table_fill(&mut self, table_index: u32) -> Result<(), Trap> {
1541 let table = self.store.state.get_table_mut(self.module.resolve_table_addr(table_index));

Callers 1

execMethod · 0.80

Calls 6

get_table_mutMethod · 0.80
resolve_table_addrMethod · 0.80
sizeMethod · 0.45
growMethod · 0.45
addrMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected