Skip to content

Wasm: add compileStreaming and instantiateStreaming #408

Description

@chrisbbreuer

Parent: #406
Related: #141, #142, #143, #407, #409
Roadmap: #134

Implement the standard JavaScript streaming compilation APIs over genuine Fetch Body streams and the existing WebAssembly parser, validator, compiler, and feature profiles.

Scope

  • Implement realm-local WebAssembly.compileStreaming and WebAssembly.instantiateStreaming with standard lengths and property attributes.
  • Assimilate Response Promises and thenables exactly, including abrupt getters/calls and rejection identity.
  • Validate Response brand, success status, exact application/wasm MIME type, bodyUsed, and locked body before compilation.
  • Preserve compile/link/runtime error classes, imports, result shapes, sibling realms, and cancellation.
  • Consume ordered chunks through Fetch Body, take a stable owned snapshot, and enter the existing compiler once; the unobservable incremental private feed is tracked by ABI: implement lifetime-safe Wasm StreamingCompiler feed #409.
  • Prove ordinary-vs-streaming equivalence by dispatching the exact ordinary compile/instantiate jobs and pinning all ten declared feature profiles in the audited contract.
  • Close only after exact fixing-main CI is green.

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