Skip to content

Initial webassembly support via LLVM #36317

Closed
@brson

Description

@brson

After a lot of work from a number of people, including @badboy and @tomaka it looks like we're home free. Here's a recent summary. And we still need help, and fast. If you want to volunteer, either say which of these you want to tackle here or on the irlo thread and I'll mark you down.

Immediate tasks to get preliminary asmjs support:

  • ignore-emscripten failing tests
  • Merge the fastcomp squash into the rust llvm fork. It may be worth pushing this to a temporary branch on the assumption that it's not going to land easily in Rust, but I actually think this will go pretty smoothly. Squash of fastcomp commit 4105790f1549808c1f1daa5250b4ada5f41a5c02 llvm#50
  • Land PR in Rust that adds asmjs support with new llvm branch and remaining Rust patches
  • Fix jemalloc being disabled when asmjs is enabled. This causes test failures. liballoc_jemalloc needs to only be disabled for targets that don't support it.
  • Add an auto- builder that builds the asmjs target. We probably won't start testing it right away because testing this target is quite slow.
  • Add a dist- builder to create the asmjs target packages.

The first three here somebody else can pick up. I'll probably need to do the last two.

Remaining tasks:

Many of the failing tests are for multithreading. Let's not try to tackle that, but there are probably plenty that can be fixed. Adding the wasm target is probably the most fun. Ask in emscripten about how to test it. Having a mind-blowing demo is going to be important for us to bring the thunder alongside the wasm launch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-codegenArea: Code generationE-help-wantedCall for participation: Help is requested to fix this issue.O-wasmTarget: WASM (WebAssembly), http://webassembly.org/

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions