| 1612 | /// panicking out of a Wasm execution). |
| 1613 | #[inline] |
| 1614 | fn exit_wasm(&mut self) { |
| 1615 | unsafe { |
| 1616 | if let Some(limit) = self.stack_limit { |
| 1617 | *(&*self.vm_store_context).stack_limit.get() = limit; |
| 1618 | } |
| 1619 | |
| 1620 | *(*self.vm_store_context).last_wasm_exit_trampoline_fp.get() = |
| 1621 | self.last_wasm_exit_trampoline_fp; |
| 1622 | *(*self.vm_store_context).last_wasm_exit_pc.get() = self.last_wasm_exit_pc; |
| 1623 | *(*self.vm_store_context).last_wasm_entry_fp.get() = self.last_wasm_entry_fp; |
| 1624 | *(*self.vm_store_context).last_wasm_entry_sp.get() = self.last_wasm_entry_sp; |
| 1625 | *(*self.vm_store_context).last_wasm_entry_trap_handler.get() = |
| 1626 | self.last_wasm_entry_trap_handler; |
| 1627 | *(*self.vm_store_context).stack_chain.get() = self.stack_chain.clone(); |
| 1628 | } |
| 1629 | } |
| 1630 | } |
| 1631 | |
| 1632 | impl Drop for EntryStoreContext { |