Skip to content

Squashed rebased#154

Open
fgmccabe wants to merge 3151 commits into
mainfrom
squashed-rebased
Open

Squashed rebased#154
fgmccabe wants to merge 3151 commits into
mainfrom
squashed-rebased

Conversation

@fgmccabe

Copy link
Copy Markdown
Collaborator

Mega merge of current main spec into stack switching repo

q82419 and others added 30 commits October 29, 2025 11:06
Part of #1950, similarly to what was done with the memory64 core tests
This doesn't affect any existing code, so I'm merging for now to make the downstream sync easier.
rossberg and others added 30 commits June 3, 2026 15:38
This commit implements the WebAssembly Stack Switching proposal in the interpreter and tests.

Key changes:
- AST & Types: Added continuation types (`cont`) and stack switching instructions (`cont.new`, `cont.bind`, `suspend`, `resume`, `resume_throw`, `resume_throw_ref`, `switch`).
- Parsing & Lexing: Added support for the new instructions and types in text format.
- Validation: Implemented validation rules for the new instructions, ensuring correct type checking and handling of concrete continuation types.
- Execution: Implemented the reduction semantics for stack switching, including prompting, suspending, resuming, and switching continuations. Corrected stack popping order for `resume_throw_ref`.
- Binary Format: Implemented encoding and decoding for the new instructions and continuation types.
- Tests: Added comprehensive test suite for stack switching under `test/core/stack-switching/`.
- Documentation: Added explainer and design notes under `proposals/stack-switching/`.

TAG=agy
CONV=cad20525-759c-46ac-a1c0-b6841b990f5c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.