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

Abstract away wasmi #18

Open
lightclient opened this issue Nov 10, 2019 · 0 comments
Open

Abstract away wasmi #18

lightclient opened this issue Nov 10, 2019 · 0 comments

Comments

@lightclient
Copy link
Collaborator

Although wasmi has been a great initial interpreter for prototyping, it's unlikely that it will be used for the long run. It's important to keep this in mind as we continue work on the runtime and actively avoid tight coupling between our libraries.

The most pressing concern is wasmi's lack of stack traces. This makes it very difficult to track down bugs in the wasm blobs. I managed to address this issue in sheth by writing two main functions, one that used the ewasm FFI and one that received the same info via CLI args. This worked fine when the FFI functions could sandwich the execution, but with the addition of child runtimes in #11 I don't think that model will continue working.

I haven't done much research into it, but we should checkout other wasm interpreters / compiler systems to see what kind of error handling they provide. Even though the current road map is to use a wasm interpreter for Eth2, I'm not opposed to integrating an optimized compiler to this repo for testing purposes if it can provide robust stack traces.

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

No branches or pull requests

1 participant