Region inference for an object-oriented language

  • Authors:
  • Wei-Ngan Chin;Florin Craciun;Shengchao Qin;Martin Rinard

  • Affiliations:
  • Singapore-MIT Alliance and National University of Singapore;National University of Singapore;Singapore-MIT Alliance and National University of Singapore;Massachusetts Institute of Technology

  • Venue:
  • Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Region-based memory management offers several important potential advantages over garbage collection, including real-time performance, better data locality, and more efficient use of limited memory. Researchers have advocated the use of regions for functional, imperative, and object-oriented languages. Lexically scoped regions are now a core feature of the Real-Time Specification for Java (RTSJ)[5].Recent research in region-based programming for Java has focused on region checking, which requires manual effort to augment the program with region annotations. In this paper, we propose an automatic region inference system for a core subset of Java. To provide an inference method that is both precise and practical, we support classes and methods that are region-polymorphic, with region-polymorphic recursion for methods. One challenging aspect is to ensure region safety in the presence of features such as class subtyping, method overriding, and downcast operations. Our region inference rules can handle these object-oriented features safely without creating dangling references.