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

Implement RFC 11: Redesigning Wasmtime's APIs #2897

Merged
merged 100 commits into from
Jun 3, 2021

Conversation

alexcrichton
Copy link
Member

This PR is an implementation of RFC 11 which is a redesign of Wasmtime's APIs.

Note: The RFC is not merged at this time, so this PR is purely meant for informational purposes and review. This should not merge until the RFC itself has been approved and merged.

I've gotten this impelmentation to the point now where it should be passing all in-tree tests. I think the performance is suitable for performance testing as well to ensure that it doesn't regress anything. I'd like to ideally get some review on this so by the time the RFC merges it's ready to go, and I'm also curious for design feedback which may influence the RFC itself as well.

I don't recommend paying attention to the commits themselves. They're all a mess and 95% of the changes are in the first commit. I plan on squashing everything and making a better commit message before merging.

Currently the only remaining TODO item is documentation. I have not yet update the API documentation of the wasmtime crate or the C API, and a lot of love needs to be poured into there. I would consider this a blocker before merging, I'm just working on the actual implementation itself first (Python/Go bindings are up next). I would also like to put more work into documenting some internal design decisions in inline comments, currently I don't think there's a sufficient amount. I plan on doing this with the general documentation pass I'll be doing later this week.

@github-actions github-actions bot added the wasmtime:c-api Issues pertaining to the C API. label May 11, 2021
crates/wiggle/Cargo.toml Outdated Show resolved Hide resolved
pchickey and others added 4 commits June 1, 2021 10:24
Co-authored-by: Benjamin Bouvier <public@benj.me>
That's enabled through `wasmtime_async`
This is relegated to wasmtime-wasi
@alexcrichton
Copy link
Member Author

The RFC has been merged and this has been reviewed (thanks all!) so I'm going to merge.

@alexcrichton alexcrichton merged commit 7a1b7cd into bytecodealliance:main Jun 3, 2021
@alexcrichton alexcrichton deleted the new-api branch June 3, 2021 14:10
olivierlemasle added a commit to olivierlemasle/wasmtime that referenced this pull request Jun 3, 2021
In commit 33c791e (PR bytecodealliance#2944), I added LICENSE files to all published
crates. However, since then PR bytecodealliance#2897 has been merged and remove 3 crates,
resulting in license files in empty directories.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cranelift Issues related to the Cranelift code generator wasmtime:c-api Issues pertaining to the C API.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants