A Reference-Counting Garbage Collection Algorithm for Cyclical Functional Programming

被引:0
作者
Trancon y Widemann, Baltasar [1 ]
机构
[1] Univ Bayreuth, D-95440 Bayreuth, Germany
来源
ISMM'08: PROCEEDINGS OF THE 2008 INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT | 2008年
关键词
memory management; garbage collection; reference counting; cycles; functional programming;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Reference-counting garbage collection is known to have problems with the collection of cyclically connected data. There are two historically significant styles of cycle-aware algorithms: The style of Brownbridge that maintains a subset of marked edges and the invariant that every cycle contains at least one marked edge, and the style of Martinez-Lins-Wachenchauzer (MLW) that involves local mark-and-scan procedures to detect cycles. The former is known to be difficult to design and implement correctly, and the latter to have pathological efficiency for a number of very typical Situations. We present a novel algorithm that combines both approaches to obtain reasonably efficient local mark-and-scan phases with a marking invariant that is rather cheap to maintain. We demonstrate that the assumptions of this algorithm about mutator activity patterns make it well-suited, but not limited, to a functional programming technique for cyclic data. We evaluate the approach in comparison with simple and more sophisticated MLW algorithms using a simple benchmark based oil that functional paradigm.
引用
收藏
页码:71 / 80
页数:10
相关论文
共 23 条
[1]  
BACON DF, 2004, OOPSLA 04, P50
[2]  
BACON DF, 2001, LECT NOTES COMPUTER, V2072
[3]   Return value placement and tail call optimization in high level languages [J].
Bigot, PA ;
Debray, S .
JOURNAL OF LOGIC PROGRAMMING, 1999, 38 (01) :1-29
[4]   USING CIRCULAR PROGRAMS TO ELIMINATE MULTIPLE TRAVERSALS OF DATA [J].
BIRD, RS .
ACTA INFORMATICA, 1984, 21 (03) :239-250
[5]  
BLACKBURN S, 2003, OOPSLA, P344
[6]  
BROWNBRIDGE DR, 1985, LECT NOTES COMPUTER, V201
[7]   REFERENCE COUNTING CAN MANAGE THE CIRCULAR ENVIRONMENTS OF MUTAL RECURSION [J].
FRIEDMAN, DP ;
WISE, DS .
INFORMATION PROCESSING LETTERS, 1979, 8 (01) :41-45
[8]  
Jones R. E., 1993, PARLE '93 Parallel Architectures and Languages Europe. 5th International PARLE Conference Proceedings, P712
[9]  
Larus J. R., 1989, THESIS U CALIFORNIA
[10]  
LEVANONI Y, 2001, OOPSLA 01, P367