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 language | English (US) |
---|---|
Pages (from-to) | 229-234 |
Number of pages | 6 |
Journal | Information Processing Letters |
Volume | 55 |
Issue number | 4 |
DOIs | |
State | Published - 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