Abstract
In recent years an increasing effort to develop garbage collectors for real-time applications has been undertaken by the Java community. Currently it seems appropriate to evaluate the effort required to integrate such a facility into Ada.
This paper presents an ongoing project to accomplish this goal by modifying the GNAT compiler to incorporate support for precise garbage collection. The approach taken can be immediately applied to current Ada 95 code, and allows coexistence of explicit and implicit deallocation. The text describes the extra code generated by a modified version of the front end and the corresponding run-time support for a mark-and-sweep collector.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
AdaCore. GNAT Academic Program (2007), http://www.adacore.com/home/academia
Bacon, D.F., Cheng, P., Rajan, V.T.: The Metronome: A simpler approach to garbage collection in real-time systems. In: Meersman, R., Tari, Z. (eds.) On The Move to Meaningful Internet Systems 2003: OTM 2003 Workshops. LNCS, vol. 2889, pp. 466–478. Springer, Heidelberg (2003)
Bacon, D.F., Rajan, V.T.: Concurrent cycle collection in reference counted systems. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 207–235. Springer, Heidelberg (2001)
Bartlett, J.F.: Compacting garbage collection with ambiguous roots. Research Report 88/2, Western Research Laboratory, Digital Equipment Corporation (1988)
Boehm, H.-J., Demers, A.J., Shenker, S.: Mostly parallel garbage collection. In: PLDI ’91: Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation, pp. 157–164. ACM, New York (1991)
Boehm, H.-J.: Space efficient conservative garbage collection (with retrospective). In: McKinley, K.S. (ed.) Best of PLDI, pp. 490–501. ACM, New York (1993)
Boehm, H.-J., Weiser, M.: Garbage collection in an uncooperative environment. Software: Practice and Experiencie 18(9), 807–820 (1988)
Bollella, G., Brosgol, B., Furr, S., Hardin, D., Dibble, P., Gosling, J., Turnbull, M.: The Real-Time Specification for Java. Addison-Wesley, London (2000)
Collins, G.E.: A method for overlapping and erasure of lists. Communications of the ACM 3(12), 655–657 (1960)
TimeSys Corp. RTSJ reference implementation. http://www.timesys.com/java/
Ellis, J.R., Detlefs, D.: Safe, efficient garbage collection for C++. In: John, R. (ed.) Proceedings of the 1994 USENIX C++ Conference, Cambridge, Massachusetts, pp. 143–178 (1994)
Intermetrics Inc. and the MITRE Corporation. Annotated Ada Reference Manual with Technical Corrigendum 1. Language Standard and Libraries. ISO/IEC 8652:1995(E). (2000) http://www.adaic.org/standards/95aarm/AARM.PDF
Jones, R., Lins, R.: Garbage Collection: Algorithms for Automated Dynamic Memory Management. Wiley and Sons, New York (1996)
McCarthy, J.L.: Recursive functions of symbolic expressions and their computation by machine, part I. Communications of the ACM 3(4), 184–195 (1960)
Schmidt, W.J., Nilsen, K.D.: Performance of a hardware-assisted real-time garbage collector. In: William, J. (ed.) Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems. ACM SIGPLAN Notices, vol. 29, pp. 76–85 (1994)
Siebert, F.: Hard real-time garbage-collection in the Jamaica virtual machine. In: RTCSA’99. Proceedings of the 6th International Workshop on Real-Time Computing and Applications Symposium, pp. 96–102. IEEE Computer Society Press, Los Alamitos (1999)
Siebert, F.: Constant-time root scanning for deterministic garbage collection. In: Wilhelm, R. (ed.) CC 2001 and ETAPS 2001. LNCS, vol. 2027, pp. 304–318. Springer, Heidelberg (2001)
Tofte, M., Talpin, J.-P.: Region-based memory management. Information and Computation 132(2), 109–176 (1997)
Wilson, P.R.: Uniprocessor garbage collection techniques. In: Bekkers, Y., Cohen, J. (eds.) Memory Management, International Workshop (IWMM 92). LNCS, vol. 637, pp. 1–42. Springer, Heidelberg (1992)
Zorn, B.G.: The measured cost of conservative garbage collection. Software: Practice and Experience 23(7), 733–756 (1993)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
García-Rodríguez, F., Miranda, J., Fortes Gálvez, J. (2007). Incorporating Precise Garbage Collection in an Ada Compiler. In: Abdennadher, N., Kordon, F. (eds) Reliable Software Technologies – Ada Europe 2007. Ada-Europe 2007. Lecture Notes in Computer Science, vol 4498. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73230-3_18
Download citation
DOI: https://doi.org/10.1007/978-3-540-73230-3_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73229-7
Online ISBN: 978-3-540-73230-3
eBook Packages: Computer ScienceComputer Science (R0)