Control-Flow Sensitive Escape Analysis in Falcon JIT
Performance of modern JVMs has been improving. New optimizations have been developed aimed to make modern systems faster. One of those important optimizations is the Escape Analysis in Java. Though most popular articles on Escape Analysis are written by Java developers and based on observations of their programs' or tests' behavior.
In this presentation I'm going to share my vision on Escape Analysis as a JIT developer. I will present the ideas that were implemented in the new Escape Analyzer in Falcon — JIT compiler of Zing VM.
Having the described principles of the Escape Analysis in mind you will be able to recognize allocation usage patterns — if they can be analyzed and optimized or persist. We will take a look at the latest performance report which shows that the Escape Analysis gives significant performance improvement.