Skip to content

.NET WebAssembly on CoreCLR interpreter #121511

@radekdoulik

Description

@radekdoulik

Intro

We are migrating .NET WebAssembly from the Mono runtime to CoreCLR, targeting an early preview in the .NET 11 timeframe. The initial phase will run on the CoreCLR interpreter, laying the groundwork for ReadyToRun (R2R) and RyuJIT.

In the .NET 12 timeframe we will focus on stability, performance, and a seamless transition.

CoreCLR bootstrap

  • Build PAL on wasm
  • Build CoreCLR runtime on wasm
  • Make simple method compile and run with interpreter
  • Make runtime initialization work
  • Make HelloWorld work

Stage 2

  • Initial GC and EH work
  • Initial browser host
  • Make Interpreter tests pass (w/o pinvoke test)
  • Async main

Stage 3

  • Initial SDK
  • Initial JS interop
  • Pass more runtime tests
  • Make few library test run
  • Initial diagnostics support (debugger, event pipe)
  • Initial workload
    • Helper calls generator
    • Relink runtime during application build

Stage 4

  • All runtime tests pass
  • Pass more library tests
  • Build and run simple Blazor app

Stage 5

  • All library tests pass
  • Complete Blazor support
  • Finished diagnostics support

Metadata

Metadata

Assignees

Labels

EpicGroups multiple user stories. Can be grouped under a theme.area-CodeGen-Interpreter-coreclrtrackingThis issue is tracking the completion of other related issues.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions