WAMI: Compilation to WebAssembly through MLIR without Losing Abstraction
This program is tentative and subject to change.
WebAssembly (Wasm) is a portable bytecode format that serves as a compilation target for high-level languages, enabling their secure and efficient execution across diverse platforms, including web browsers and embedded systems. To improve support for high-level languages without incurring significant code size or performance overheads, Wasm continuously evolves by integrating high-level features such as Garbage Collection and Stack Switching. However, existing compilation approaches either lack reusable design—requiring redundant implementation efforts for each language—or lose abstraction by lowering high-level constructs into low-level shared representations like LLVM IR, which hinder the adoption of high-level features. The MLIR compiler infrastructure provides multiple levels of abstraction that could address this limitation, yet its current Wasm pipeline relies on the LLVM backend, inheriting LLVM’s limitations.
This paper presents a novel MLIR-based compilation pipeline that directly lowers high-level MLIR dialects into Wasm without abstraction loss, providing a modular and extensible way to incorporate high-level Wasm features. We illustrate this extensibility through a case study that leverages Stack Switching, a recently introduced high-level feature of Wasm. Performance evaluations on PolyBench benchmarks across three Wasm runtimes on an x86 desktop and an embedded microcontroller show that our pipeline produces code competitive with LLVM-based compilers across all evaluated configurations.
This program is tentative and subject to change.
Tue 30 JunDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
14:00 - 15:30 | |||
14:00 30mTalk | WAMI: Compilation to WebAssembly through MLIR without Losing Abstraction MPLR Byeongjee Kang Carnegie Mellon University, Harsh Desai Carnegie Mellon University, Limin Jia Carnegie Mellon University, Brandon Lucia Carnegie Mellon University | ||
14:30 30mTalk | DWasm: Portable Debugging for the Web MPLR Aäron Munsters Vrije Universiteit Brussel, Nikita Servais Vrije Universiteit Brussel, Carlos Rojas Castillo Vrije Universiteit Brussel, Angel Luis Scull Pupo Sofware Languages Lab, Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit Brussel | ||
15:00 30mTalk | Annotation-Guided Edit-Aware JIT Compilation for Julia Computational Notebooks MPLR Yusuke Izawa Tokyo Metropolitan University, Tomoki Nakamaru The University of Tokyo, Tetsuro Yamazaki University of Tokyo | ||