| D. R. Brownbridge. Cyclic reference counting for combinator machines. In Conference on Functional programming languages and computer architecture, LNCS 201, pages 273--288, 1985. |
....general. They can be divided into three major categories: weak pointer algorithms, partial mark sweep algorithms, and static region inference. Weak pointer algorithms di erentiate cycle closing pointers from non cycleclosing pointers. The most famous weak pointer algorithm is that of Brownbridge [3]. A fatal error in the algorithm, the premature reclamation of objects, was corrected by Salkild [15] Pepels [12] then corrected the Brownbridge Salkild algorithm, which is not guaranteed to terminate, and proved it correct. However, Pepels algorithm is complicated, and its time complexity is ....
David R. Brownbridge. Cyclic reference counting for combinator machines. In Jean-Pierre Jouannaud, editor, Record of the 1985.
....reference counting have been proposed. All aim to reduce the number of reference count updates either by not counting all references [8, 1] or by statically finding redundant reference count updates [2] Cyclic data structures can be reclaimed using several techniques. These include weak pointers [5], partial mark sweep [6] and reference counting cyclic data structures instead of their components [3] Partial mark sweep algorithms require no manual administration, but the others do. This can cause problems since people are known to make mistakes, so they should be used with caution in safety ....
David R. Brownbridge. Cyclic reference counting for combinator machines. In Jean-Pierre Jouannaud, editor, Record of the
....positive reference count, yet al..l the objects in the cycle may be unreachable from the persistent root, and therefore be garbage. However, a number of extensions of the basic referencing counting algorithm to handle cyclic data have been proposed in the programming language community, including: Bro85, Bro84, PvEP88] More recent work in this area includes [Lin90, MWL90, JL91] In this paper, we consider a version of reference counting, proposed by Brownbridge [Bro85, Bro84] for functional programming languages, which handles self referential cycles of garbage. We present an algorithm, called ....
.... basic referencing counting algorithm to handle cyclic data have been proposed in the programming language community, including: Bro85, Bro84, PvEP88] More recent work in this area includes [Lin90, MWL90, JL91] In this paper, we consider a version of reference counting, proposed by Brownbridge [Bro85, Bro84] for functional programming languages, which handles self referential cycles of garbage. We present an algorithm, called Transactional Cyclic Reference Counting (TCRC) based on Brownbridge s algorithm, which is suitable for garbage collection in an OODB. The salient features of the TCRC ....
[Article contains additional citation context not shown here]
D.R. Brownbridge. Cyclic Reference Counting for Combinator Machines. In Jean-Pierre Jouannaud, editor, ACM Conf. on Functional Programming Languages and Computer Architecture, pages 273--288. Springer-Verlag, 1985.
....as necessary. LISP is the most famous example of a language that requires garbage collection, but it is also used in Cedar [Rov85] Simula [Arn72] Smalltalk [Kra83] SETL, SNOBOL and almost all functional languages 1 . Garbage collection may appear in relational database systems, file systems [Bro85, RT78] and 1 The exception to this rule is string reduction , in which values are not shared with pointers. In this instance it is always possible to know when an object may be recycled. When objects are shared by reference, however, allowing the programmer to specify when objects may be ....
....needed; this can be used to break cycles and reduce the size of the FOSTable, increasing the yield of a given garbage collection. This is not a common activity, but in certain situations it is very important. 20 2. 13 Collection of cyclic structures with reference counts in a combinator machine [Bro85] Combinator graph reduction [Tur79] generates a large amount of garbage in very predictable ways. Only a few primitives can copy nodes in a graph, and only one can create a cyclic reference where none existed before. Brownbridge proposes a reference counting technique that also reclaims circular ....
D. R. Brownbridge. Cyclic reference counting for combinator machines. In Functional Programming Languages and Computer Architecture, pages 273--288, 1985.
.... Review and tutorial information on data flow analysis and optimizations are widely available [AC72, Ken81, Hec77, ASU86] The literature on garbage collection has been summarized by Cohen [Coh81] and Nicolau [CN83] though there has been a great deal of recent work [Ung84, BW88, LH83, Rov85, Bro85, Hug85, SCN84, Moo84] 2.1 Garbage collection Garbage collection is an implementation technique for automatically recovering unused memory and reusing it. Its principal advantage is that it is automatic; the programmer does not need to write code to re use memory. In a local sense this ....
....of ordinary code. 5. Many objects can become unreachable in a single operation; when this happens it can take some time to update all of the reference counts. These problems can be mitigated in several ways. Circular graphs can be collected with the use of an additional reference count [Bro85] or restricting the structure of the graphs produced [FW79] The use of hash links [Bob75] to store reference counts [DB76] makes possible the trick of not storing any count for the common (reference count equal to one) case and can also handle larger reference counts. References from ....
D. R. Brownbridge. Cyclic reference counting for combinator machines. In Functional Programming Languages and Computer Architecture, pages 273--288, 1985.
....positive reference count, yet al..l the objects in the cycle may be unreachable from the persistent root, and therefore be garbage. However, a number of extensions of the basic referencing counting algorithm to handle cyclic data have been proposed in the programming language community, including: Bro85, Bro84, PvEP88] More recent work in this area includes [Lin90, MWL90, JL91] In this paper, we consider a version of reference counting, proposed by Brownbridge [Bro85, Bro84] for functional programming languages, which handles self referential cycles of garbage. We present an algorithm, called ....
.... basic referencing counting algorithm to handle cyclic data have been proposed in the programming language community, including: Bro85, Bro84, PvEP88] More recent work in this area includes [Lin90, MWL90, JL91] In this paper, we consider a version of reference counting, proposed by Brownbridge [Bro85, Bro84] for functional programming languages, which handles self referential cycles of garbage. We present an algorithm, called Transactional Cyclic Reference Counting (TCRC) based on Brownbridge s algorithm, which is suitable for garbage collection in an OODB. The salient features of the TCRC ....
[Article contains additional citation context not shown here]
D.R. Brownbridge. Cyclic Reference Counting for Combinator Machines. In JeanPierre Jouannaud, editor, ACM Conf. on Functional Programming Languages and Computer Architecture, pages 273--288. Springer-Verlag, 1985.
....reference count of none of its cells is zero. This will happen if the mutator can generate cycles. Reference counting schemes do exist that attempt to reclaim cyclic garbage, but they are complex [Friedman and Wise, 1979] have significant computational overheads and lack generality [Bobrow, 1980; Brownbridge 1985]. Bobrow [1980] was interested in functional languages and Brownbridge [1985] was specifically concerned with combinator graph reduction machines. Hughes [1984] gives a scheme based on identifying strongly connected components, SCCs, of a graph. SCCs are those subgraphs which for any two of its ....
....can generate cycles. Reference counting schemes do exist that attempt to reclaim cyclic garbage, but they are complex [Friedman and Wise, 1979] have significant computational overheads and lack generality [Bobrow, 1980; Brownbridge 1985] Bobrow [1980] was interested in functional languages and Brownbridge [1985] was specifically concerned with combinator graph reduction machines. Hughes [1984] gives a scheme based on identifying strongly connected components, SCCs, of a graph. SCCs are those subgraphs which for any two of its vertices, c and d, there is a path from c to d and a path from d to c. Such ....
[Article contains additional citation context not shown here]
Brownbridge DR (1985) Cyclic reference counting for combinator machines, in Functional Programming Languages and Computer Architecture, Lecture Notes in Computer Science 201, Springer-Verlag, 273-88.
....computation graph but each of its cells will have a nonzero reference count. Some reference counting schemes do exist that attempt to reclaim cyclic garbage, but they are tedious, complex [Friedman and Wise, 1979] lack generality [Bobrow, 1980] and have significant computational overhead 49 [Brownbridge, 1985; Hughes, 1985; Rudalics, 1986; Watson, 1986] The problem can be overcome by requiring that the programmer explicitly break cycles of references or, more typically, by supplementing reference counting with second collector that identifies garbage indirectly [Goldberg and Robson, 1983] Collectors ....
Brownbridge DR (1985) Cyclic reference counting for combinator machines, in Functional Programming Languages and Computer Architecture, LNCS 201, Springer-Verlag, 273-288.
....context of implementing Lisp and functional languages on uniprocessors [11; 3; 16] Language independent algorithms based on Brownbridge s notion of partitioning the set of pointers into strong and weak (cycle closing) pointers have also been proposed. However these have either been incorrect [4], non terminating in pathological cases [29] or extremely expensive to implement [26; 33] A more promising scheme for uni processors has been developed and substantially improved by Lins and his colleagues [23; 19] A drawback of Lins algorithm is that it is not concurrent. In order to collect ....
David R. Brownbridge. Cyclic reference counting for combinator machines. In J.-P. Jouannaud, editor, Record of the 1985 Conference on Functional Programming and Computer Architecture, Berlin, 1985. Springer-Verlag.
....11 mark and scan collector to aide in the garbage collection process. The auxiliary collector is invoked infrequently, as a supplement to the reference counting collector. If the system being used is able to detect the creation of a circular reference, as the combinator machine used by Brownbridge [7] is, separate reference counts can be used for cyclic and noncyclic references. These reference counts can be used to reclaim cyclic structures by using an algorithm similar to Bobrow s [6] to determine when the structure is no longer referenced externally. In some cases, a special feature of the ....
D. R. Brownbridge. Cyclic reference counting for combinator machines. In Functional Programming Languages and Computer Architecture, pages 273-- 288, 1985.
No context found.
D. R. Brownbridge. Cyclic reference counting for combinator machines. In Conference on Functional programming languages and computer architecture, LNCS 201, pages 273--288, 1985.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC