Dr. Clément Béra

Dr. Clément Béra

I am interested in runtime environments for object-oriented languages, from Memory management optimisations to efficient Just-In-Time compilers through fast interpreters and Foreign Function Interfaces. I am currently working as a post-doc on concurrent virtual machines. My main focus is currently both on reducing garbage collection compaction pauses and debuggers for actor-based concurrent applications. Implementation-wise, I work with Open-Smalltalk-VM and with Truffle-SOMns.

One of my main past achievement was the implementation of Sista, a Just-in-Time compiler architecture for Open-Smalltalk-VM. Sista performs adaptive optimizations. The Sista VM starts the program non-optimized to collect runtime information about the program behavior and detect frequently used portions of code. It then generates optimized code, based on the collected runtime information. The optimizations are speculative, assuming that if the program has always behaved a certain way, it will keep behaving that way. To ensure that the execution remains correct, Sista inserts deoptimization guards, which are able to deoptimize the execution stack and resume execution with non optimized code if the behavior of the program changes. Sista may then re-optimize the code differently based on the new behavior. Research-wise, the main interest of Sista is the ability to persist part of the optimized code across multiple start-ups.

Aside from Sista, I've done a lot of work related to Memory Management (Efficient GC, support for forwarding objects), recovering debugging information across threadsin concurrent application, symbolic execution to validate Just-In-Time compiler optimization & deoptimization process and all sorts of interesting things like that. I'm also quite keen on video game implementation - unfortunately, I've been able to work with 2D engines only, see the projects page.

Don't hesitate to have a look at my Blog, where I talk about all sorts of things related to Language implementation & Virtual Machine design, usually through the example of Open-Smalltalk-VM.

Contact bera.clement(at)gmail.com