Static analysis for optimizing reference counting

Young Park, Benjamin Goldberg

Research output: Contribution to journalArticlepeer-review

Abstract

In reference counting schemes for automatically reclaiming storage, each time a reference to a heap-allocated object is created or destroyed, the reference count of the object needs to be updated. This may involve expensive inter-processor message exchanges in distributed environments. This overhead can be reduced by analyzing the lifetimes of references to avoid unnecessary updatings. We present a compile-time analysis for higher-order functional languages that determines whether the lifetime of a reference exceeds the lifetime of the environment in which the reference was created. Using this statically inferred information, a method for optimizing reference counting schemes is described. Our method can be applied to reference counting schemes in both uniprocessor and multiprocessor environments.

Original languageEnglish (US)
Pages (from-to)229-234
Number of pages6
JournalInformation Processing Letters
Volume55
Issue number4
DOIs
StatePublished - Aug 25 1995

Keywords

  • Distributed systems
  • Formal semantics
  • Functional programming
  • Garbage collection
  • Language processors
  • Programming languages
  • Reference count
  • Static analysis

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Signal Processing
  • Information Systems
  • Computer Science Applications

Fingerprint Dive into the research topics of 'Static analysis for optimizing reference counting'. Together they form a unique fingerprint.

Cite this