Skip to content

Coerce result of void functions to None & remove host_eval#128

Merged
rossberg merged 3 commits intomasterfrom
return-void
Oct 13, 2015
Merged

Coerce result of void functions to None & remove host_eval#128
rossberg merged 3 commits intomasterfrom
return-void

Conversation

@rossberg
Copy link
Member

Fixes #122.

The host_eval function breaks once None results are coerced, so I had to remove it for good. Only const nodes are still allowed as arguments to asserts (I also looked for ways to introduce a leaner assert syntax while at it, but the explicit type info from the const opcodes is still needed, so I left it as is for the time being).

Also did a few stylistic clean-ups.

@lukewagner
Copy link
Member

lgtm

rossberg added a commit that referenced this pull request Oct 13, 2015
Coerce result of void functions to None & remove `host_eval`
@rossberg rossberg merged commit 879ad6e into master Oct 13, 2015
@rossberg rossberg deleted the return-void branch October 13, 2015 08:49
Connicpu pushed a commit to Connicpu/wasm-spec that referenced this pull request May 11, 2020
rossberg pushed a commit that referenced this pull request Feb 11, 2021
ngzhian pushed a commit to ngzhian/spec that referenced this pull request Nov 4, 2021
dhil pushed a commit to dhil/webassembly-spec that referenced this pull request Mar 2, 2023
This updates the explainer text according to the new spec we agreed in
the 09-15-2020 CG meeting and discussions afterwards.

The following are modifications and clarifications we made after the
09-15-2020 CG meeting, and the relevant issue posts, if any:
https://github.com/WebAssembly/meetings/blob/master/main/2020/CG-09-15.md

- `catch_br` wasm renamed to `delegate` (WebAssembly#133)
- `rethrow` gains an immediate argument (WebAssembly#126)
- Removed dependences on the reference types proposal and the multivalue
  proposal. The multivalue proposal was previously listed as dependent
  because 1. `try` is basically a `block`, so it can have multivalue
  input/output 2. `br_on_exn` can extract multiple values from a
  `block`. We don't have `br_on_exn` anymore, and I'm not sure 1 is a
  strong enough reason to make it a dependence.
- Mention `rethrow` cannot rethrow exceptions caught by `unwind` (WebAssembly#142
  and WebAssembly#137)
- Mention some runtimes, especially web VMs, can attach stack traces to
  the exception object, implying stack traces are not required for all
  VMs
- Update label/validation rules for `delegate` and `rethrow` (WebAssembly#146)
- Finalize opcodes for `delegate` (0x18) and `catch_all` (0x19) (WebAssembly#145
  and WebAssembly#147)

I believe this resolves many previous issue threads, so I'll close them.
Please reopen them if you think there are things left for discussions in
those issues.

Resolves WebAssembly#113, resolves WebAssembly#126, resolves WebAssembly#127, resolves WebAssembly#128, resolves
WebAssembly#130, resolves WebAssembly#142, resolves WebAssembly#145, resolves WebAssembly#146, resolves WebAssembly#147.
rossberg pushed a commit that referenced this pull request Sep 4, 2024
stevenfontanella pushed a commit to stevenfontanella/spec that referenced this pull request Nov 12, 2025
Update repos:

  spec:
    WebAssembly@1041527
  exception-handling:
    WebAssembly/exception-handling@af287a7
  gc:
    WebAssembly/gc@756060f
  function-references:
    WebAssembly/function-references@74d2ec8

This change was automatically generated by `update-testsuite.py`

Co-authored-by: WebAssembly/testsuite auto-update <github-actions@users.noreply.github.com>
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.

2 participants