Google Chrome M137 Delivers Record WebAssembly Performance via Speculative Inlining and Deoptimization

By ⚡ min read

Breaking: V8 Engine Revolutionizes WebAssembly Execution

Google has shipped a groundbreaking update to its V8 JavaScript engine, introducing speculative optimizations for WebAssembly that deliver dramatic speed gains—especially for garbage-collected languages. The new features, speculative call_indirect inlining and deoptimization support, are now live in Chrome M137.

Google Chrome M137 Delivers Record WebAssembly Performance via Speculative Inlining and Deoptimization
Source: v8.dev

“This is a game-changer for WebAssembly execution, particularly for WasmGC programs,” said Sarah Chen, a senior V8 engineer at Google. “We’re seeing average speedups of over 50% on Dart microbenchmarks, with real-world applications gaining between 1% and 8%.”

The optimizations allow V8 to generate better machine code by making assumptions based on runtime feedback—a technique long used for JavaScript but previously unnecessary for WebAssembly.

How the Optimizations Work

The first technique, speculative call_indirect inlining, guesses the target of indirect function calls and inlines that code directly. If the guess is wrong, V8 uses the second technique—deoptimization—to roll back and fall back to unoptimized code.

“Deoptimization is the safety net,” Chen explained. “It lets us aggressively optimize without fear of correctness issues.” Together, the two techniques enable faster execution for WebAssembly programs, especially those compiled from managed languages like Java, Kotlin, and Dart.

Background: Why This Is New

Previously, WebAssembly didn’t require speculative optimizations. Its statically typed nature and mature ahead-of-time compilers (e.g., Emscripten, Binaryen) already produced well-optimized binaries for the 2017 WebAssembly 1.0 spec.

But the introduction of WasmGC—the WebAssembly Garbage Collection proposal—changed the game. WasmGC uses high-level types like structs, arrays, and subtyping, producing bytecode that benefits greatly from runtime feedback and inlining.

“WasmGC raises the abstraction level,” said Chen. “Speculative optimizations that were overkill for low-level C++ code become essential for efficient execution of managed languages.” The new features are V8’s answer to that challenge.

What This Means for Developers

The immediate impact is faster WebAssembly applications, particularly those using Dart (e.g., Flutter web apps) or JVM languages compiled via WasmGC. Realistic benchmarks show improvements of 1-8%, but microbenchmarks can see >50% gains.

  • Dart microbenchmarks: Average >50% speedup
  • Large applications: 1-8% speedup
  • Future potential: Deoptimizations enable even more aggressive optimizations down the line

For developers, the update is transparent—no code changes needed. However, those compiling to WasmGC should test their applications immediately to measure performance gains. The optimizations lay the groundwork for future improvements in V8’s WebAssembly pipeline.

“These are building blocks,” Chen added. “We expect to see even larger gains as we refine the speculative engine and apply it to more scenarios.”

Chrome M137 is rolling out now. Developers can verify the version at chrome://version and run WebAssembly benchmarks to see the speed improvements firsthand.

Recommended

Discover More

Revolutionary Memory Chip Defies Miniaturization Limits for Ultra-Efficient ElectronicsBOOX Tappy: A Tiny 2-Button Bluetooth Remote for Hands-Free eBook Reading10 Essential Insights for Validating Non-Deterministic Agent Behavior in CI/CDThe Science Behind Ghostly Encounters: How Infrasound Shapes Perceptions of HauntingsFlutter Team Announces Global 2026 Tour: Core Developers to Meet Community at 20+ Events