Erlang VM Developer
Tracing JIT Compiler
The canonical Erlang VM includes an interpreting abstract machine, normally called the BEAM. For the last couple of years Ericsson together with SICS have been working on creating a Tracing JIT Compiler for the BEAM in order to make sequential code run faster. The project uses the LLVM compiler toolchain to analyse the reference implementation and from it generate both a new interpreting abstract machine and the JIT compiled traces. Using a Tracing JIT Compiler instead of a Method JIT Compiler allows for easy in-lining of cross-module calls and constant propagation of the resulting code which can significantly reduce runtime of code.
This presentation will give a technical description of the design of the JIT Compiler and also describe the special features of LLVM that are used to make the project work.
Lukas first came in contact with Erlang 2004 while studying in Göteborg. He has been working with Erlang at Erlang Solutions for about 10 years in many different industries. For the last 5 years he's been a consultant with the Erlang/OTP team at Ericsson AB, mainly working on the development of the Erlang VM.Twitter: @garazdawi