Skip to main content

Incremental collection of mature objects

  • Incremental
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 637))

Abstract

We present a garbage collection algorithm that extends generational scavenging to collect large older generations (mature objects) non-disruptively. The algorithm's approach is to process bounded-size pieces of mature object space at each collection; the subtleties lie in guaranteeing that it eventually collects any and all garbage. The algorithm does not assume any special hardware or operating system support, e.g., for forwarding pointers or protection traps. The algorithm copies objects, so it naturally supports compaction and reclustering.

This project is supported by National Science Foundation Grant CCR-8658074 and by Digital Equipment Corporation and Apple Computer.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Andrew W. Appel, John R. Ellis, and Kai Li Realtime concurrent collection on stock multiprocessors. In Proceedings of the ACM SIGPLAN '88 Conference on Programming Language Design and Implementation (Atlanta, Georgia, June 1988), ACM SIGPLAN Not. 23,7 (July 1988), pp. 11–20.

    Google Scholar 

  2. H. G. Baker. List processing in real time on a serial computer. Communications of the ACM 21,4 (April 1978), 280–294.

    Article  Google Scholar 

  3. Peter B. Bishop. Computer Systems with a Very Large Address Space and Garbage Collection. PhD thesis, Massachusetts Institute of Technology, Cambridge, MA, May 1977.

    Google Scholar 

  4. Hans-J. Boehm, Alan J. Demers, and Scott Shenker. Mostly parallel garbage collection. In [OOPSLA, 1991], pp. 157–164.

    Google Scholar 

  5. C. J. Cheney. A nonrecursive list compacting algorithm. Communications of the ACM 13,11 (November 1970), 677–678.

    Article  Google Scholar 

  6. Amer Diwan, J. Eliot B. Moss, and Richard L. Hudson. Compiler support for garbage collection in a statically typed language. In Conference on Programming Language Design and Implementation (San Francisco, California, June 1992), SIGPLAN, ACM Press, pp. 273–282.

    Google Scholar 

  7. Robert R. Fenichel and Jerome C. Yochelson. A LISP garbage-collector for virtual-memory computer systems. Communications of the ACM 12,11 (November 1969), 611–612.

    Article  Google Scholar 

  8. Barry Hayes. Using key object opportunism to collect old objects. In [OOPSLA, 1991], pp. 33–46.

    Google Scholar 

  9. Antony L. Hosking, J. Eliot B. Moss, and Darko Stefanović. A comparative performance evaluation of write barrier implementations. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (Vancouver, Canada, October 1992). To appear.

    Google Scholar 

  10. Richard L. Hudson, J. Eliot B. Moss, Amer Diwan, and Christopher F. Weight A language-independent garbage collector toolkit COINS Technical Report 91–47, University of Massachusetts, Amherst September 1991. Submitted for publication.

    Google Scholar 

  11. Douglas W. Jones. An empirical comparison of priority-queue and event-set implementations. Communications of the ACM 29, 4 (April 1986), 300–311.

    Article  Google Scholar 

  12. Bernard Lang and Francis Dupont Incremental incrementally compacting garbage collection. SIGPLAN '87-Symposium on Interpreters and Interpretive Techniques (1987), 253–263.

    Google Scholar 

  13. Henry Lieberman and Carl Hewitt. A real-time garbage collection based on the lifetimes of objects. Communications of the ACM 26, 6 (June 1983), 419–429.

    Article  Google Scholar 

  14. David Moon. Garbage collection in a large Lisp system. In Proceedings of the ACM Symposium on Lisp and Functional Programming (Austin, TX, August 1984), pp. 235–246.

    Google Scholar 

  15. Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (Phoenix, Arizona, October 1991), ACM SIGPLAN Not. 26,11 (November 1991).

    Google Scholar 

  16. Daniel Dominic Sleator and Robert Endre Tarjan. Self-adjusting binary search trees. In Proceedings of the ACM SIGACT Symposium on Theory (Boston, Massachusetts, April 1983), pp. 235–245.

    Google Scholar 

  17. Daniel Dominic Sleator and Robert Endre Tarjan. Self-adjusting binary search frees. Journal of the ACM 32,3 (July 1985).

    Google Scholar 

  18. David Ungar. Generation scavenging: A non-disruptive high performance storage reclamation algorithm. In Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments (Pittsburgh, Pennsylvania, April 1984), ACM SIGPLAN Not. 19,5 (May 1984), pp. 157–167.

    Google Scholar 

  19. David Ungar and Frank Jackson. Tenuring policies for generation-based storage reclamation. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (San Diego, California, September 1988), ACM SIGPLAN Not. 23, 11 (November 1988), pp. 1–17.

    Google Scholar 

  20. Daniel Weinreb and David Moon. Lisp Machine Manual, third ed. Massachusetts Institute of Technology, 1981.

    Google Scholar 

  21. Jon L. White. Address/memory management for a gigantic Lisp environment or, GC considered harmful. In Proceedings of the ACM Symposium on Lisp and Functional Programming (Stanford, California, August 1980), ACM, pp. 119–127.

    Google Scholar 

  22. Paul R. Wilson, Michael S. Lam, and Thomas G. Moher. Effective “static-graph” reorganization to improve locality in garbage-collected systems. In Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation (Toronto, Canada, June 1991), ACM SIGPLAN Not. 26, 6 (June 1991), pp. 177–191.

    Google Scholar 

  23. Paul R. Wilson and Thomas G. Moher. Design of the Opportunistic Garbage Collector. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (New Orleans, Louisiana, October 1989), ACM SIGPLAN Not. 24, 10 (October 1989), pp. 23–35.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Yves Bekkers Jacques Cohen

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hudson, R.L., Moss, J.E.B. (1992). Incremental collection of mature objects. In: Bekkers, Y., Cohen, J. (eds) Memory Management. IWMM 1992. Lecture Notes in Computer Science, vol 637. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017203

Download citation

  • DOI: https://doi.org/10.1007/BFb0017203

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55940-5

  • Online ISBN: 978-3-540-47315-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics