Christian Wimmer is the architect of GraalVM Native Image. He was one of the first engineer of the GraalVM project, and helped growing it from a research project of Oracle Labs to a supported Oracle product. He believes that all languages should be equally fast, and that we therefore need to stop writing individual VMs and instead have one polyglot VM. His research interests span from compilers, virtual machines, and secure systems to component-based software architectures.
He received a Dr. techn. degree in Computer Science (advisor: Prof. Hanspeter Mössenböck) and a Dipl.-Ing. degree in Computer Science, both from the Johannes Kepler University Linz, Austria. Before the time at Oracle, he was a postdoctoral researcher at the Department of Computer Science of the University of California, Irvine. He worked with Prof. Michael Franz at the Secure Systems and Software Laboratory on compiler optimizations, dynamic programming languages, and language-based security.
As a PhD student, he worked at the Institute for System Software of the Johannes Kepler University Linz, Austria on compiler optimizations for the Java HotSpot™ virtual machine. His implementation of a linear-scan register allocator for the Java HotSpot™ client compiler is part of the Oracle JDK since version 6 (source code available from the OpenJDK project). Then, he explored automatic object inlining, a novel feedback-directed optimization for the Java HotSpot™ VM. He also manages the development of the Java HotSpot™ Client Compiler Visualizer, a visualization tool for the internal data structures of the client compiler, as well as of the Graal compiler and the C1X compiler of the Maxine VM.
Selected Publications
- Christian Wimmer, Codrut Stancu, David Kozak, Thomas Würthinger: Scaling Type-Based Points-to Analysis with Saturation. In Proceedings of the ACM on Programming Languages, volume 8, issue PLDI, article 187. ACM Press, 2024. doi:10.1145/3656417
- Christian Wimmer, Codrut Stancu, Peter Hofer, Vojin Jovanovic, Paul Wögerer, Peter B. Kessler, Oleg Pliss, Thomas Würthinger: Initialize Once, Start Fast: Application Initialization at Build Time. In Proceedings of the ACM on Programming Languages, volume 3, issue OOPSLA, article 184. ACM Press, 2019. doi:10.1145/3360610
- Thomas Würthinger, Christian Wimmer, Christian Humer, Andreas Wöß, Lukas Stadler, Chris Seaton, Gilles Duboscq, Doug Simon, Matthias Grimmer: Practical Partial Evaluation for High-performance Dynamic Language Runtimes. In Proceedings of the Conference on Programming Language Design and Implementation, pages 662–676. ACM Press, 2017. doi:10.1145/3062341.3062381
- Christian Wimmer, Michael Haupt, Michael L. Van De Vanter, Mick Jordan, Laurent Daynès, Douglas Simon: Maxine: An Approachable Virtual Machine For, and In, Java. In ACM Transactions on Architecture and Code Optimization, volume 9, issue 4, article 30. ACM Press, 2013. doi:10.1145/2400682.2400689
- Thomas Kotzmann, Christian Wimmer, Hanspeter Mössenböck, Thomas Rodriguez, Kenneth Russell, David Cox: Design of the Java HotSpot™ Client Compiler for Java 6. In ACM Transactions on Architecture and Code Optimization, volume 5, issue 1, article 7. ACM Press, 2008. doi:10.1145/1369396.1370017