---
title: "Bringing the Web up to Speed with WebAssembly"
description: "WebAssembly asks how a browser can run low-level code from an untrusted download without tying that code to one language, CPU, or browser. Read it to see how a typed stack format, structured branches, bounded linear memory, and streaming validation make compact portable code safe enough to compile near native speed."
canonical_url: "https://fanout.sh/daily/2026-08-27-webassembly-safe-portable-bytecode"
md_url: "https://fanout.sh/daily/2026-08-27-webassembly-safe-portable-bytecode.md"
last_updated: "2026-08-27"
access: "public"
---

# Bringing the Web up to Speed with WebAssembly

WebAssembly asks how a browser can run low-level code from an untrusted download without tying that code to one language, CPU, or browser. Read it to see how a typed stack format, structured branches, bounded linear memory, and streaming validation make compact portable code safe enough to compile near native speed.

## Paper details

- Authors: Haas, Rossberg, Schuff, Titzer, Holman, Gohman, Wagner, Zakai, and Bastien

- Venue: PLDI 2017

- Track: Systems

- Difficulty: Easy

- Reading time: 35 min

- Original paper: https://doi.org/10.1145/3062341.3062363

## What you will learn

- Why WebAssembly uses an implicit typed stack for compact transport while production engines compile that stack away into registers and machine code.

- How structured control flow and a single-pass type validator rule out arbitrary jumps, incompatible stack joins, and invalid indirect calls before execution.

- Why linear memory isolates module bytes from code and engine state, how an out-of-bounds access traps, and which host, feature, and 2017 benchmark limits remain.

## Continue exploring

[Explore the software papers map](https://fanout.sh/blog/100-papers-to-understand-software-and-computing): Place WebAssembly beside virtual machines, compiler intermediate representations, language runtimes, operating-system isolation, browser security, and other foundational software papers.

---
This representation contains public Fanout content only. Protected Pro lessons, account data, billing, checkout, and pricing are not included.

Browse the public content map: https://fanout.sh/sitemap.md
