Skip to main content

Segment Order Preserving and Generational Garbage Collection for Prolog

  • Conference paper
  • First Online:

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

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.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

  2. 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.

    Article  MathSciNet  Google Scholar 

  3. 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.

    Article  Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

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

    Article  MATH  Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. R. Jones and R. Lins. Garbage Collection: Algorithms for automatic memory management. John Wiley, 1996.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Article  Google Scholar 

  15. F. L. Morris. A time-and space-efficient garbage compaction algorithm. Communications of the ACM, 21(8):662–665, Aug. 1978.

    Article  MATH  Google Scholar 

  16. 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

  17. 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.

    Google Scholar 

  18. 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

  19. D. H. D. Warren. An abstract Prolog instruction set. Technical Report 309, SRI International, Menlo Park, U. S. A., Oct. 1983.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics