Proceedings of the 2nd ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming 2000
DOI: 10.1145/351268.351296
|View full text |Cite
|
Sign up to set email alerts
|

Efficient memory management in a merged heap/stack prolog machine

Abstract: Traditional Prolog implementations are based on the stack/heap memory architecture: the stack holds local variables and control information, whereas the heap stores data objects which outlive procedure activations. A s t a c k frame can be deallocated when an activation ends while heap space can only be reclaimed on backtracking or by garbage collection. Conventional garbage collection methods may yield poor performance. In this paper, I present a n o vel memory management approach used in the implementation o… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2001
2001
2007
2007

Publication Types

Select...
4
1

Relationship

0
5

Authors

Journals

citations
Cited by 8 publications
(2 citation statements)
references
References 14 publications
0
2
0
Order By: Relevance
“…Those differences are mainly optimisations which are possible in the system of Touati and Hama because of the fixed generational policy. Chronological garbage collection, described in (Li 2000), is a generational garbage collection algorithm used in the implementation of the Logic Virtual Machine (LVM). Just like the WAM (Warren 1983;Aït-Kaci 1990), the LVM is an execution model that can be used as a basis for Prolog implementations.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Those differences are mainly optimisations which are possible in the system of Touati and Hama because of the fixed generational policy. Chronological garbage collection, described in (Li 2000), is a generational garbage collection algorithm used in the implementation of the Logic Virtual Machine (LVM). Just like the WAM (Warren 1983;Aït-Kaci 1990), the LVM is an execution model that can be used as a basis for Prolog implementations.…”
Section: Related Workmentioning
confidence: 99%
“…mqueens was also used in Demoen et al (2002). The other benchmarks are taken from (Li 2000). They are classical benchmarks, but have extra parameters to increase the size of the benchmark.…”
Section: Introductionmentioning
confidence: 99%