Stream: git-wasmtime

Topic: wasmtime / PR #14009 Exceptions: remove unrooted exceptio...


view this post on Zulip Wasmtime GitHub notifications bot (Jul 28 2026 at 20:33):

cfallin opened PR #14009 from cfallin:fix-tag-exn-ty to bytecodealliance:main:

We previously kept two interned types in a Tag: one corresponding to the function signature type, and one corresponding to the exception type. (These are distinct and need to be distinct: we need a home for the exn object layout that is not the function type.)

However, when a Tag was created via the host API, the outer object would root the tag itself with a RegisteredType, but the corresponding exception type was left unrooted, and hence the index could be reused.

This PR removes the exception field from Tag completely, avoiding the rooting issue. Instead, a side-table records the tag -> exception type mapping during compilation, where it is actually needed.

<!--
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 28 2026 at 20:33):

cfallin requested fitzgen for a review on PR #14009.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 28 2026 at 20:33):

cfallin requested wasmtime-compiler-reviewers for a review on PR #14009.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 28 2026 at 20:33):

cfallin requested wasmtime-core-reviewers for a review on PR #14009.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 28 2026 at 20:38):

:thumbs_up: fitzgen submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 28 2026 at 20:38):

:speech_balloon: fitzgen created PR review comment:

I don't think this is incorrect, but is there a reason we shouldn't just register the type in the store now? That seems a bit simpler to me.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 28 2026 at 21:22):

cfallin updated PR #14009.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 28 2026 at 21:23):

:memo: cfallin submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 28 2026 at 21:23):

:speech_balloon: cfallin created PR review comment:

Ah, nice, yeah, things get even simpler -- treating this as a registered type rooted by the dummy module lets us have a truly tiny diff. Updated, thanks!

view this post on Zulip Wasmtime GitHub notifications bot (Jul 28 2026 at 21:23):

cfallin has enabled auto merge for PR #14009.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 28 2026 at 21:32):

cfallin added PR #14009 Exceptions: remove unrooted exception-type index in Tag. to the merge queue

view this post on Zulip Wasmtime GitHub notifications bot (Jul 28 2026 at 21:57):

:check: cfallin merged PR #14009.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 28 2026 at 21:57):

cfallin removed PR #14009 Exceptions: remove unrooted exception-type index in Tag. from the merge queue


Last updated: Jul 29 2026 at 05:03 UTC