Stream: git-wasmtime

Topic: wasmtime / PR #14045 Remove preemption points in bulk ope...


view this post on Zulip Wasmtime GitHub notifications bot (Jul 31 2026 at 15:16):

alexcrichton opened PR #14045 from alexcrichton:less-preemption to bytecodealliance:main:

This commit updates the translation of bulk operations such as memory.grow which were recently refactored to not have preemption points within the operation itself. Preemption points within the operation, while useful for very large operations, expose internal and intermediate state to embedders and the rest of the runtime. For example tables that are grown are initially filled with null, which may not be valid for the table's type. These bulk operations didn't recompute pointers/indices after a possible preemption meaning if memories were grown/moved then it would cause faults. In general this is seen as too risky of an operation to perform.

The fix in this commit is to move all preemption checks to the start of the operation itself. This means that bulk operations continue to be metered with a cost proportional to the size of the operation for fuel, and they all contain an initial epoch check for epochs. Once the operation is committed to, however, there's no cancelling it and it'll continue to run. In practice this means that extremely large copies, for example, can blow the epoch budget. To re-add preemption checks within the operation, however, will require very careful reintroduction to avoid these sorts of problems/faults.

<!--
Please make sure you include the following information:

Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.html

Please ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->

view this post on Zulip Wasmtime GitHub notifications bot (Jul 31 2026 at 15:16):

alexcrichton requested cfallin for a review on PR #14045.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 31 2026 at 15:16):

alexcrichton requested wasmtime-compiler-reviewers for a review on PR #14045.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 31 2026 at 15:16):

alexcrichton requested wasmtime-core-reviewers for a review on PR #14045.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 31 2026 at 16:17):

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

view this post on Zulip Wasmtime GitHub notifications bot (Jul 31 2026 at 16:17):

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

view this post on Zulip Wasmtime GitHub notifications bot (Jul 31 2026 at 17:11):

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

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 (Jul 31 2026 at 17:26):

cfallin commented on PR #14045:

(logistical note: F5 has a holiday today so I'll review this next week)

view this post on Zulip Wasmtime GitHub notifications bot (Aug 05 2026 at 19:08):

:thumbs_up: cfallin submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 05 2026 at 19:08):

cfallin commented on PR #14045:

(merge conflict in tests; LGTM once resolved)

view this post on Zulip Wasmtime GitHub notifications bot (Aug 06 2026 at 14:18):

alexcrichton updated PR #14045.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 06 2026 at 14:18):

alexcrichton has enabled auto merge for PR #14045.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 06 2026 at 14:28):

alexcrichton added PR #14045 Remove preemption points in bulk operations to the merge queue.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 06 2026 at 14:53):

github-merge-queue[bot] removed PR #14045 Remove preemption points in bulk operations from the merge queue.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 07 2026 at 17:38):

alexcrichton updated PR #14045.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 07 2026 at 17:38):

alexcrichton has enabled auto merge for PR #14045.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 07 2026 at 17:48):

alexcrichton added PR #14045 Remove preemption points in bulk operations to the merge queue.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 07 2026 at 18:14):

:check: alexcrichton merged PR #14045.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 07 2026 at 18:14):

alexcrichton removed PR #14045 Remove preemption points in bulk operations from the merge queue.


Last updated: Aug 30 2026 at 09:07 UTC