Peer Stritzinger is the founder and managing director of Peer Stritzinger GmbH, leading the development of GRiSP, a platform for running Erlang on small embedded systems, and GRiSP.io, a cloud-to-edge platform for IoT. Since discovering Erlang in 2007, Peer has been captivated by its unique properties for building resilient distributed systems and has found great value in its community.
Peer Stritzinger GmbH builds solutions for Automotive, Railway, and Industrial IoT, leveraging Erlang where it offers clear advantages. Peer is also involved in EU-funded research to expand the BEAM ecosystem’s capabilities.
With experience ranging from device drivers to functional programming, Peer holds a master’s degree in physics from the Technical University of Munich and has worked as a developer since 1987, specializing in applied cryptography, protocol design, and industrial automation. He lives and works in the countryside west of Munich.
BEAM JIT (BeamAsm) made Erlang/OTP faster on x86-64 and ARM64, but ARM32 — still common in embedded, industrial and IoT systems — was missing. This talk tells the story of closing that gap.
Peer will walk through the practical journey of bringing the Erlang JIT to ARM32: cross-building OTP, running and debugging under qemu-arm and gdb-multiarch, teaching AsmJit and BeamAsm about ARM32’s smaller register file, tagged terms, literal pools and PC-relative displacement limits, and chasing the kind of bugs where a single NOP can make a crash disappear.
The talk is not a tour of every emitter. It is a guided path through the constraints, failures and design choices that turned “halt(42)” into a working Erlang shell, then into a completed JIT running on a GRiSP2 board. We will end with fresh GRiSP2 benchmarks and what this means for Erlang on embedded ARM devices.
Attendees will leave with a clearer mental model of how BeamAsm works, why VM ports are harder than “just emitting assembly,” and concrete lessons for debugging generated code.
Key Takeaways:
Target Audience: