Stream: git-wasmtime

Topic: wasmtime / PR #12990 MMU-based epoch interruption


view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2026 at 16:33):

erikrose opened PR #12990 from erikrose:epoch-mmu to bytecodealliance:main:

This is an implementation of #1749, specifically @cfallin's roadmap, with the goal of reducing the overhead of checking for the end of epochs.

Paul ran some benchmarks on this (broadly agreeing with our real-world experiments) which tell us:

The above numbers are from SpiderMonkey, which I deem the most representative benchmark.

Status:

If the TLB shootdown arising from the frobbing of privs on the "interrupt page" proves too expensive, we can try a more indirect load instead, where, instead of messing with page privs, we mess with the address we're dead-loading from so it points to either a (statically) allowed or forbidden page. (Chris floated this idea at the 2026-04-08 Cranelift meeting.) Not many of the other mechanics need change.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2026 at 20:00):

github-actions[bot] added the label cranelift on PR #12990.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2026 at 20:00):

github-actions[bot] added the label cranelift:area:x64 on PR #12990.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2026 at 20:00):

github-actions[bot] added the label cranelift:area:machinst on PR #12990.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2026 at 20:00):

github-actions[bot] added the label cranelift:docs on PR #12990.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2026 at 20:00):

github-actions[bot] added the label wasmtime:config on PR #12990.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2026 at 20:00):

github-actions[bot] added the label wasmtime:api on PR #12990.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2026 at 20:00):

github-actions[bot] added the label cranelift:meta on PR #12990.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 08 2026 at 20:02):

github-actions[bot] commented on PR #12990:

Label Messager: wasmtime:config

It looks like you are changing Wasmtime's configuration options. Make sure to
complete this check list:

[fuzzing-config]: https://github.com/bytecodealliance/wasmtime/blob/ca0e8d0a1d8cefc0496dba2f77a670571d8fdcab/crates/fuzzing/src/generators.rs#L182-L194
[fuzzing-docs]: https://docs.wasmtime.dev/contributing-fuzzing.html


<details>

To modify this label's message, edit the <code>.github/label-messager/wasmtime-config.md</code> file.

To add new label messages or remove existing label messages, edit the
<code>.github/label-messager.json</code> configuration file.

Learn more.

</details>

view this post on Zulip Wasmtime GitHub notifications bot (Apr 10 2026 at 21:50):

erikrose updated PR #12990.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 10 2026 at 21:50):

erikrose edited PR #12990:

This is an implementation of #1749, specifically @cfallin's roadmap, with the goal of reducing the overhead of checking for the end of epochs.

Paul ran some benchmarks on this (broadly agreeing with our real-world experiments) which tell us:

The above numbers are from SpiderMonkey, which I deem the most representative benchmark.

Status:

If the TLB shootdown arising from the frobbing of privs on the "interrupt page" proves too expensive, we can try a more indirect load instead, where, instead of messing with page privs, we mess with the address we're dead-loading from so it points to either a (statically) allowed or forbidden page. (Chris floated this idea at the 2026-04-08 Cranelift meeting.) Not many of the other mechanics need change.


Last updated: Apr 13 2026 at 00:25 UTC