Next May 18 there will be an online talk about optimization in JIT compilers. I wonder how useful this talk can be to better understand how the Julia compiler works.
Title of the talk : Fixing the see-saw: Enabling precise optimizations in JIT compilers, efficiently
Abstract of the talk :
Just-in-time (JIT) compilers offer novel ways to optimize programs based on their execution profile and have found significant usage in languages with managed runtimes. However, as the JIT-compilation time directly affects the execution time of a program, precision-enhancement techniques from the static-analysis world seldom find way into these otherwise powerful systems.
In this talk, I would first illustrate the above challenge using examples of program analysis aimed at enabling stack allocation of heap objects in Java. We would see how we have developed techniques to not only allocate a large number of objects on stack (leading to reduced garbage collection and improved performance), but to also handle challenges posed by possible dynamism in Java Virtual Machines. We would also understand how we facilitate code specialization in even newer dimensions by reusing compiled code for the lazy dynamic language R. All parts of the story would be bound by our encompassing goal: efficiency during program execution.
More info: