|
| 1 | +# Stack-Switching Proposal for WebAssembly |
| 2 | + |
| 3 | +This repository is a clone of |
| 4 | +[`WebAssembly/spec`](https://github.com/WebAssembly/spec/). It is meant for |
| 5 | +discussion, prototype specification, and implementation of a proposal to add |
| 6 | +support for stack-switching. |
| 7 | + |
| 8 | +There are currently two active stack-switching proposals: Typed Continuations |
| 9 | +(aka WasmFX) and Bag of Stacks. Documentation about each proposal is available |
| 10 | +in separate directories of the `main` branch of this repository (as detailed |
| 11 | +below). |
| 12 | + |
| 13 | +In order to minimise future difficulties merging upstream, the two |
| 14 | +corresponding extensions to the reference interpreter will be |
| 15 | +maintained in separate branches (as detailed below). |
| 16 | + |
| 17 | +## Typed Continuations Proposal |
| 18 | + |
| 19 | +* See the [explainer](proposals/continuations/Explainer.md) for a high-level |
| 20 | + summary of the proposal. |
| 21 | + |
| 22 | +* See the [overview](proposals/continuations/Overview.md) for a more formal |
| 23 | + description of the proposal. |
| 24 | + |
| 25 | +* See the [examples](proposals/continuations/examples) for Wasm code for |
| 26 | + implementing various different features including lightweight threads, actors, |
| 27 | + and async/await. |
| 28 | + |
| 29 | +* An |
| 30 | +[implementation](https://github.com/WebAssembly/stack-switching/tree/wasmfx) is |
| 31 | +available as an extension to the reference interpreter. It is accesible from the |
| 32 | +`wasmfx` branch. |
| 33 | + |
| 34 | +## Bag of Stacks Proposal |
| 35 | + |
| 36 | +* See the [explainer](proposals/bag-o-stacks/Explainer.md) for a high-level |
| 37 | + summary of the proposal. |
| 38 | + |
| 39 | +* An extension to the reference interpreter will be made available in the |
| 40 | +`bag-o-stacks` branch in due course. |
| 41 | + |
| 42 | + |
| 43 | +Original README from upstream repository follows. |
| 44 | + |
| 45 | +-------------------------------------------------------------------------------- |
| 46 | + |
1 | 47 | [](https://github.com/WebAssembly/stack-switching/actions/workflows/ci-spec.yml)
|
2 | 48 | [](https://github.com/WebAssembly/stack-switching/actions/workflows/ci-interpreter.yml)
|
3 | 49 |
|
|
0 commit comments