JUG Milano Meeting #167

Giovedì 15 Gennaio 2026

The ART of Running Wasm: A Tale of Three Bytecodes


L'incontro si terrà Giovedì 15 Gennaio 2026 presso eDream ODIGEO Via Fara 26 20124 Milano - evento gratuito previa registrazione OBBLIGATORIA (vedi dettagli) (mappa) in Via Gustavo Fara, 26, 20124 Milano MI - ATTENZIONE causa lavori entrare dalla porta di servizio del RETRO del palazzo di Via Fara 26, ecco la mappa dei lavori in corso .

Il talk sarà in italiano.

Evento ibrido online ed in presenza.

La partecipazione **in presenza** è gratuita e libera, ma è OBBLIGATORIA la registrazione su: form di registrazione per partecipare a JUG Milano in presenza

Abstract dell'intervento:
What happens when JVM bytecode, Dalvik bytecode, and WebAssembly bytecode walk into the same library? Chicory is a pure-Java WebAssembly runtime that can both interpret Wasm binaries and compile them into Java bytecode: either at build-time for efficiency or at runtime for dynamic loading. This works perfectly on the JVM, but Android's ART runtime runs Dalvik bytecode. So what happens when you need to dynamically load Wasm modules on Android? In this talk, we'll explore our journey writing a new Android backend for the Chicory compiler. We'll dive into the architectural differences between stack-based JVM bytecode and register-based Dalvik bytecode, show how we generate DEX files at runtime using DexMaker, and reveal the other technical challenges we found along the way. We'll also discover the surprising similarities between these VMs and how to exploit them: did you know that the ART VM can be started like a regular JVM? Through practical examples and live demonstrations, this tale of three bytecodes will give you a unique perspective on how different runtimes really work under the hood.

A cura di Edoardo Vacchi:
Edoardo is a Principal Machine Learning Engineer at Red Hat. During his PhD he researched language design and implementation at University of Milan. He have worked at UniCredit Bank’s R&D department; at Red Hat he worked on Drools and Kogito; he joined Tetrate as a core team member of the wazero WebAssembly runtime, and at Dylibso he contributed to both Chicory and wazero. He is currently back at Red Hat in the AI department, working on LLM-D.

Al termine dell'incontro, per chi lo desidera, andremo a mangiare qualcosa tutti insieme.

[ANNOUNCE] JUG Milano Meeting #167 - The ART of Running Wasm: A Tale of Three Bytecodes

Ciao a tutti,

Siamo lieti di annunciare che un nuovo incontro del JUG Milano si terrà in modalità ibrida, Giovedì 15 Gennaio 2026.


Evento ibrido online ed in presenza.

La partecipazione **in presenza** è gratuita e libera, ma è OBBLIGATORIA la registrazione su:
[form di registrazione per partecipare a JUG Milano in presenza](https://www.eventbrite.com/)


Questo il programma:
h 18:45 - JUG news e attività in corso
h 19:00 - "The ART of Running Wasm: A Tale of Three Bytecodes", a cura di Edoardo Vacchi
h ~20:30 - Chiusura lavori, varie ed eventuali

Iscriviti al canale YouTube di JUG Milano https://www.youtube.com/@JUGMilano/streams e JUG Torino https://www.youtube.com/@JUGTorino/streams e clicca la campanella su YouTube: riceverai notifica direttamente da YouTube quando saremo live!

Potete trovare maggiori dettagli, direttamente sul nostro sito:
http://www.jugmilano.it/meeting-167.html

Vi aspettiamo!
 - JUG Milano staff

🗓️ Giovedì 15 Gennaio 2026
👉 "The ART of Running Wasm: A Tale of Three Bytecodes" in presenza e YouTube live!
🙏 presenta Edoardo Vacchi

Hybrid mode:
🚨 per partecipare in presenza è richiesto questo form:

Evento ibrido online ed in presenza.

La partecipazione **in presenza** è gratuita e libera, ma è OBBLIGATORIA la registrazione su:
[form di registrazione per partecipare a JUG Milano in presenza](https://www.eventbrite.com/)


⚠️
Dettagli: http://www.jugmilano.it/meeting-167.html