-
Notifications
You must be signed in to change notification settings - Fork 474
Inconsistency with "if" operator #275
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Milestone
Comments
Yes, we talked about making this change in February, in order to make all blocks have labels consistently. But in the light of WebAssemply/design#652, it might make more sense not to do it. Let's see where we end up with that one. |
Decided to keep the if-labels. |
ngzhian
added a commit
to ngzhian/spec
that referenced
this issue
Nov 4, 2021
i8x16, i16x8, i32x4, i64x2 eq, ne, lt_s, lt_u, le_s, le_u, gt_s, gt_u, ge_s, ge_u. Implemented in terms of Binary operations, since they return the same v128 type, rather than a boolean like for I32 and I64. Lanes that compare true return all 1s, otherwise all 0s.
rossberg
pushed a commit
that referenced
this issue
Feb 28, 2024
This cherry-picks interpreter changes from https://github.com/WebAssembly/tail-call to run spec tests that mix `try`s with `return_call(_indirect)`s (#275). When tail-call is merged to the main spec repo, we can revert this change and merge the upstream spec. This also adds missing handling for `ReturningInvoke` in the new `Catch`/`Caught`/`Delegate` instructions in the evaluator.
rossberg
pushed a commit
that referenced
this issue
Feb 28, 2024
This adds tests of `return_call(_indirect)`s within `try`s. Because this repo's interpreter doesn't have the tail call support, this requires #274 to be merged before merging. These test also needs `--experimental-wasm-return_call` to `node` argument in the CI to pass.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The spec
if
operator introduces a new branch depth for thethen
andelse
arms, but I don't see this specified anywhere in the AstSemantics doc. This is also inconsistent with how the binary format is currently implemented (in at least v8, probably other engines too).I've ended up hacking around this in sexpr-wasm, but it would be nice to introduce some consistency here. AIUI, this was added in preparation for the switch to postorder; perhaps it should be in a
binary_0xb
branch?The text was updated successfully, but these errors were encountered: