Skip to content
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

Allow `[t*] -> [t*]` if blocks with no else #135

Merged
merged 2 commits into from Sep 26, 2019

Conversation

@fitzgen
Copy link
Member

fitzgen commented Sep 26, 2019

As long as the start and end types are the same, then we don't need to require an else block because a no-op will trivially implements that type signature.

This also enables the multi-value proposal spec tests, which test for this.

fitzgen and others added 2 commits Sep 26, 2019
As long as the start and end types are the same, then we don't need to require
an `else` block because a no-op will trivially implements that type signature.
(no api change)
@yurydelendik yurydelendik merged commit 70000a6 into bytecodealliance:master Sep 26, 2019
1 check was pending
1 check was pending
continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
@yurydelendik

This comment has been minimized.

Copy link
Collaborator

yurydelendik commented Sep 26, 2019

Thank you for the patch.

@fitzgen fitzgen deleted the fitzgen:no-op-multi-value-else branch Sep 26, 2019
fitzgen referenced this pull request in fitzgen/wasmtime Oct 3, 2019
This has a bug fix for multi-value Wasm validation that is required for getting
the spec tests passing.

https://github.com/yurydelendik/wasmparser.rs/pull/135
fitzgen referenced this pull request in fitzgen/wasmtime Oct 15, 2019
This has a bug fix for multi-value Wasm validation that is required for getting
the spec tests passing.

https://github.com/yurydelendik/wasmparser.rs/pull/135
fitzgen referenced this pull request in fitzgen/wasmtime Oct 17, 2019
This has a bug fix for multi-value Wasm validation that is required for getting
the spec tests passing.

https://github.com/yurydelendik/wasmparser.rs/pull/135
sunfishcode referenced this pull request in bytecodealliance/wasmtime Oct 18, 2019
* deps: bump wasmparser to 0.39.2

This has a bug fix for multi-value Wasm validation that is required for getting
the spec tests passing.

https://github.com/yurydelendik/wasmparser.rs/pull/135

* Update cranelift to 0.46.1 to get multi-value Wasm support

The `cranelift_wasm` APIs had to change a little bit to maintain state necessary
when translating multi-value Wasm blocks. The `translate_module` function now
returns a `ModuleTranslationState` that is borrowed during each function's
translation.

* Enable multi-value proposal's spec tests

This enables all the Wasm multi-value proposal's spec tests other than the ones
that rely on functions having more return values than registers available on the
target. That is not supported by cranelift yet.

* wasmtime-interface-types: always use multi-value Wasm

And remove the return pointer hacks that work around the lack of multi-value.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.