Paul Krill
Editor at Large

Wasmer WebAssembly runtime adds native compilation

news
Jun 10, 20222 mins

With version 2.3, Wasmer compiles to Wasm and introduces a stack switcher to run Wasm code in a separate stack from the host stack.

night lights 99689611
Credit: Thinkstock

With Wasmer 2.3, the server-side Wasmer WebAssembly runtime debuts new native compilation capabilities and a new stack switching library called Corosensei.

Introduced June 7, Wasmer version 2.3 is a precursor to a planned “big” 3.0 release of the open source WebAssembly runtime. Wasmer can be accessed from the technology’s website.

With the new release, Wasmer now compiles to Wasm/WASI (WebAssembly System Interface). This was done in an effort to enable compilation of WebAssembly to native entirely in WebAssembly, for use in future products. Also in the compilation vein, Wasmer 2.3 improves unwinding support in the Singlepass compiler to offer better backtraces and make it possible to run Singlepass with a Dylib engine.

Wasmer supports the Cranelift and LLVM compilers. Wasmer 2.3 uses Cranelift 0.82, enabling Wasmer to fully support SIMD instructions and a new compilation strategy using ISLE, a domain-specific language for instruction selection.

The new stack switcher, Corosensei, handles crossing from the host language to the Wasm/WebAssembly world. Prior to Wasmer 2.3, WebAssembly calls were made using the same stack used in Wasm, potentially making Wasmer vulnerable to attacks on the stack. The new stack switching library, Coronsei, based in Rust, brings Wasmer about halfway to supporting async import calls within Wasmer natively. It also supports backtraces and panic propagation.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author