Skip to content

Support exceptions with Pulley#11495

Merged
alexcrichton merged 6 commits intobytecodealliance:mainfrom
alexcrichton:pulley-exceptions
Aug 21, 2025
Merged

Support exceptions with Pulley#11495
alexcrichton merged 6 commits intobytecodealliance:mainfrom
alexcrichton:pulley-exceptions

Conversation

@alexcrichton
Copy link
Member

This implements Chris's suggestion to avoid special-casing the raise libcall and instead let it fully execute for Pulley. The switch of whether to do a native longjmp or a Pulley longjmp is done based on the interpreter state of Wasmtime's configured executor.

Closes #11486

This implements Chris's suggestion to avoid special-casing the `raise`
libcall and instead let it fully execute for Pulley. The switch of
whether to do a native longjmp or a Pulley longjmp is done based on the
interpreter state of Wasmtime's configured executor.

Closes bytecodealliance#11486

prtest:full
@alexcrichton alexcrichton requested review from a team as code owners August 21, 2025 20:36
@alexcrichton alexcrichton requested review from fitzgen and removed request for a team August 21, 2025 20:36
@cfallin cfallin requested review from cfallin and removed request for a team and fitzgen August 21, 2025 20:58
@cfallin
Copy link
Member

cfallin commented Aug 21, 2025

Happy to take this one for review (and thanks for doing this!). Working out a fix to #11489 which I'll want to make sure doesn't conflict (probably won't?) then will review this.

Copy link
Member

@cfallin cfallin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, thanks!

@alexcrichton alexcrichton enabled auto-merge August 21, 2025 21:59
@alexcrichton alexcrichton added this pull request to the merge queue Aug 21, 2025
Merged via the queue into bytecodealliance:main with commit bbd5b1f Aug 21, 2025
168 checks passed
@alexcrichton alexcrichton deleted the pulley-exceptions branch August 21, 2025 22:42
bongjunj pushed a commit to prosyslab/wasmtime that referenced this pull request Oct 20, 2025
* Support exceptions with Pulley

This implements Chris's suggestion to avoid special-casing the `raise`
libcall and instead let it fully execute for Pulley. The switch of
whether to do a native longjmp or a Pulley longjmp is done based on the
interpreter state of Wasmtime's configured executor.

Closes bytecodealliance#11486

prtest:full

* Resolve a TODO

* Ignore tests on miri that compile wasm

* Fix configured builds

* Undo typo

* Fix another typo
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.

Exceptions: support Pulley

3 participants