Abstract
We treat two important issues in heap garbage collection for WAM-based Prolog systems. First we describe a new method for preserving the order of heap segments in a copying garbage collector. Second, we deal with methods for (multi-)generational garbage collection; in particular we show the importance of precise maintenance of generation lines and propose different and novel ways for its implementation. All the methods are experimentally evaluated.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
H. A ït-Kaci. Warren’s Abstract Machine: A Tutorial Reconstruction. The M I T Press, 1991. See also: http://www.isg.sfu.ca/~hak/documents/wam.html.
K. A. M. Ali and R. Karlsson. The Muse approach to OR-parallel Prolog. International Journal of Parallel Programming, 19(2):129–162, Apr. 1990.
K. Appleby, M. Carlsson, S. Haridi, and D. Sahlin. Garbage collection for Prolog based on WAM. Communications of the ACM, 31(6):719–741, June 1988.
Y. Bekkers, O. Ridoux, and L. Ungaro. Dynamic memory management for sequential logic programming languages. In Y. Bekkers and J. Cohen, editors, Proceedings of IWMM’92: International Workshop on Memory Management, number 637 in LNCS, pages 82–102. Springer-Verlag, Sept. 1992.
J. Bevemyr and T. Lindgren. A simple and efficient copying garbage collector for Prolog. In M. Hermenegildo and J. Penjam, editors, Proceedings of the Sixth International Symposium on Programming Language Implementation and Logic Programming, number 844 in LNCS, pages 88–101. Springer-Verlag, Sept. 1994.
H. Blockeel, L. Dehaspe, B. Demoen, G. Janssens, J. Ramon, and H. Vandecasteele. Executing query packs in ILP. In J. Cussens and A. Frisch, editors, Proceedings of the 10th International Conference on Inductive Logic Programming, number 1866 in LNAI, pages 60–77, Springer, July 2000.
C. J. Cheney. A nonrecursive list compacting algorithm. Communications of the ACM, 13(11):677–678, Nov. 1970.
Yoo C. Chung, Soo-Mook Moon, Kemal Ebcioglu, and Dan Sahlin. Reducing sweep time for a nearly empty heap. In Proceedings of the ACM SIGPLAN Symposium on Principles of Programming Languages, pages 378–389. ACMPress, Jan. 2000.
B. Demoen, G. Engels, and P. Tarau. Segment order preserving copying garbage collection for WAMb ased Prolog. In Proceedings of the 1996 ACM Symposium on Applied Computing, pages 380–386. ACMPress, Feb. 1996.
B. Demoen, P.-L. Nguyen. So many WAM variations, so little time. In J. Lloyd, editor, Proceedings of Computational Logic-CL2000, First International Conference, number 1861 in LNAI, pages 1240–1254, Springer, July 2000.
B. Demoen and K. Sagonas. CHAT is Θ(SLG-WAM). In H. Ganzinger, D. McAllester, and A. Voronkov, editors, Proceedings of the 6th International Conference on Logic for Programming and Automated Reasoning, number 1705 in LNAI, pages 337–357. Springer, Sept. 1999.
R. Jones and R. Lins. Garbage Collection: Algorithms for automatic memory management. John Wiley, 1996.
X. Li. Efficient memory management in a merged heap/stack Prolog machine. In Proceedings of the 2nd ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP’00), pages 245–256. ACMPress, Sept. 2000.
H. Lieberman and C. Hewitt. A real-time garbage collector based on the lifetimes of objects. Communications of the ACM, 26(8):419–429, June 1983.
F. L. Morris. A time-and space-efficient garbage compaction algorithm. Communications of the ACM, 21(8):662–665, Aug. 1978.
K. Sagonas and B. Demoen. From (multi-)generational to segment order preserving copying garbage collection for the WAM. K. U. Leuven CW report 303, October 2000. See http://www.cs.kuleuven.ac.be/publicaties/rapporten/cw/CW303.abs.html
H. Touati and T. Hama. A light-weight Prolog garbage collector. In Proceedings of the International Conference on Fifth Generation Computer Systems (FGCS’88), pages 922–930. OHMSHA Ltd. Tokyo and Springer-Verlag, Nov./Dec. 1988.
R. Vandeginste and B. Demoen. The implementation of a new segment preserving and/or (multi-)generational copying garbage collection for the WAMan d its approximation. K. U. Leuven CW report 319, July 2001. See also: http://www.cs.kuleuven.ac.be/publicaties/rapporten/cw/CW319.abs.html
D. H. D. Warren. An abstract Prolog instruction set. Technical Report 309, SRI International, Menlo Park, U. S. A., Oct. 1983.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Vandeginste, R., Sagonas, K., Demoen, B. (2002). Segment Order Preserving and Generational Garbage Collection for Prolog. In: Krishnamurthi, S., Ramakrishnan, C.R. (eds) Practical Aspects of Declarative Languages. PADL 2002. Lecture Notes in Computer Science, vol 2257. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45587-6_19
Download citation
DOI: https://doi.org/10.1007/3-540-45587-6_19
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43092-6
Online ISBN: 978-3-540-45587-5
eBook Packages: Springer Book Archive