Title | : | Optimizing OO Programs in Java Virtual Machines |
Speaker | : | Manas Thakur (Faculty Member, CSE IIT Bombay) |
Details | : | Wed, 11 Oct, 2023 4:00 PM @ Google Meet |
Abstract: | : | The object-oriented paradigm helps developers program the world in terms of interacting objects, while features such as encapsulation, inheritance and polymorphism enhance the expressive power significantly. However, from the perspective of a dynamic OO runtime, many of these features introduce bottlenecks for performance. In this space, we have been working on optimizing the associated costs for OO languages such as Java that consist of a managed runtime such as the JVM. This involves optimizations involving object allocation, field access and method call, as well as deallocation (i.e. garbage collection). I would start the talk by giving an overview of the beast that makes Java-like languages outshine their traditional counterparts — the JVM — along with the overheads associated with running programs written in a strongly typed, platform independent, easy-to-debug object-oriented language. We would then learn about pointer and escape analysis (the analyses that enable OO optimizations), and the challenges to perform them precisely in a resource-constrained environment. Finally, we would dive into our ongoing research imparting efficiency to escape analysis and related optimizations in the JVM: optimistic stack allocation, split scalarization, object inlining, and more. Interestingly, most of our solutions have stemmed from the way Java programs are translated+executed — some part done statically and the rest dynamically — and hence the talk would also include interesting engineering insights about conjuring such novel static+dynamic program analyses. Link: https://meet.google.com/bri-dsqb-jyk |