-
Notifications
You must be signed in to change notification settings - Fork 66
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
feat: upstream wasi virt walrus ops #248
feat: upstream wasi virt walrus ops #248
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like a great start, these seem like useful conveniences to me.
1bc49ea
to
db6c171
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @vados-cosmonic, this is mostly seeming pretty good to me.
Thanks for all the work reviewing this, improving the function/usage surface here has certainly taken more work than I expected. I've just rebased & squashed the changes down to one commit |
74966a4
to
fe21e67
Compare
563e8d9
to
ce36cd7
Compare
Hey @guybedford I've done a little bit more on this -- split up the functions and added some basic tests, if you wouldn't mind taking another look |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, thank you. Just a note re naming and I think we should keep stubbing to being a user side implementation detail.
cbcc22d
to
ad31f36
Compare
Addressed all comments and squashed + rebased! Thanks for the reviews -- I think you should be good to merge at will [EDIT] - One more thing, removed the |
WASI-virt contains functions that are helpful for manipulating modules and dealing with exports/imports, which would be helpful to an even wider group if upstreamed here to walrus. This commit copies and upstreams some operations that were introduced in WASI-virt for wider use via walrus. See also: bytecodealliance/WASI-Virt#20 Signed-off-by: Victor Adossi <[email protected]>
ad31f36
to
4331cb2
Compare
@vados-cosmonic this looks great to merge to me as well. I'm not sure what is up with the recent CI break, given nothing has changed on that side. If you have any ideas do let me know, I think we should ensure CI is running before landing. |
1bd3c52
to
45cbc48
Compare
Hey @guybedford I think I found the problem -- the WAT files used in the tests seem to be outdated in a few ways:
For reference, the errors in CI look like this:
It seems to be simply a WAT format/issue... I'm not sure how this could have possibly been in here so long without causing tests to fail.. The failing tests were written in 2019, so I'm hoping it's actually this simple of a fix. I'm going around and updating the WAT as best I can, will collect them into one separate commit so they're easy to review! [EDIT] I was wondering to myself how this stuff could be changing since the GHA config was using hard coded versions of the toolchain ( [EDIT2] I'm probably going to move these changes to their own PR. It remains to be seen whether we should hard-code the rust versions in the matrix (since the current way means that tests will break randomly)... but at the very least, these WAT changes should be kept separate. |
ccef318
to
47e193e
Compare
The excellent pre-existing test suite contains a lot of WAT files as test-cases that seem to have older syntax in them. The breakage is introduced because the current test suite runs stable, latest and nightly versions of Rust while conducting tests. While the rest of the Wasm toolchain (binaryen, wabt, etc) are hard-coded to versions that should stay compatible with the WAT as they were written, the upstreaming of various changes to Rust itself seems to be causing failures when using the existing WAT for tests. This PR updates the WAT (mostly operation renaming) that have changed in order to get tests running again. Signed-off-by: Victor Adossi <[email protected]>
4cc888f
to
7af98d7
Compare
I'm going to merge this, but before we release I would still like to see how the Wasi-VIRT rebase looks like on top of this work to see if there's any final API feedback we need to make in follow-up PRs. Thanks for getting this over the line! |
Hey @guybedford sure -- I'll have a PR up to WASI-Virt and try and use these new functions so we have an idea of how different it will look! |
This PR upstreams a few functions from WASI-Virt (see previous discussion) that might be helpful to the wider
walrus
user ecosystem.