Sciweavers

VEE
2005
ACM

Escape analysis in the context of dynamic compilation and deoptimization

14 years 5 months ago
Escape analysis in the context of dynamic compilation and deoptimization
In object-oriented programming languages, an object is said to escape the method or thread in which it was created if it can also be accessed by other methods or threads. Knowing which objects do not escape allows a compiler to perform aggressive optimizations. This paper presents a new intraprocedural and interprocedural algorithm for escape analysis in the context of dynamic compilation where the compiler has to cope with dynamic class loading and deoptimization. It was implemented for Sun Microsystems’ Java HotSpotTM client compiler and operates on an intermediate representation in SSA form. We introduce equi-escape sets for the efficient propagation of escape information between related objects. The analysis is used for scalar replacement of fields and synchronization removal, as well as for stack allocation of objects and fixedsized arrays. The results of the interprocedural analysis support the compiler in inlining decisions and allow actual parameters to be allocated on the...
Thomas Kotzmann, Hanspeter Mössenböck
Added 26 Jun 2010
Updated 26 Jun 2010
Type Conference
Year 2005
Where VEE
Authors Thomas Kotzmann, Hanspeter Mössenböck
Comments (0)