Photo

Putting the asm in Wasm: from bytecode to native

Edoardo Vacchi

from Tetrate (Milan)

About speaker

WebAssembly Core Engineer (Tetrate) During my PhD, I researched language design and implementation at University of Milan. I have worked at UniCredit Bank’s R&D department, and at Red Hat in the KIE Group on Drools and Kogito. I have also contributed to Quarkus.

About speakers company

Started by Istio founders, Tetrate is an enterprise service mesh company. Tetrate contributes to several open-source projects including Istio, Envoy, wazero, func-e, Coraza WAF, Apache SkyWalking, and Zipkin.

Abstracts

specific

A WebAssembly runtime is an embeddable virtual machine. This allows platforms to dynamically load and execute third-party bytecode without rebuilding their OS and Arch-specific binary. While WebAssembly is a W3C standard, there are a lot of mechanics required to do this, and many critical aspects are out-of-scope, so left to the implementation.

Most presentations discuss WebAssembly at a high level, focusing on how end users write a program that compiles to Wasm, with a high-level discussion of how a virtual machine enables this technology. This presentation goes the other way around. This talk overviews a function call beginning with bytecode, its translation to machine code, and finally how it is invoked from host code.

The implementation used for discussion is the wazero runtime, so this will include some anecdotes that affect these stages, as well as some design aspects for user functions that allow them to behave more efficiently. However, we will also indulge in a high-level comparison with other runtimes and similar technologies that in the past tried to solve the same problem.

When you leave, you'll know how one WebAssembly runtime implements function calls from a technical point of view.

The talk was accepted to the conference program

other talks of this topic

Photo
Taking Shortcuts Beyond Your IDE

Annelore Egger

OpenValue Switzerland

broad
Photo
You don't need to implement GraphQL

Sefi Ninio

Tikal Knowledge

specific
Photo
Throw exceptions... out of your codebase

Guillaume Faas

Vonage

specific
Photo
Become a Gen AI Bot Master in Just 50 Minutes – No Kidding!!

Ambesh Singh

Visionet Systems Deutschland

broad
Photo
Deep dive into the postgres index types

Jesús Espino

Mattermost Inc.

specific
Photo
Algorithm Of Massively Parallel Networking In C++

Vladislav Shpilevoy

VirtualMinds

specific
Photo
Collaborative applications and how to make them fast

Bartosz Sypytkowski

appflowy.io

specific
Photo
How we elevated tracking data accuracy from ~60% to ~80%

Alina Krasavina

Delivery hero

broad
Photo
Path to Golden Path

Daniel Drack

FullStackS GmbH

broad
Photo
Three Flavors of Pokémon - Framework Agnostic UI Testing

Shelly Goldblit

Dell Technologies

broad
Photo
An Efficient Git Workflow For High-Stakes Projects

Vladislav Shpilevoy

VirtualMinds

specific
Photo
Why You Ignore Best Practices and How You Can Fix It

Annelore Egger

OpenValue Switzerland

broad
Photo
C# 13 Unleashed: Live Demos of my Top 10 Cutting-Edge Features!

Ambesh Singh

Visionet Systems Deutschland

broad
Photo
From null to applications on Kubernetes

Roberth Strand

Sopra Steria

specific
Photo
Go performance profiling in theory and practice

Alexey Palazhchenko

FerretDB Inc.

broad
Photo
Workshop: Master Anti-Ban & Web Scraping Techniques (2h)

Fabien Vauchelles

Scrapoxy

specific
Photo
Continuous Profiling on K8s - why, when and how

Ant(on) Weiss

PerfectScale

specific
Photo
What the @#!? is Auth

Warren Parad

Authress

specific
Photo
From Server to Serverless - A story of saving Cost

Yoav Nordmann

Tikal Knowledge

specific
Photo
Simple and stable UI tests with Ultron

Aleksei Tiurin

Exness

specific
Photo
Crafting the Ultimate Docker Image for Spring Applications

Pasha Finkelshteyn

BellSoft

specific
Photo
UX at the centre of system development and design

Anesu Makwasha

Tose Technologies

specific
Photo
Pros and Cons of Jetpack Compose Toolkit

Stevan Milovanovic

InterVenture

specific
Photo
How Unit Testing Saved My Career

Annelore Egger

OpenValue Switzerland

broad
Photo
Sculpting Data for Machine Learning: Generative AI edition

Rishabh Misra

Attentive Mobile Inc

broad
Photo
JavaScript is weird. MythBusters special.

Małgorzata Janeczek

Sector Alarm Tech

broad