Source-to-Source compiling LLVM-compatible Code using Emscripten for the Browser

Philipp Welsch

What is Source-To-Source Compilation?

 

Why use it?

 

State of S-to-S compiling for the browser

Introduction

Third Party Applets

 

CoffeScript

 

Google PNaCl

Introduction

What is Emscripten?

 

Architecture

 

Which techniques and technolgies does it apply?

 

 

Emscripten

Clang

 

LLVM

 

 

Relooper

 

asm.js

 

Emscripten

Porting an existing application

 

Obstacles while porting

 

Exploring the underlying technologies further

Porting

Toolchain

 

Libraries

 

Native vs JavaScript Execution Model

 

Providing access to data on disk

Porting

WebAssembly

 

What, How, When

WebAssembly

Who? Everyone.

 

WebAssembly

How? Deliberately.

WebAssembly

When? Soon.

WebAssembly

deck

By Philipp Welsch