ACM Home Page
Please provide us with feedback. Feedback
Compiler support for garbage collection in a statically typed language
Full text PdfPdf (1.03 MB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation table of contents
San Francisco, California, United States
Pages: 273 - 282  
Year of Publication: 1992
ISBN:0-89791-475-9
Also published in ...
Authors
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 38,   Citation Count: 24
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/143095.143140
What is a DOI?

ABSTRACT

We consider the problem of supporting compacting garbage collection in the presence of modern compiler optimizations. Since our collector may move any heap object, it must accurately locate, follow, and update all pointers and values derived from pointers. To assist the collector, we extend the compiler to emit tables describing live pointers, and values derived from pointers, at each program location where collection may occur. Significant results include identification of a number of problems posed by optimizations, solutions to those problems, a working compiler, and experimental data concerning table sizes, table compression, and time overhead of decoding tables during collection. While gc support can affect the code produced, our sample programs show no significant changes, the table sizes are a modest fraction of the size of the optimized code, and stack tracing is a small fraction of total gc time. Since the compiler enhancements are also modest, we conclude that the approach is practical.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
 
4
A.L. Hosking, "Main memory management for persistence," Oct. 1991. Position paper for OOPSLA '91 Workshop on Garbage Collection.
 
5
J. F. Bartlett,"Compacting garbage collection with ambiguous roots," Research Report 88/2, Western Research Laboratory, Digital Equipment Corporation, Feb. 1988.
 
6
J. F. Bartlett, "Mostly-copying garbage collection picks up generations and C++," Technical Note TN. 12, Western Research Laboratory, Digital Equipment Corporation, Palo Alto, CA 94301, Oct. 1989.
 
7
R.M. Stallman, GCC. Free Software Foundation, Cambridge, MA.
 
8
9
 
10
S. Harbison. Personal Communication, 1992.
 
11
 
12
A. L. Hosking, J. E. B. Moss, and D. Stefanovid, "A comparative performance evaluation of write barrier implementations." Submitted for publication, Feb. 1992.
 
13
H.-j. Boehm, "A proposal for GC-safe C compilation," Oct. 1991. Position paper for OOPSLA '91 Workshop on Garbage Collection.
14
 
15
 
16
P. Branquart and J. Lewi, "A scheme for storage allocation and garbage collection in Algol-68," in Algol 68 Implementation (J. E. L. Peck, ed.), North-Holland Publishing Company, 1971.
17
 
18
H.-J. Boehm, "Personal communication," July 1991.
 
19
A. Diwan, "Exception handling in Modula-3." Internal OOS Document, 1990.
 
20
L. W. Zurawski and R. E. Johnson, "Debugging optimized code with expected behavior," ACM Trans. Programming Languages and Systems, To appear.

CITED BY  24

Collaborative Colleagues:
Amer Diwan: colleagues
Eliot Moss: colleagues
Richard Hudson: colleagues