(&mut self)
| 1005 | } |
| 1006 | |
| 1007 | fn exec_call_self(&mut self) -> Result<(), Trap> { |
| 1008 | self.charge_call_fuel(FUEL_COST_CALL_TOTAL); |
| 1009 | |
| 1010 | self.store.call_stack.push(self.cf)?; |
| 1011 | let Ok(locals_base) = self.store.value_stack.enter_locals(&self.func.params, &self.func.locals) else { |
| 1012 | cold_path(); |
| 1013 | return Err(Trap::CallStackOverflow); |
| 1014 | }; |
| 1015 | self.cf = CallFrame::new(self.cf.func_addr, locals_base, self.func.locals); |
| 1016 | |
| 1017 | Ok(()) |
| 1018 | } |
| 1019 | |
| 1020 | fn exec_return_call_self(&mut self) -> Result<(), Trap> { |
| 1021 | self.charge_call_fuel(FUEL_COST_CALL_TOTAL); |
no test coverage detected