GC and Exceptions in Wasmtime

(bytecodealliance.org)

111 points | by phickey 4 days ago

3 comments

  • faldor20 3 hours ago
    It seems like a bit of a shame that wasm got support for exceptions but doesn't support effects which are a generalisation of the same concept. https://wasmfx.dev/

    I'm guessing this may be because exceptions exclusively require stack unwinding where as effects require full stack switching.

    Seems like there is still progress on that though which gives hope https://github.com/WebAssembly/stack-switching/blob/main/pro...

    • boomskats 3 minutes ago
      Thanks for that link! There goes my Saturday morning.

      After a bunch of middle clicking I landed here [0]. So if I understand correctly, the current stack switching proposal depended on exception handling to be implemented first for resume.throw, so that bit was blocked until now.

      But it's also further along than you might assume [1], i.e. you can already invoke Wasmtime with `-W stack-switching` and hit the boundaries where the experimental implementation breaks.

      Sadly though, like many ambitious Wasm things that don't have revenue directly attached to them, it now seems partly a case of finding someone willing to sponsor or finish the remaining work [2].

      I also found the list of open stack-switching issues[3] useful.

      (also, minor nit - Wasm != Wasmtime)

      [0]: https://github.com/bytecodealliance/wasmtime/issues/10248

      [1]: https://github.com/bytecodealliance/wasmtime/issues/12941

      [2]: https://github.com/bytecodealliance/wasmtime/issues/12941#is...

      [3]: https://github.com/bytecodealliance/wasmtime/issues?q=state%...

    • shevy-java 57 minutes ago
      > Seems like there is still progress

      Oh I already know that about WASM now. All is in progress ... perpetual progress.

      I'll look again in the next decade.

      • boomskats 38 minutes ago
        I would suggest you look at it a little more often than that - to improve the quality of discussion here, if for nothing else.
  • shevy-java 58 minutes ago
    WASM will be ready when GNU Hurd succeeds in running the desktop linux of the year. Already 10 years since WASM ... HTML, CSS and JavaScript all had a huge influence. WAS simply has not done so yet.
    • boomskats 41 minutes ago
      Ready for what?

      WASM is already running in production at a whole bunch of financial services orgs and government infra.

      The thing is, it's not running anywhere near HTML, CSS or JavaScript. It's running serverside, mostly on Wasmtime - which, as it happens, is what this post is all about.

      • troupo 15 minutes ago
        why.... why would financial services orgs and government infra run anything on wasm serverside?
  • ngrilly 2 hours ago
    Does it support interior pointers?