Skip to content

WebAssembly exceptions: JavaScript Tag/Exception API and identity boundaries #291

Description

@chrisbbreuer

Parent: #266
Depends on: #290
Roadmap: #142, #134

Implement the pinned WebAssembly exception JavaScript API and exact JS/Wasm identity behavior.

Acceptance:

  • Implement the revision-matched WebAssembly.Tag and WebAssembly.Exception constructors, prototypes, branding, reflection, and payload accessors.
  • Enforce exact descriptor evaluation order, type conversion, arity, range, and incompatible-receiver errors.
  • Preserve Tag and Exception identity through imports, exports, JS callbacks, Wasm throws/catches, rethrows, async instantiation rejection, and cross-instance linking.
  • Root reference payloads and wrappers across precise GC; release native/wrapper ownership exactly once on failure and teardown.
  • Add differential system-engine tests only where the public embedding API exposes equivalent behavior.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions