Skip to content

WASI phase 3: LLVM codegen for wasm32-wasip2 #11378

Closed

Description

@proggeramlug

Part of #11375.

  • perry-codegen/src/inprocess.rs initializes only aarch64 and x86; add the WebAssembly backend (and confirm the linked LLVM ships it)
  • roots: take the existing shadow-stack fallback (no frame walker on wasm), and make sure PERRY_RS4GC / stack-map emission is refused cleanly
  • exceptions: generated try/throw uses setjmp/longjmp → LLVM wasm SjLj lowering on the exception-handling proposal
  • audit inline IR for LP64 constants not routed through target_layout.rs (heap_addr_upper_bound_exclusive, header sizes)

Activity

  1. proggeramlug commented on Oct 12, 2026

    @proggeramlug
    ContributorAuthor

    Done. The WebAssembly LLVM backend is initialised in inprocess.rs, wasm32 lowering landed (5f4ca1e), and the WASI acceptance programs including exceptions and GC run under a WASI runtime in CI (#11413, #12208). Remaining WASI work is in #11375 and #11380.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions