Stream: general

Topic: table64 in wasmtime?


view this post on Zulip Linwei Shang (May 21 2024 at 17:30):

Is there a plan to implement 64-bit table in wasmtime?

table64 was added to the memory64 proposal.

The tracking issue doesn't have an entry for wasmtime implementation.

@Alex Crichton

I saw your comment about wasmtime.

And in wasmtime source code, I noticed you recently committed this which add an error for unsupported 64-bit table type.

I would like to help if it is needed.

P.S. The Wasm CG F2F meeting is going to poll for memory64 phase 4. I'm wondering if this effort to support table64 in wasmtime will help.

Now that #46 is decided we need get this extension implemented in various places: Overview Spec interpreter #53 Spec text Resolve #55 External places: wabt (WebAssembly/wabt#2418) binaryen (WebAsse...
Now that #46 is decided we need get this extension implemented in various places: Overview Spec interpreter #53 Spec text Resolve #55 External places: wabt (WebAssembly/wabt#2418) binaryen (WebAsse...
A fast and secure runtime for WebAssembly. Contribute to bytecodealliance/wasmtime development by creating an account on GitHub.

view this post on Zulip Alex Crichton (May 21 2024 at 17:36):

Hello! I don't believe there's a plan at the moment but I also don't think that anyone would have any objections. It's probably not a whole lot of work but it is a little bit of work to get done though. If you're interested to help out I'd be happy to help point out places I think might need to get updated!

Wasmtime will want to implement the proposal as it standardizes, we're definitely not intentionally leaving it out! I added an error to explicitly say that table64 isn't supported but that's just because the parsing tooling has support for table64 and I didn't want to block updating the parsing tooling on implementing table64, so the error you linked is just transitionary.

As for phase 4 advancing, whether or not a Wasmtime implementation will help that is something I'm not sure about. The CG has a strict requirement at the moment that two web engines implement a feature before it reaches phase 4, with emphasis on "web" in the "web engine". There's never been a time historically where there was, for example, one web engine and Wasmtime's implementation used as a justification to advance a proposal, it's always been two web engines. Given this while I'm sure an implementation in Wasmtime wouldn't hurt advancement to phase 4 it would require consenus on whether to relax the web engine requirement to include an engine like Wasmtime, and I'm at least certain that's not a step that will be taken lightly and would require a good deal of discussion.

view this post on Zulip Linwei Shang (May 21 2024 at 17:41):

If you're interested to help out I'd be happy to help point out places I think might need to get updated!

Definitely yes. I'm willing to contribute to the wasmtime codebase.

view this post on Zulip Alex Crichton (May 21 2024 at 17:42):

Ok great! I'll write up an issue and post it here today

view this post on Zulip Alex Crichton (May 21 2024 at 18:54):

Ok I've jotted some notes on https://github.com/bytecodealliance/wasmtime/issues/8674 with some general thoughts too. Let me know if you have any questions though, happy to answer here or there

The memory64 proposal was recently updated to include 64-bit tables in addition to 64-bit memories. Support for this extension has been implemented in wasm-tools and the main branch of Wasmtime is ...

Last updated: Dec 23 2024 at 12:05 UTC