Technical Program
  Invited Speakers
  Technical Papers
  Practitioner Reports
Educators' Symposium
Doctoral Symposium
Student Research Comp.
Turing Lecture
Social Events
Week at a Glance
Final Program (1.5M .pdf)

Find in Program


view, help

"Finding Your Cronies: Static Analysis for Dynamic Object Colocation"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
  > Technical Program > Technical Papers > Java Technologies

 : Wednesday

Finding Your Cronies: Static Analysis for Dynamic Object Colocation

Meeting Rooms 1-3
Wednesday, 11:30, 30 minutes


Samuel Guyer, The University of Texas at Austin
Kathryn McKinley, The University of Texas at Austin

This paper introduces cooperative object colocation, an optimization to reduce copying costs in generational and other incremental garbage collectors by allocating connected objects together in the same space. Previous work indicates that connected objects die together, but generational copying collectors allocate new objects in a nursery regardless of the location of an older object that points to it. Cooperative colocation consists of (1) a flow insensitive static compiler analysis that finds potential colocation allocation sites; (2) a modified allocator which takes a colocation object as a parameter; and (3) a runtime test that allocates a new object together with its colocator. At runtime in a generational setting, the allocator places the object in the old space if the colocator resides in the old space, and otherwise allocates the new object in the nursery. Unlike pretenuring, colocation makes precise per object allocation decisions, and does not require lifetime analysis or allocation site homogeneity. Experimental results for SPEC Java Benchmarks using MMTK, a Java Memory Management Toolkit in JikesRVM, show colocation can reduce nursery collection work, improving the performance of two generational collectors by up to a factor of 2, and total performance by up to 10%.