Uniqueness inference for compile-time object deallocation

13 years 6 months ago
Uniqueness inference for compile-time object deallocation
This paper presents an analysis and transformation for individual object reclamation in Java programs. First, we propose a uniqueness inference algorithm that identifies variables and object fields that hold unique references. The algorithm performs an intraprocedural analysis of each method, and then builds and solves a set of inter-procedural uniqueness dependencies to find the global solution. Second, our system uses the uniqueness information to automatically instrument programs with explicit deallocation of individual objects. A key feature of the transformation is its ability to deallocate entire heap structures, including recursive structures, when their root objects are freed. This is achieved by generating object destructors that recursively free all of the unique object fields. Our experiments show that the analysis is effective at reclaiming a large fraction of the objects at a low analysis cost. Categories and Subject Descriptors D.3.4 [Processors]: Compilers, Memory m...
Sigmund Cherem, Radu Rugina
Added 08 Jun 2010
Updated 08 Jun 2010
Type Conference
Year 2007
Where IWMM
Authors Sigmund Cherem, Radu Rugina
Comments (0)