Run-Time Support for Optimizations Based on Escape Analysis

14 years 1 days ago
Run-Time Support for Optimizations Based on Escape Analysis
The JavaTM programming language does not allow the programmer to influence memory management. An object is usually allocated on the heap and deallocated by the garbage collector when it is not referenced any longer. Under certain conditions, the virtual machine can allocate objects on the stack or eliminate their allocation via scalar replacement. However, even if the dynamic compiler guarantees that the conditions are fulfilled, the optimizations require support by the run-time environment. We implemented a new escape analysis algorithm for Sun Microsystems’ Java HotSpotTM VM. The results are used to replace objects with scalar variables, to allocate objects on the stack, and to remove synchronization. This paper deals with the representation of optimized objects in the debugging information and with reallocation and garbage collection support for a safe execution of optimized methods. Assignments to fields of parameters that can refer to both stack and heap objects are associat...
Thomas Kotzmann, Hanspeter Mössenböck
Added 02 Jun 2010
Updated 02 Jun 2010
Type Conference
Year 2007
Where CGO
Authors Thomas Kotzmann, Hanspeter Mössenböck
Comments (0)