Commit Graph

9 Commits

Author SHA1 Message Date
ptitSeb
e656120853 Bumped rust toolchain to 1.61 2022-08-26 12:46:02 +02:00
Amanieu d'Antras
ca6f83c7d2 Run Wasm code on a separate stack
This uses the [corosensei](https://crates.io/crates/corosensei) crate to
run Wasm code on a separate stack from the main thread stack.

In trap handlers for stack overflows and memory out of bounds accesses,
we can now check whether we are executing on the Wasm stack and reset
execution back to the main thread stack when returning from the trap
handler.

When Wasm code needs to perform an operation which may modify internal
data structures (e.g. growing a memory) then execution must switch back
to the main thread stack using on_host_stack. This is necessary to avoid
leaving internal data structure in an inconsistent state when a stack
overflow happens.

In the future, this can also be used to suspend execution of a Wasm
module (#1127) by modeling it as an async function call.

Fixes #2757
Fixes #2562
2022-03-14 22:14:22 +00:00
Amanieu d'Antras
f2633d927c Bump rust-toolchain to 1.56 2021-11-15 17:01:28 +00:00
Syrus Akbary
005d129529 Update all packages 2021-08-10 11:40:38 -07:00
Mark McCaskey
0bdf451fd2 Update Rust version to 1.51
This is required by rykv 0.6.0 which fixes a security vulnerability
2021-04-29 07:35:11 -07:00
Mark McCaskey
2e0c587c9b Readd and fixup changes from PR #2248 2021-04-23 09:01:47 -07:00
Mark McCaskey
a15743966e Revert "Add rust-toolchain to have same cargo fmt on ci and locally" 2021-04-23 08:17:02 -07:00
Bo Yao
4fb0a1da8b use latest stable - 1 2021-04-22 11:33:01 -07:00
Bo Yao
04921070f6 Add rust-toolchain to have same cargo fmt on ci and locally 2021-04-21 16:55:48 -07:00