Compiler-Cooperative Memory Management in Java

  • Authors:
  • Vitaly V. Mikheev;Stanislav A. Fedoseev

  • Affiliations:
  • -;-

  • Venue:
  • PSI '02 Revised Papers from the 4th International Andrei Ershov Memorial Conference on Perspectives of System Informatics: Akademgorodok, Novosibirsk, Russia
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic memory management is a known performance bottleneck of Java applications. The problem arises out of the Java memory model in which all objects (non-primitive type instances) are allocated on the heap and reclaimed by garbage collector when they are no longer needed. This paper presents a simple and fast algorithm for inference of object lifetimes. Given the analysis results, a Java compiler is able to generate faster code, reducing the performance overhead. Besides, the obtained information may be then used by garbage collector to perform more effective resource clean-up. Thus, we consider this technique as "compile-time garbage collection" in Java.