Skip to content

Commit b7bc57d

Browse files
committed
Merge branch 'wasm3'
2 parents ace5724 + 30aebd0 commit b7bc57d

File tree

311 files changed

+36324
-9687
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

311 files changed

+36324
-9687
lines changed

.github/workflows/ci-interpreter.yml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: CI for interpreter & tests
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
paths: [ .github/**, interpreter/**, test/** ]
7+
8+
pull_request:
9+
branches: [ main ]
10+
paths: [ .github/**, interpreter/**, test/** ]
11+
12+
# Allows you to run this workflow manually from the Actions tab
13+
workflow_dispatch:
14+
15+
jobs:
16+
interpreter:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout repo
20+
uses: actions/checkout@v2
21+
- name: Setup OCaml
22+
uses: ocaml/setup-ocaml@v2
23+
with:
24+
ocaml-compiler: 4.14.x
25+
- name: Setup OCaml tools
26+
run: opam install --yes ocamlfind.1.9.5 js_of_ocaml.4.0.0 js_of_ocaml-ppx.4.0.0
27+
- name: Setup Node.js
28+
uses: actions/setup-node@v2
29+
with:
30+
node-version: 19.x
31+
- name: Build interpreter
32+
run: cd interpreter && opam exec make
33+
- name: Run tests
34+
# TODO: reactiate node once it supports all of Wasm 3.0
35+
# run: cd interpreter && opam exec make JS=node ci
36+
run: cd interpreter && opam exec make ci

.github/workflows/ci-spec.yml

+125
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
name: CI for specs
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
paths: [ .github/**, document/** ]
7+
8+
pull_request:
9+
branches: [ main ]
10+
paths: [ .github/**, document/** ]
11+
12+
# Allows you to run this workflow manually from the Actions tab
13+
workflow_dispatch:
14+
15+
jobs:
16+
build-core-spec:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout repo
20+
uses: actions/checkout@v2
21+
with:
22+
submodules: "recursive"
23+
- name: Setup Node.js
24+
uses: actions/setup-node@v3
25+
with:
26+
node-version: 16
27+
- name: Setup Bikeshed
28+
run: pip install bikeshed && bikeshed update
29+
- name: Setup TexLive
30+
run: sudo apt-get update -y && sudo apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
31+
- name: Setup Sphinx
32+
run: pip install six && pip install sphinx==5.1.0
33+
- name: Build main spec
34+
run: cd document/core && make main
35+
- name: Run Bikeshed
36+
run: cd document/core && make bikeshed
37+
- name: Upload artifact
38+
uses: actions/upload-artifact@v2
39+
with:
40+
name: core-rendered
41+
path: document/core/_build/html
42+
43+
build-legacy-exceptions-spec:
44+
runs-on: ubuntu-latest
45+
steps:
46+
- name: Checkout repo
47+
uses: actions/checkout@v2
48+
with:
49+
submodules: "recursive"
50+
- name: Setup TexLive
51+
run: sudo apt-get update -y && sudo apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
52+
- name: Setup Sphinx
53+
run: pip install six && pip install sphinx==5.1.0
54+
- name: Build main spec
55+
run: cd document/legacy/exceptions && make main
56+
- name: Upload artifact
57+
uses: actions/upload-artifact@v2
58+
with:
59+
name: legacy-exceptions-rendered
60+
path: document/legacy/exceptions/_build/html
61+
62+
build-js-api-spec:
63+
runs-on: ubuntu-latest
64+
steps:
65+
- name: Checkout repo
66+
uses: actions/checkout@v2
67+
- name: Setup Bikeshed
68+
run: pip install bikeshed && bikeshed update
69+
- name: Run Bikeshed
70+
run: bikeshed spec "document/js-api/index.bs" "document/js-api/index.html"
71+
- name: Upload artifact
72+
uses: actions/upload-artifact@v2
73+
with:
74+
name: js-api-rendered
75+
path: document/js-api/index.html
76+
77+
build-web-api-spec:
78+
runs-on: ubuntu-latest
79+
steps:
80+
- name: Checkout repo
81+
uses: actions/checkout@v2
82+
- name: Setup Bikeshed
83+
run: pip install bikeshed && bikeshed update
84+
- name: Run Bikeshed
85+
run: bikeshed spec "document/web-api/index.bs" "document/web-api/index.html"
86+
- name: Upload artifact
87+
uses: actions/upload-artifact@v2
88+
with:
89+
name: web-api-rendered
90+
path: document/web-api/index.html
91+
92+
publish-spec:
93+
runs-on: ubuntu-latest
94+
needs: [build-core-spec, build-legacy-exceptions-spec, build-js-api-spec, build-web-api-spec]
95+
steps:
96+
- name: Checkout repo
97+
uses: actions/checkout@v2
98+
- name: Create output directory
99+
run: mkdir _output && cp document/index.html _output/index.html
100+
- name: Download core spec artifact
101+
uses: actions/download-artifact@v2
102+
with:
103+
name: core-rendered
104+
path: _output/core
105+
- name: Download legacy exceptions spec artifact
106+
uses: actions/download-artifact@v2
107+
with:
108+
name: legacy-exceptions-rendered
109+
path: _output/legacy/exceptions
110+
- name: Download JS API spec artifact
111+
uses: actions/download-artifact@v2
112+
with:
113+
name: js-api-rendered
114+
path: _output/js-api
115+
- name: Download Web API spec artifact
116+
uses: actions/download-artifact@v2
117+
with:
118+
name: web-api-rendered
119+
path: _output/web-api
120+
- name: Publish to GitHub Pages
121+
if: github.ref == 'refs/heads/main'
122+
uses: peaceiris/actions-gh-pages@v3
123+
with:
124+
publish_dir: ./_output
125+
github_token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/main.yml

-85
This file was deleted.

.github/workflows/mirror.yml .github/workflows/mirror-to-master.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
name: Mirror main branch to master branch
2+
13
on:
24
push:
35
branches:
@@ -8,8 +10,7 @@ jobs:
810
runs-on: ubuntu-latest
911
name: Mirror main branch to master branch
1012
steps:
11-
- name: Mirror action step
12-
id: mirror
13+
- name: Mirror branch
1314
uses: google/[email protected]
1415
with:
1516
github-token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/w3c-publish.yml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Publish to W3C TR space
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
paths: [ .github/**, document/** ]
7+
8+
# Allows you to run this workflow manually from the Actions tab
9+
workflow_dispatch:
10+
11+
jobs:
12+
publish-to-w3c-TR:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout repo
16+
uses: actions/checkout@v2
17+
with:
18+
submodules: "recursive"
19+
- name: Setup Node.js
20+
uses: actions/setup-node@v3
21+
with:
22+
node-version: 16
23+
- name: Setup Bikeshed
24+
run: pip install bikeshed && bikeshed update
25+
- name: Setup TexLive
26+
run: sudo apt-get update -y && sudo apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
27+
- name: Setup Sphinx
28+
run: pip install six && pip install sphinx==5.1.0
29+
- name: Publish all specs to their https://www.w3.org/TR/ URLs
30+
run: cd document && make -e WD-echidna-CI
31+
env:
32+
STATUS: --md-status=WD
33+
W3C_ECHIDNA_TOKEN_CORE: ${{ secrets.W3C_ECHIDNA_TOKEN_CORE }}
34+
W3C_ECHIDNA_TOKEN_JSAPI: ${{ secrets.W3C_ECHIDNA_TOKEN_JSAPI }}
35+
W3C_ECHIDNA_TOKEN_WEBAPI: ${{ secrets.W3C_ECHIDNA_TOKEN_WEBAPI }}
36+
YARN_ENABLE_IMMUTABLE_INSTALLS: false

README.md

+2-31
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,5 @@
1-
![Build Status](https://github.com/WebAssembly/stack-switching/actions/workflows/main.yml/badge.svg)
2-
3-
# Stack Switching Proposal for WebAssembly
4-
5-
This repository is a clone of [github.com/WebAssembly/spec/](https://github.com/WebAssembly/spec/).
6-
It is meant for discussion, prototype specification and implementation of a proposal to
7-
add support for different patterns of non-local control flow to WebAssembly.
8-
9-
* See the [overview](proposals/stack-switching/Overview.md) for a summary of the proposal.
10-
11-
* See the [modified spec](https://webassembly.github.io/stack-switching/) for details.
12-
13-
## Typed Continuations Proposal for WebAssembly
14-
15-
This is a proposed solution addressing the aims of the stack-switching proposal.
16-
17-
It depends on the [function references](proposals/function-references/Overview.md) and the [exception handling](https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/Exceptions.md) proposals.
18-
19-
A complete [implementation](https://github.com/effect-handlers/wasm-spec) is available as an extension to the reference interpreter.
20-
21-
* See the [explainer](proposals/continuations/Explainer.md) for a high-level summary of the proposal.
22-
23-
* See the [overview](proposals/continuations/Overview.md) for a more formal description of the proposal.
24-
25-
* See the [examples](proposals/continuations/examples) for Wasm code for implementing various different features including lightweight threads, actors, and async/await.
26-
27-
## Fiber-based Stack Switching Proposal
28-
29-
An alternate approach to stack switching revolves around the concept of fibers rather than continuation functions. An explainer for this proposal can be seen [here](proposals/fibers/Explainer.md).
30-
31-
Original `README` from upstream repository follows.
1+
[![CI for specs](https://github.com/WebAssembly/stack-switching/actions/workflows/ci-spec.yml/badge.svg)](https://github.com/WebAssembly/stack-switching/actions/workflows/ci-spec.yml)
2+
[![CI for interpreter & tests](https://github.com/WebAssembly/stack-switching/actions/workflows/ci-interpreter.yml/badge.svg)](https://github.com/WebAssembly/stack-switching/actions/workflows/ci-interpreter.yml)
323

334
# spec
345

deploy_key

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
-----BEGIN OPENSSH PRIVATE KEY-----
2+
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
48+
fNbVF9dWMmyHAAAAAAEC
49+
-----END OPENSSH PRIVATE KEY-----

deploy_key.pub

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCf0VStDNZyAQ4ewMn5/svSDvEhit0FvcrV1CoVYWJ1lwvwpgwxHT8IRhFd9KfcRy+lidGgiNZ8ZCCo6kD3QUxoDCp2grvYHJburYLjKaNfnFHxcXIblglW+Nox5JNdmXKdBI4f2VdTlGih4TBFq2BCLO7AH8GpqGvL/wU58OFWU07bohsTIk93bep7IB37jYI5MTmhYcQndMpJZJ/BMCF+siUiD51aJLH8hRwtz7syzkSlCHd5tfj2hpbTRJZEOfKqgz3mYP5RzcO5MUnIp0eUui4RJ02sT0t4Gazk39sdKB51XJnl8v1IcLo/UeaAM8WymY7rPWzXn9rnLmF/3MdWiPWFrngtJo+UTn8vmGljo8Ift96lFeHDzhUhBXvgiwmjDVdRuSZ8qSNbc94GoIXlxMoXYsrrlKtrER80wtTROE4foHrLN4+rskX7TlUYyHYbZaTDLXWl7N6pbm09TUzarBJE3yMAUojC4LsHvd2vPzIyEXwx9NbiIYzhGqFBEIrbbGZW3PBgXBEpQz76naI6CAaLjaOdWyS/v/JDpdxoSb7YnHcLbPL/k50uqX3PyCYqwfiOlBQAOZp7woF8kKodmu2+FFOof30Te2GkgpynNj6fm6E0LKtj6FN8Hjj8Qie1aRcNMvBVVGaY7IdK8QDv8PPW+0DuBj027bnFj9JdKw==

0 commit comments

Comments
 (0)