Version 6 of Sun Microsystems' Java HotSpot™ Virtual Machine includes several research results of the last years. Especially the client compiler, which is the default just-in-time compiler for interactive desktop applications, was improved significantly by introducing static single assignment (SSA) form to the compiler’s front end and adding a liner scan register allocator to the back end. This talk presents design decision and implementation details of the SSA form. It is created directly from Java bytecodes with only a fast preprocessing pass, and then used for global optimizations. Deconstruction of SSA form is mostly done before register allocation. Because the client compiler is designed as a fast and low-overhead just-in-time compiler, it was an important goal that SSA form does not increase compilation time and the complexity of the compiler. Here are the most relevant publications for my talk. Can be accessed online using http://dx.doi.org/... * 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 * Christian Wimmer, Hanspeter Mössenböck: Optimized Interval Splitting in a Linear Scan Register Allocator. In Proceedings of the ACM/USENIX International Conference on Virtual Execution Environments, pages 132-141. ACM Press, 2005. doi:10.1145/1064979.1064998 * Thomas Würthinger, Christian Wimmer, Hanspeter Mössenböck: Array Bounds Check Elimination in the Context of Deoptimization. In Science of Computer Programming, volume 74, issues 5-6, pages 279-295. Elsevier, 2009. doi:10.1016/j.scico.2009.01.002 * Thomas Kotzmann, Hanspeter Mössenböck: Escape Analysis in the Context of Dynamic Compilation and Deoptimization. In Proceedings of the ACM/USENIX International Conference on Virtual Execution Environments, pages 111-120. ACM Press, 2005. doi:10.1145/1064979.1064996 * Thomas Kotzmann, Hanspeter Mössenböck: Run-Time Support for Optimizations Based on Escape Analysis. In Proceedings of the International Symposium on Code Generation and Optimization, pages 49-60. IEEE Computer Society, 2007. doi:10.1109/CGO.2007.34