Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/263698.263733acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free access

Ephemerons: a new finalization mechanism

Published: 09 October 1997 Publication History

Abstract

Finalization occurs when a garbage collector informs an application that an object is "almost collectable." It is used to help an application maintain its invariants. To make finalization more useful, this paper defines "almost collectable" in terms of a new class of objects, called ephemerons. Ephemerons are similar to weak pairs, but an object in an ephemeron's key field may be classed as "almost collectable" even if it is reachable from the epehemeron's value fields.

References

[1]
H. Abclson, N. I. Adams IV, D. H. Bartlcy, G. Brooks, R. IC Dybvig, D. P. Friedman, R. Halstead, C. Hanson, C. T. Haynes, E. Kohlbccker, D. Oxley, K. M. Pitman, G. J. Rozas, G. L. Steele JR., G. J. Sussman, and M. Wand. Revised(4) Report on the Algorithmic Language Scheme. ACM Lisp Pointers, IV(3), November 1991.
[2]
R. Atkinson, Alan Demers, Carl Hauscr, Christian Jacobi, Peter Kessler, and Mark Wciser. Experiences creating a portable Cedar. SIGPLAN Notices, 24(7):261-269, July 1989.
[3]
Hans-Juergcn Bochm and Mark Wciser. Garbage collection in an uncooperative environment. Software Practice and Experience, 18(9):807-820, 1988.
[4]
George E. Collins. A method for overlapping and erasure of lists. Communications of the A CM, 3(12):655-657, December 1960.
[5]
L. Peter Deutsch and Daniel G. Bobrow. An cfficient incremental automatic garbage collector. Communications of the ACM, I9(9):522-526, Scptcmbcr 1976.
[6]
R. Kent Dybvig, Carl Bruggeman, and David Eby. Guardians in a generation-based garbage collector. In Proceedings of SIGPLAN'93 Conference on Programming Languages Design and implementation, volume 28(6):207- 216 ofACM SIGPLAN Notices, Albuquerque, New Mexico, June 1993. ACM Press.
[7]
Robert R. Fenichel and Jerome C. Yochelson. A Lisp garbage collector for virtual memory computer systems. Communications of the ACM, 12(11):611-612, November 1969.
[8]
James Gosling, Bill Joy, and Guy Steele. The Java Language Spec~ication, Addison -Wesley, August, 1996.
[9]
Barry Hayes "Finalization in the Collector Interface" in Menwry Management, Proceedings of The International Workshop on Memory Management, 1992, St. Malo, France, September, 1992, Y. Bekkers and J. Cohen, editors, LNCS 637:277-298, Springer-~erlag.
[10]
Henry Lieberman and Carl E. Hewitt. A real-time garbage collector based on the lifetimes of objects. Communications of the ACM, 26(6):419-29, 1983. Also report TM-184, Laboratory for Computer Science, MIT, Cambridge, MA, July 1980 and AI Lab Memo 569, 1981.
[11]
ParePlace Systems. ObjectWorks/Smalltalk User's Guide, Release 4. ParcPlace Systems, Inc, Mountain View, CA, 1990.
[12]
Jonathan A. Rees, Norman I. Adams, and James R. Mccchan. The T Manual. Technical report,. Yale University, January 1984.
[13]
Paul Rovncn On adding garbage coUection and runtimc types to a strongly-typed, statically-checked, concurrent language. Technical Report CSL-84-7, Xerox PARC, Palo Alto, CA, July 1985.
[14]
Paul R. Wilson. "Uniproccssor Garbage Collection Techniques" in Memory Management, Proceedings of The International Workshop on Memory Management, 1992, St. Malo, France, September, 1992, Y. Bckkcrs and $. Cohen, editors, LNCS 637:1-42, Springer-Verlag.
[15]
Xerox Corporation. Interlisp Reference Manual, Volume 1. Xerox Corporation, Palo Alto, CA, October 1985.

Cited By

View all
  • (2023)A High-Level Separation Logic for Heap Space under Garbage CollectionProceedings of the ACM on Programming Languages10.1145/35712187:POPL(718-747)Online publication date: 11-Jan-2023
  • (2023)Heap Fuzzing: Automatic Garbage Collection Testing with Expert-Guided Random Events2023 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST57152.2023.00019(107-116)Online publication date: Apr-2023
  • (2020)Retrofitting parallelism onto OCamlProceedings of the ACM on Programming Languages10.1145/34089954:ICFP(1-30)Online publication date: 3-Aug-2020
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '97: Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
October 1997
345 pages
ISBN:0897919084
DOI:10.1145/263698
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 October 1997

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. finzlization
  2. garbage collection
  3. resource management
  4. weak pointers

Qualifiers

  • Article

Conference

OOPSLA97
Sponsor:

Acceptance Rates

Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1,718
  • Downloads (Last 6 weeks)240
Reflects downloads up to 27 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)A High-Level Separation Logic for Heap Space under Garbage CollectionProceedings of the ACM on Programming Languages10.1145/35712187:POPL(718-747)Online publication date: 11-Jan-2023
  • (2023)Heap Fuzzing: Automatic Garbage Collection Testing with Expert-Guided Random Events2023 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST57152.2023.00019(107-116)Online publication date: Apr-2023
  • (2020)Retrofitting parallelism onto OCamlProceedings of the ACM on Programming Languages10.1145/34089954:ICFP(1-30)Online publication date: 3-Aug-2020
  • (2019)Rebuilding racket on chez scheme (experience report)Proceedings of the ACM on Programming Languages10.1145/33416423:ICFP(1-15)Online publication date: 26-Jul-2019
  • (2018)A look at the design of LuaCommunications of the ACM10.1145/318627761:11(114-123)Online publication date: 26-Oct-2018
  • (2015)A partial read barrier for efficient support of live object-oriented programmingACM SIGPLAN Notices10.1145/2887746.275418650:11(93-104)Online publication date: 14-Jun-2015
  • (2015)Linked Weak Reference ArraysProceedings of the International Workshop on Smalltalk Technologies10.1145/2811237.2811238(1-6)Online publication date: 15-Jul-2015
  • (2015)A partial read barrier for efficient support of live object-oriented programmingProceedings of the 2015 International Symposium on Memory Management10.1145/2754169.2754186(93-104)Online publication date: 14-Jun-2015
  • (2014)Asynchronous processing of formal documents in CoqElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.167.2167(2-3)Online publication date: 29-Oct-2014
  • (2013)Trustworthy proxiesProceedings of the 27th European conference on Object-Oriented Programming10.1007/978-3-642-39038-8_7(154-178)Online publication date: 1-Jul-2013
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media